// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_UI_Xaml_Automation_Provider_H #define WINRT_Microsoft_UI_Xaml_Automation_Provider_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Microsoft.UI.Xaml.Automation.h" #include "winrt/impl/Microsoft.UI.Xaml.2.h" #include "winrt/impl/Microsoft.UI.Xaml.Automation.2.h" #include "winrt/impl/Microsoft.UI.Xaml.Automation.Peers.2.h" #include "winrt/impl/Microsoft.UI.Xaml.Automation.Provider.2.h" #include "winrt/impl/Microsoft.UI.Xaml.Automation.Text.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.UI.2.h" namespace winrt::impl { template auto consume_Microsoft_UI_Xaml_Automation_Provider_IAnnotationProvider< D>::AnnotationTypeId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AnnotationTypeId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AnnotationTypeId(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IAnnotationProvider< D>::AnnotationTypeName() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AnnotationTypeName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AnnotationTypeName(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IAnnotationProvider< D>::Author() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Author(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Author(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IAnnotationProvider< D>::DateTime() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DateTime(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DateTime(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IAnnotationProvider< D>::Target() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Target(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Target(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ICustomNavigationProvider< D>::NavigateCustom(winrt::Microsoft::UI::Xaml::Automation::Peers:: AutomationNavigationDirection const& direction) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NavigateCustom( static_cast(direction), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NavigateCustom( static_cast(direction), &result)); } return winrt::Windows::Foundation::IInspectable{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDockProvider< D>::DockPosition() const { winrt::Microsoft::UI::Xaml::Automation::DockPosition value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDockProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_DockPosition(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_DockPosition(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDockProvider:: SetDockPosition(winrt::Microsoft::UI::Xaml::Automation::DockPosition const& dockPosition) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDockProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->SetDockPosition(static_cast(dockPosition))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->SetDockPosition(static_cast(dockPosition))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDragProvider::IsGrabbed() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDragProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsGrabbed(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsGrabbed(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDragProvider< D>::DropEffect() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDragProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DropEffect(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DropEffect(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDragProvider< D>::DropEffects() const { uint32_t value_impl_size{}; void** value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDragProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DropEffects(&value_impl_size, &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DropEffects(&value_impl_size, &value)); } return com_array{value, value_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDragProvider< D>::GetGrabbedItems() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDragProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetGrabbedItems(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetGrabbedItems(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDropTargetProvider< D>::DropEffect() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDropTargetProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DropEffect(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DropEffect(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IDropTargetProvider< D>::DropEffects() const { uint32_t value_impl_size{}; void** value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IDropTargetProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DropEffects(&value_impl_size, &value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DropEffects(&value_impl_size, &value)); } return com_array{value, value_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IExpandCollapseProvider< D>::ExpandCollapseState() const { winrt::Microsoft::UI::Xaml::Automation::ExpandCollapseState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExpandCollapseState( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExpandCollapseState( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IExpandCollapseProvider< D>::Collapse() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Collapse()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Collapse()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IExpandCollapseProvider< D>::Expand() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Expand()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Expand()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridItemProvider< D>::Column() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Column(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Column(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridItemProvider< D>::ColumnSpan() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ColumnSpan(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ColumnSpan(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridItemProvider< D>::ContainingGrid() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ContainingGrid(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ContainingGrid(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridItemProvider::Row() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Row(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Row(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridItemProvider< D>::RowSpan() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RowSpan(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RowSpan(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridProvider< D>::ColumnCount() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ColumnCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ColumnCount(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridProvider::RowCount() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RowCount(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RowCount(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IGridProvider::GetItem( int32_t row, int32_t column) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IGridProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetItem(row, column, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetItem(row, column, &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IInvokeProvider::Invoke() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IInvokeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Invoke()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Invoke()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IItemContainerProvider:: FindItemByProperty( winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple const& startAfter, winrt::Microsoft::UI::Xaml::Automation::AutomationProperty const& automationProperty, winrt::Windows::Foundation::IInspectable const& value) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FindItemByProperty( *(void**)(&startAfter), *(void**)(&automationProperty), *(void**)(&value), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FindItemByProperty( *(void**)(&startAfter), *(void**)(&automationProperty), *(void**)(&value), &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IMultipleViewProvider< D>::CurrentView() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CurrentView(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CurrentView(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IMultipleViewProvider< D>::GetSupportedViews() const { uint32_t result_impl_size{}; int32_t* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetSupportedViews(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetSupportedViews(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IMultipleViewProvider< D>::GetViewName(int32_t viewId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetViewName(viewId, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetViewName(viewId, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IMultipleViewProvider< D>::SetCurrentView(int32_t viewId) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetCurrentView(viewId)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetCurrentView(viewId)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IObjectModelProvider< D>::GetUnderlyingObjectModel() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IObjectModelProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetUnderlyingObjectModel(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetUnderlyingObjectModel(&result)); } return winrt::Windows::Foundation::IInspectable{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::IsReadOnly() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsReadOnly(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsReadOnly(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::LargeChange() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_LargeChange(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LargeChange(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::Maximum() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Maximum(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Maximum(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::Minimum() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Minimum(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Minimum(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::SmallChange() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SmallChange(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SmallChange(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::Value() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Value(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Value(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IRangeValueProvider< D>::SetValue(double value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetValue(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetValue(value)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollItemProvider< D>::ScrollIntoView() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ScrollIntoView()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ScrollIntoView()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::HorizontallyScrollable() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_HorizontallyScrollable(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_HorizontallyScrollable(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::HorizontalScrollPercent() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_HorizontalScrollPercent(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_HorizontalScrollPercent(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::HorizontalViewSize() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_HorizontalViewSize(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_HorizontalViewSize(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::VerticallyScrollable() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_VerticallyScrollable(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_VerticallyScrollable(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::VerticalScrollPercent() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_VerticalScrollPercent(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_VerticalScrollPercent(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::VerticalViewSize() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_VerticalViewSize(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_VerticalViewSize(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider::Scroll( winrt::Microsoft::UI::Xaml::Automation::ScrollAmount const& horizontalAmount, winrt::Microsoft::UI::Xaml::Automation::ScrollAmount const& verticalAmount) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->Scroll(static_cast(horizontalAmount), static_cast(verticalAmount))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->Scroll(static_cast(horizontalAmount), static_cast(verticalAmount))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IScrollProvider< D>::SetScrollPercent(double horizontalPercent, double verticalPercent) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->SetScrollPercent(horizontalPercent, verticalPercent)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->SetScrollPercent(horizontalPercent, verticalPercent)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionItemProvider< D>::IsSelected() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsSelected(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsSelected(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionItemProvider< D>::SelectionContainer() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SelectionContainer(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SelectionContainer(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionItemProvider< D>::AddToSelection() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddToSelection()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddToSelection()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionItemProvider< D>::RemoveFromSelection() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RemoveFromSelection()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveFromSelection()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionItemProvider< D>::Select() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Select()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Select()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionProvider< D>::CanSelectMultiple() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CanSelectMultiple(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CanSelectMultiple(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionProvider< D>::IsSelectionRequired() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsSelectionRequired(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsSelectionRequired(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISelectionProvider< D>::GetSelection() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetSelection(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetSelection(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISpreadsheetItemProvider< D>::Formula() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Formula(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Formula(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISpreadsheetItemProvider< D>::GetAnnotationObjects() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetAnnotationObjects(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetAnnotationObjects(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISpreadsheetItemProvider< D>::GetAnnotationTypes() const { uint32_t result_impl_size{}; int32_t* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetAnnotationTypes(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetAnnotationTypes(&result_impl_size, &result)); } return com_array{ result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISpreadsheetProvider< D>::GetItemByName(param::hstring const& name) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ISpreadsheetProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetItemByName(*(void**)(&name), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetItemByName(*(void**)(&name), &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider< D>::ExtendedProperties() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ExtendedProperties(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExtendedProperties(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider< D>::FillColor() const { winrt::Windows::UI::Color value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FillColor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FillColor(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider< D>::FillPatternColor() const { winrt::Windows::UI::Color value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FillPatternColor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FillPatternColor(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider< D>::FillPatternStyle() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_FillPatternStyle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_FillPatternStyle(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider::Shape() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Shape(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Shape(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider::StyleId() const { int32_t value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_StyleId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StyleId(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IStylesProvider< D>::StyleName() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_StyleName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StyleName(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISynchronizedInputProvider< D>::Cancel() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Cancel()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Cancel()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ISynchronizedInputProvider< D>::StartListening(winrt::Microsoft::UI::Xaml::Automation:: SynchronizedInputType const& inputType) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->StartListening(static_cast(inputType))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->StartListening(static_cast(inputType))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITableItemProvider< D>::GetColumnHeaderItems() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetColumnHeaderItems(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetColumnHeaderItems(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITableItemProvider< D>::GetRowHeaderItems() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableItemProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetRowHeaderItems(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetRowHeaderItems(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITableProvider< D>::RowOrColumnMajor() const { winrt::Microsoft::UI::Xaml::Automation::RowOrColumnMajor value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RowOrColumnMajor( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RowOrColumnMajor( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITableProvider< D>::GetColumnHeaders() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetColumnHeaders(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetColumnHeaders(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITableProvider< D>::GetRowHeaders() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetRowHeaders(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetRowHeaders(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextChildProvider< D>::TextContainer() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextChildProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_TextContainer(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_TextContainer(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextChildProvider< D>::TextRange() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextChildProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_TextRange(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_TextRange(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextEditProvider< D>::GetActiveComposition() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextEditProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetActiveComposition(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetActiveComposition(&result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextEditProvider< D>::GetConversionTarget() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextEditProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetConversionTarget(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetConversionTarget(&result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider< D>::DocumentRange() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_DocumentRange(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DocumentRange(&value)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider< D>::SupportedTextSelection() const { winrt::Microsoft::UI::Xaml::Automation::SupportedTextSelection value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SupportedTextSelection( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SupportedTextSelection( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider< D>::GetSelection() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetSelection(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetSelection(&result_impl_size, &result)); } return com_array< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>{ result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider< D>::GetVisibleRanges() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetVisibleRanges(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetVisibleRanges(&result_impl_size, &result)); } return com_array< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>{ result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider:: RangeFromChild(winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple const& childElement) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->RangeFromChild(*(void**)(&childElement), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->RangeFromChild(*(void**)(&childElement), &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider< D>::RangeFromPoint(winrt::Windows::Foundation::Point const& screenLocation) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RangeFromPoint(impl::bind_in(screenLocation), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RangeFromPoint(impl::bind_in(screenLocation), &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider2< D>::RangeFromAnnotation(winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple const& annotationElement) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RangeFromAnnotation( *(void**)(&annotationElement), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RangeFromAnnotation( *(void**)(&annotationElement), &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextProvider2< D>::GetCaretRange(bool& isActive) const { void* returnValue{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetCaretRange(&isActive, &returnValue)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetCaretRange(&isActive, &returnValue)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ returnValue, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::Clone() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Clone(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Clone(&result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::Compare(winrt::Microsoft::UI::Xaml::Automation::Provider:: ITextRangeProvider const& textRangeProvider) const { bool result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->Compare(*(void**)(&textRangeProvider), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->Compare(*(void**)(&textRangeProvider), &result)); } return result; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider:: CompareEndpoints(winrt::Microsoft::UI::Xaml::Automation::Text:: TextPatternRangeEndpoint const& endpoint, winrt::Microsoft::UI::Xaml::Automation::Provider:: ITextRangeProvider const& textRangeProvider, winrt::Microsoft::UI::Xaml::Automation::Text:: TextPatternRangeEndpoint const& targetEndpoint) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CompareEndpoints( static_cast(endpoint), *(void**)(&textRangeProvider), static_cast(targetEndpoint), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CompareEndpoints( static_cast(endpoint), *(void**)(&textRangeProvider), static_cast(targetEndpoint), &result)); } return result; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider:: ExpandToEnclosingUnit( winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const& unit) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->ExpandToEnclosingUnit(static_cast(unit))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->ExpandToEnclosingUnit(static_cast(unit))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::FindAttribute(int32_t attributeId, winrt::Windows::Foundation::IInspectable const& value, bool backward) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FindAttribute(attributeId, *(void**)(&value), backward, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FindAttribute(attributeId, *(void**)(&value), backward, &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::FindText(param::hstring const& text, bool backward, bool ignoreCase) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FindText(*(void**)(&text), backward, ignoreCase, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FindText(*(void**)(&text), backward, ignoreCase, &result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::GetAttributeValue(int32_t attributeId) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetAttributeValue(attributeId, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetAttributeValue(attributeId, &result)); } return winrt::Windows::Foundation::IInspectable{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::GetBoundingRectangles(com_array& returnValue) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetBoundingRectangles( impl::put_size_abi(returnValue), put_abi(returnValue))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetBoundingRectangles( impl::put_size_abi(returnValue), put_abi(returnValue))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::GetEnclosingElement() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEnclosingElement(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEnclosingElement(&result)); } return winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::GetText(int32_t maxLength) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetText(maxLength, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetText(maxLength, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider::Move( winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const& unit, int32_t count) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->Move(static_cast(unit), count, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->Move(static_cast(unit), count, &result)); } return result; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider:: MoveEndpointByUnit( winrt::Microsoft::UI::Xaml::Automation::Text:: TextPatternRangeEndpoint const& endpoint, winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const& unit, int32_t count) const { int32_t result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->MoveEndpointByUnit( static_cast(endpoint), static_cast(unit), count, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->MoveEndpointByUnit( static_cast(endpoint), static_cast(unit), count, &result)); } return result; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::MoveEndpointByRange(winrt::Microsoft::UI::Xaml::Automation::Text:: TextPatternRangeEndpoint const& endpoint, winrt::Microsoft::UI::Xaml::Automation::Provider:: ITextRangeProvider const& textRangeProvider, winrt::Microsoft::UI::Xaml::Automation::Text:: TextPatternRangeEndpoint const& targetEndpoint) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->MoveEndpointByRange( static_cast(endpoint), *(void**)(&textRangeProvider), static_cast(targetEndpoint))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->MoveEndpointByRange( static_cast(endpoint), *(void**)(&textRangeProvider), static_cast(targetEndpoint))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::Select() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Select()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Select()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::AddToSelection() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddToSelection()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddToSelection()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::RemoveFromSelection() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RemoveFromSelection()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveFromSelection()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::ScrollIntoView(bool alignToTop) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ScrollIntoView(alignToTop)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ScrollIntoView(alignToTop)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider< D>::GetChildren() const { uint32_t result_impl_size{}; void** result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetChildren(&result_impl_size, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetChildren(&result_impl_size, &result)); } return com_array{result, result_impl_size, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITextRangeProvider2< D>::ShowContextMenu() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ShowContextMenu()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ShowContextMenu()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IToggleProvider< D>::ToggleState() const { winrt::Microsoft::UI::Xaml::Automation::ToggleState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IToggleProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_ToggleState(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_ToggleState(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IToggleProvider::Toggle() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IToggleProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Toggle()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Toggle()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider< D>::CanMove() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CanMove(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CanMove(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider< D>::CanResize() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CanResize(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CanResize(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider< D>::CanRotate() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CanRotate(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CanRotate(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider::Move( double x, double y) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Move(x, y)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Move(x, y)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider< D>::Resize(double width, double height) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Resize(width, height)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Resize(width, height)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider< D>::Rotate(double degrees) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Rotate(degrees)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Rotate(degrees)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2< D>::CanZoom() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CanZoom(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CanZoom(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2< D>::ZoomLevel() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ZoomLevel(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ZoomLevel(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2< D>::MaxZoom() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MaxZoom(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MaxZoom(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2< D>::MinZoom() const { double value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MinZoom(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MinZoom(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2::Zoom( double zoom) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Zoom(zoom)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Zoom(zoom)); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_ITransformProvider2< D>::ZoomByUnit(winrt::Microsoft::UI::Xaml::Automation::ZoomUnit const& zoomUnit) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ZoomByUnit(static_cast(zoomUnit))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ZoomByUnit(static_cast(zoomUnit))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IValueProvider< D>::IsReadOnly() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsReadOnly(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsReadOnly(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IValueProvider::Value() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Value(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Value(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IValueProvider::SetValue( param::hstring const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IValueProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetValue(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetValue(*(void**)(&value))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IVirtualizedItemProvider< D>::Realize() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Realize()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Realize()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider::IsModal() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsModal(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsModal(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::IsTopmost() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsTopmost(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsTopmost(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::Maximizable() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Maximizable(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Maximizable(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::Minimizable() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Minimizable(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Minimizable(&value)); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::InteractionState() const { winrt::Microsoft::UI::Xaml::Automation::WindowInteractionState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_InteractionState( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_InteractionState( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::VisualState() const { winrt::Microsoft::UI::Xaml::Automation::WindowVisualState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_VisualState(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_VisualState(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider::Close() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Close()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Close()); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider:: SetVisualState( winrt::Microsoft::UI::Xaml::Automation::WindowVisualState const& state) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetVisualState(static_cast(state))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetVisualState(static_cast(state))); } } template auto consume_Microsoft_UI_Xaml_Automation_Provider_IWindowProvider< D>::WaitForInputIdle(int32_t milliseconds) const { bool result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->WaitForInputIdle(milliseconds, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->WaitForInputIdle(milliseconds, &result)); } return result; } template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider> : produce_base { int32_t __stdcall get_AnnotationTypeId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AnnotationTypeId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AnnotationTypeName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AnnotationTypeName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Author(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Author()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DateTime(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DateTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Target(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Target()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ICustomNavigationProvider> : produce_base { int32_t __stdcall NavigateCustom(int32_t direction, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().NavigateCustom( *reinterpret_cast( &direction))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IDockProvider> { int32_t __stdcall get_DockPosition(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().DockPosition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetDockPosition(int32_t dockPosition) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetDockPosition( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::DockPosition const*>( &dockPosition)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IDragProvider> { int32_t __stdcall get_IsGrabbed(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGrabbed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DropEffect(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DropEffect()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DropEffects(uint32_t* __valueSize, void*** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); std::tie(*__valueSize, *value) = detach_abi(this->shim().DropEffects()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetGrabbedItems(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetGrabbedItems()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IDropTargetProvider> : produce_base { int32_t __stdcall get_DropEffect(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DropEffect()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DropEffects(uint32_t* __valueSize, void*** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); std::tie(*__valueSize, *value) = detach_abi(this->shim().DropEffects()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IExpandCollapseProvider> : produce_base { int32_t __stdcall get_ExpandCollapseState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Xaml::Automation::ExpandCollapseState>( this->shim().ExpandCollapseState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Collapse() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Collapse(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Expand() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Expand(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IGridItemProvider> { int32_t __stdcall get_Column(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Column()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ColumnSpan(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ColumnSpan()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContainingGrid(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().ContainingGrid()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Row(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Row()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RowSpan(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RowSpan()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IGridProvider> { int32_t __stdcall get_ColumnCount(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ColumnCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RowCount(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RowCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetItem(int32_t row, int32_t column, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetItem(row, column)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base {}; #endif template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IInvokeProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IInvokeProvider> { int32_t __stdcall Invoke() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Invoke(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IItemContainerProvider> : produce_base { int32_t __stdcall FindItemByProperty(void* startAfter, void* automationProperty, void* value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider:: IRawElementProviderSimple>(this->shim().FindItemByProperty( *reinterpret_cast(&startAfter), *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::AutomationProperty const*>( &automationProperty), *reinterpret_cast( &value))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider> : produce_base { int32_t __stdcall get_CurrentView(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CurrentView()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSupportedViews(uint32_t* __resultSize, int32_t** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetSupportedViews()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetViewName(int32_t viewId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetViewName(viewId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetCurrentView(int32_t viewId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetCurrentView(viewId); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IObjectModelProvider> : produce_base { int32_t __stdcall GetUnderlyingObjectModel(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetUnderlyingObjectModel()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider> : produce_base { int32_t __stdcall get_IsReadOnly(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsReadOnly()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LargeChange(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LargeChange()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Maximum(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Maximum()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Minimum(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Minimum()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SmallChange(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SmallChange()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Value(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Value()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetValue(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetValue(value); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollItemProvider> : produce_base { int32_t __stdcall ScrollIntoView() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScrollIntoView(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollProvider> { int32_t __stdcall get_HorizontallyScrollable(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HorizontallyScrollable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HorizontalScrollPercent(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HorizontalScrollPercent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HorizontalViewSize(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HorizontalViewSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VerticallyScrollable(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VerticallyScrollable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VerticalScrollPercent(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VerticalScrollPercent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VerticalViewSize(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VerticalViewSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Scroll(int32_t horizontalAmount, int32_t verticalAmount) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Scroll( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::ScrollAmount const*>( &horizontalAmount), *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::ScrollAmount const*>( &verticalAmount)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetScrollPercent(double horizontalPercent, double verticalPercent) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetScrollPercent(horizontalPercent, verticalPercent); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionItemProvider> : produce_base { int32_t __stdcall get_IsSelected(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsSelected()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SelectionContainer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().SelectionContainer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddToSelection() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddToSelection(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveFromSelection() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveFromSelection(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Select() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Select(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionProvider> : produce_base { int32_t __stdcall get_CanSelectMultiple(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CanSelectMultiple()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsSelectionRequired(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsSelectionRequired()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSelection(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetSelection()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ISpreadsheetItemProvider> : produce_base { int32_t __stdcall get_Formula(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Formula()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAnnotationObjects(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetAnnotationObjects()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAnnotationTypes(uint32_t* __resultSize, int32_t** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetAnnotationTypes()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ISpreadsheetProvider> : produce_base { int32_t __stdcall GetItemByName(void* name, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetItemByName(*reinterpret_cast(&name))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IStylesProvider> { int32_t __stdcall get_ExtendedProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExtendedProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FillColor( struct struct_Windows_UI_Color* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FillColor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FillPatternColor( struct struct_Windows_UI_Color* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FillPatternColor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FillPatternStyle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FillPatternStyle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Shape(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Shape()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StyleId(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StyleId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StyleName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StyleName()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall Cancel() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Cancel(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall StartListening(int32_t inputType) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartListening( *reinterpret_cast(&inputType)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITableItemProvider> : produce_base { int32_t __stdcall GetColumnHeaderItems(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetColumnHeaderItems()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetRowHeaderItems(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetRowHeaderItems()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITableProvider> { int32_t __stdcall get_RowOrColumnMajor(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().RowOrColumnMajor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetColumnHeaders(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetColumnHeaders()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetRowHeaders(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetRowHeaders()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextChildProvider> : produce_base { int32_t __stdcall get_TextContainer(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().TextContainer()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TextRange(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().TextRange()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextEditProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextEditProvider> { int32_t __stdcall GetActiveComposition(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().GetActiveComposition()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversionTarget(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().GetConversionTarget()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider> { int32_t __stdcall get_DocumentRange(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().DocumentRange()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SupportedTextSelection(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Xaml::Automation::SupportedTextSelection>( this->shim().SupportedTextSelection()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSelection(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetSelection()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetVisibleRanges(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetVisibleRanges()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RangeFromChild(void* childElement, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().RangeFromChild( *reinterpret_cast( &childElement))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RangeFromPoint( winrt::Windows::Foundation::Point screenLocation, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().RangeFromPoint( *reinterpret_cast( &screenLocation))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextProvider2> { int32_t __stdcall RangeFromAnnotation(void* annotationElement, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().RangeFromAnnotation( *reinterpret_cast( &annotationElement))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetCaretRange(bool* isActive, void** returnValue) noexcept final try { clear_abi(returnValue); typename D::abi_guard guard(this->shim()); *returnValue = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().GetCaretRange(*isActive)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider> : produce_base { int32_t __stdcall Clone(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().Clone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Compare(void* textRangeProvider, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Compare( *reinterpret_cast(&textRangeProvider))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CompareEndpoints(int32_t endpoint, void* textRangeProvider, int32_t targetEndpoint, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CompareEndpoints( *reinterpret_cast(&endpoint), *reinterpret_cast(&textRangeProvider), *reinterpret_cast( &targetEndpoint))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ExpandToEnclosingUnit(int32_t unit) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ExpandToEnclosingUnit( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const*>( &unit)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FindAttribute(int32_t attributeId, void* value, bool backward, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().FindAttribute( attributeId, *reinterpret_cast( &value), backward)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FindText(void* text, bool backward, bool ignoreCase, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider>( this->shim().FindText(*reinterpret_cast(&text), backward, ignoreCase)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAttributeValue(int32_t attributeId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetAttributeValue(attributeId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetBoundingRectangles(uint32_t* __returnValueSize, double** returnValue) noexcept final try { clear_abi(returnValue); typename D::abi_guard guard(this->shim()); this->shim().GetBoundingRectangles( detach_abi(__returnValueSize, returnValue)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEnclosingElement(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetEnclosingElement()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetText(int32_t maxLength, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetText(maxLength)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Move(int32_t unit, int32_t count, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Move( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const*>( &unit), count)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveEndpointByUnit(int32_t endpoint, int32_t unit, int32_t count, int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MoveEndpointByUnit( *reinterpret_cast(&endpoint), *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::Text::TextUnit const*>( &unit), count)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MoveEndpointByRange(int32_t endpoint, void* textRangeProvider, int32_t targetEndpoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MoveEndpointByRange( *reinterpret_cast(&endpoint), *reinterpret_cast(&textRangeProvider), *reinterpret_cast( &targetEndpoint)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Select() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Select(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddToSelection() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddToSelection(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveFromSelection() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveFromSelection(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ScrollIntoView(bool alignToTop) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ScrollIntoView(alignToTop); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetChildren(uint32_t* __resultSize, void*** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); std::tie(*__resultSize, *result) = detach_abi(this->shim().GetChildren()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider2> : produce_base { int32_t __stdcall ShowContextMenu() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ShowContextMenu(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IToggleProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IToggleProvider> { int32_t __stdcall get_ToggleState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().ToggleState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Toggle() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Toggle(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider> : produce_base { int32_t __stdcall get_CanMove(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CanMove()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CanResize(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CanResize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CanRotate(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CanRotate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Move(double x, double y) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Move(x, y); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Resize(double width, double height) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Resize(width, height); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Rotate(double degrees) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Rotate(degrees); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2> : produce_base { int32_t __stdcall get_CanZoom(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CanZoom()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ZoomLevel(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ZoomLevel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxZoom(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MaxZoom()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MinZoom(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MinZoom()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Zoom(double zoom) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Zoom(zoom); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ZoomByUnit(int32_t zoomUnit) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ZoomByUnit( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::ZoomUnit const*>( &zoomUnit)); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IValueProvider> { int32_t __stdcall get_IsReadOnly(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsReadOnly()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Value(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Value()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetValue(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetValue(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IVirtualizedItemProvider> : produce_base { int32_t __stdcall Realize() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Realize(); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider> : produce_base< D, winrt::Microsoft::UI::Xaml::Automation::Provider::IWindowProvider> { int32_t __stdcall get_IsModal(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsModal()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsTopmost(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsTopmost()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Maximizable(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Maximizable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Minimizable(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Minimizable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InteractionState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Xaml::Automation::WindowInteractionState>( this->shim().InteractionState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VisualState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().VisualState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Close() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Close(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetVisualState(int32_t state) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetVisualState( *reinterpret_cast< winrt::Microsoft::UI::Xaml::Automation::WindowVisualState const*>( &state)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall WaitForInputIdle(int32_t milliseconds, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().WaitForInputIdle(milliseconds)); return 0; } catch (...) { return to_hresult(); } }; } // namespace winrt::impl WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Automation::Provider {} namespace std { #ifndef WINRT_LEAN_AND_MEAN template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IAnnotationProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ICustomNavigationProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IDropTargetProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IExpandCollapseProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IItemContainerProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IMultipleViewProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IObjectModelProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IRangeValueProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IScrollItemProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionItemProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ISelectionProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ISpreadsheetItemProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ISpreadsheetProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITableItemProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextChildProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITextRangeProvider2> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::ITransformProvider2> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IVirtualizedItemProvider> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Xaml::Automation::Provider::IRawElementProviderSimple> : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } // namespace std #endif