// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.250303.1

#pragma once
#ifndef WINRT_Microsoft_UI_Content_H
#define WINRT_Microsoft_UI_Content_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.h"
#include "winrt/impl/Microsoft.UI.2.h"
#include "winrt/impl/Microsoft.UI.Composition.2.h"
#include "winrt/impl/Microsoft.UI.Dispatching.2.h"
#include "winrt/impl/Windows.Foundation.2.h"
#include "winrt/impl/Windows.Foundation.Collections.2.h"
#include "winrt/impl/Windows.Foundation.Numerics.2.h"
#include "winrt/impl/Windows.Graphics.2.h"
#include "winrt/impl/Microsoft.UI.Content.2.h"
namespace winrt::impl
{
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertLocalToScreen(winrt::Windows::Foundation::Point const& localPoint) const
    {
        winrt::Windows::Graphics::PointInt32 result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPoint(impl::bind_in(localPoint), put_abi(result)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPoint(impl::bind_in(localPoint), put_abi(result)));
        }
        return result;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertLocalToScreen(array_view<winrt::Windows::Foundation::Point const> localPoints) const
    {
        uint32_t result_impl_size{};
        struct struct_Windows_Graphics_PointInt32* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPoints(localPoints.size(), get_abi(localPoints), &result_impl_size, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPoints(localPoints.size(), get_abi(localPoints), &result_impl_size, &result));
        }
        return com_array<winrt::Windows::Graphics::PointInt32>{ result, result_impl_size, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertLocalToScreen(array_view<winrt::Windows::Foundation::Point const> localPoints, winrt::Microsoft::UI::Content::ContentCoordinateRoundingMode const& roundingMode) const
    {
        uint32_t result_impl_size{};
        struct struct_Windows_Graphics_PointInt32* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPointsAndRoundingMode(localPoints.size(), get_abi(localPoints), static_cast<int32_t>(roundingMode), &result_impl_size, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithPointsAndRoundingMode(localPoints.size(), get_abi(localPoints), static_cast<int32_t>(roundingMode), &result_impl_size, &result));
        }
        return com_array<winrt::Windows::Graphics::PointInt32>{ result, result_impl_size, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertLocalToScreen(winrt::Windows::Foundation::Rect const& localRect) const
    {
        winrt::Windows::Graphics::RectInt32 result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithRect(impl::bind_in(localRect), put_abi(result)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertLocalToScreenWithRect(impl::bind_in(localRect), put_abi(result)));
        }
        return result;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertScreenToLocal(winrt::Windows::Graphics::PointInt32 const& screenPoint) const
    {
        winrt::Windows::Foundation::Point result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithPoint(impl::bind_in(screenPoint), put_abi(result)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithPoint(impl::bind_in(screenPoint), put_abi(result)));
        }
        return result;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertScreenToLocal(array_view<winrt::Windows::Graphics::PointInt32 const> screenPoints) const
    {
        uint32_t result_impl_size{};
        winrt::Windows::Foundation::Point* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithPoints(screenPoints.size(), get_abi(screenPoints), &result_impl_size, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithPoints(screenPoints.size(), get_abi(screenPoints), &result_impl_size, &result));
        }
        return com_array<winrt::Windows::Foundation::Point>{ result, result_impl_size, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverter<D>::ConvertScreenToLocal(winrt::Windows::Graphics::RectInt32 const& screenRect) const
    {
        winrt::Windows::Foundation::Rect result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverter, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithRect(impl::bind_in(screenRect), put_abi(result)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverter>**)this;
            check_hresult(_winrt_abi_type->ConvertScreenToLocalWithRect(impl::bind_in(screenRect), put_abi(result)));
        }
        return result;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentCoordinateConverterStatics<D>::CreateForWindowId(winrt::Microsoft::UI::WindowId const& windowId) const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->CreateForWindowId(impl::bind_in(windowId), &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics>**)this;
            check_hresult(_winrt_abi_type->CreateForWindowId(impl::bind_in(windowId), &result));
        }
        return winrt::Microsoft::UI::Content::ContentCoordinateConverter{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentDeferral<D>::Complete() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentDeferral>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentDeferral, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentDeferral>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Complete());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentDeferral>**)this;
            check_hresult(_winrt_abi_type->Complete());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentEnvironmentSettingChangedEventArgs<D>::SettingName() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_SettingName(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_SettingName(&value));
        }
        return hstring{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentEnvironmentStateChangedEventArgs<D>::DidAppWindowIdChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidAppWindowIdChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidAppWindowIdChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentEnvironmentStateChangedEventArgs<D>::DidDisplayIdChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidDisplayIdChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidDisplayIdChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::ActualSize() const
    {
        winrt::Windows::Foundation::Numerics::float2 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::AppData() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_AppData(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_AppData(&value));
        }
        return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::AppData(winrt::Windows::Foundation::IInspectable const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_AppData(*(void**)(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->put_AppData(*(void**)(&value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::CoordinateConverter() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        return winrt::Microsoft::UI::Content::ContentCoordinateConverter{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::CustomProperties() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_CustomProperties(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_CustomProperties(&value));
        }
        return winrt::Windows::Foundation::Collections::IPropertySet{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::DispatcherQueue() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        return winrt::Microsoft::UI::Dispatching::DispatcherQueue{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::Environment() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_Environment(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_Environment(&value));
        }
        return winrt::Microsoft::UI::Content::ContentIslandEnvironment{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::Id() const
    {
        uint64_t value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_Id(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_Id(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsConnected() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsHitTestVisibleWhenTransparent() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsHitTestVisibleWhenTransparent(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsHitTestVisibleWhenTransparent(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsHitTestVisibleWhenTransparent(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_IsHitTestVisibleWhenTransparent(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->put_IsHitTestVisibleWhenTransparent(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsIslandEnabled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsIslandEnabled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsIslandEnabled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsIslandEnabled(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_IsIslandEnabled(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->put_IsIslandEnabled(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsIslandVisible() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsIslandVisible(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsIslandVisible(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsIslandVisible(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_IsIslandVisible(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->put_IsIslandVisible(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsSiteEnabled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::IsSiteVisible() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::LayoutDirection() const
    {
        winrt::Microsoft::UI::Content::ContentLayoutDirection value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::RasterizationScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::GetAutomationHostProvider() const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->GetAutomationHostProvider(&result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->GetAutomationHostProvider(&result));
        }
        return winrt::Windows::Foundation::IInspectable{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::GetStateChangeDeferral() const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->GetStateChangeDeferral(&result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->GetStateChangeDeferral(&result));
        }
        return winrt::Microsoft::UI::Content::ContentDeferral{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::RequestSize(winrt::Windows::Foundation::Numerics::float2 const& size) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->RequestSize(impl::bind_in(size)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->RequestSize(impl::bind_in(size)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::AutomationProviderRequested(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandAutomationProviderRequestedEventArgs> const& handler) const
    {
        winrt::event_token token{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->add_AutomationProviderRequested(*(void**)(&handler), put_abi(token)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->add_AutomationProviderRequested(*(void**)(&handler), put_abi(token)));
        }
        return token;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::AutomationProviderRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandAutomationProviderRequestedEventArgs> const& handler) const
    {
        return impl::make_event_revoker<D, AutomationProviderRequested_revoker>(this, AutomationProviderRequested(handler));
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::AutomationProviderRequested(winrt::event_token const& token) const noexcept
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            _winrt_abi_type->remove_AutomationProviderRequested(impl::bind_in(token));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            _winrt_abi_type->remove_AutomationProviderRequested(impl::bind_in(token));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::StateChanged(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs> const& handler) const
    {
        winrt::event_token token{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token)));
        }
        return token;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::StateChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs> const& handler) const
    {
        return impl::make_event_revoker<D, StateChanged_revoker>(this, StateChanged(handler));
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIsland<D>::StateChanged(winrt::event_token const& token) const noexcept
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIsland>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIsland, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)&_winrt_casted_result;
            _winrt_abi_type->remove_StateChanged(impl::bind_in(token));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIsland>**)this;
            _winrt_abi_type->remove_StateChanged(impl::bind_in(token));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandAutomationProviderRequestedEventArgs<D>::AutomationProvider() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_AutomationProvider(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_AutomationProvider(&value));
        }
        return winrt::Windows::Foundation::IInspectable{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandAutomationProviderRequestedEventArgs<D>::AutomationProvider(winrt::Windows::Foundation::IInspectable const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_AutomationProvider(*(void**)(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)this;
            check_hresult(_winrt_abi_type->put_AutomationProvider(*(void**)(&value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandAutomationProviderRequestedEventArgs<D>::Handled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_Handled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_Handled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandAutomationProviderRequestedEventArgs<D>::Handled(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_Handled(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>**)this;
            check_hresult(_winrt_abi_type->put_Handled(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::AppWindowId() const
    {
        winrt::Microsoft::UI::WindowId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::DisplayId() const
    {
        winrt::Microsoft::UI::DisplayId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::SettingChanged(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentSettingChangedEventArgs> const& handler) const
    {
        winrt::event_token token{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->add_SettingChanged(*(void**)(&handler), put_abi(token)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            check_hresult(_winrt_abi_type->add_SettingChanged(*(void**)(&handler), put_abi(token)));
        }
        return token;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::SettingChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentSettingChangedEventArgs> const& handler) const
    {
        return impl::make_event_revoker<D, SettingChanged_revoker>(this, SettingChanged(handler));
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::SettingChanged(winrt::event_token const& token) const noexcept
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            _winrt_abi_type->remove_SettingChanged(impl::bind_in(token));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            _winrt_abi_type->remove_SettingChanged(impl::bind_in(token));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::StateChanged(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentStateChangedEventArgs> const& handler) const
    {
        winrt::event_token token{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            check_hresult(_winrt_abi_type->add_StateChanged(*(void**)(&handler), put_abi(token)));
        }
        return token;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::StateChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentStateChangedEventArgs> const& handler) const
    {
        return impl::make_event_revoker<D, StateChanged_revoker>(this, StateChanged(handler));
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandEnvironment<D>::StateChanged(winrt::event_token const& token) const noexcept
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)&_winrt_casted_result;
            _winrt_abi_type->remove_StateChanged(impl::bind_in(token));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandEnvironment>**)this;
            _winrt_abi_type->remove_StateChanged(impl::bind_in(token));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStateChangedEventArgs<D>::DidActualSizeChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidActualSizeChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidActualSizeChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStateChangedEventArgs<D>::DidSiteEnabledChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidSiteEnabledChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidSiteEnabledChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStateChangedEventArgs<D>::DidSiteVisibleChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidSiteVisibleChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidSiteVisibleChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStateChangedEventArgs<D>::DidLayoutDirectionChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidLayoutDirectionChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidLayoutDirectionChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStateChangedEventArgs<D>::DidRasterizationScaleChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidRasterizationScaleChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidRasterizationScaleChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStatics<D>::Create(winrt::Microsoft::UI::Composition::Visual const& Root) const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Create(*(void**)(&Root), &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)this;
            check_hresult(_winrt_abi_type->Create(*(void**)(&Root), &result));
        }
        return winrt::Microsoft::UI::Content::ContentIsland{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStatics<D>::FindAllForCompositor(winrt::Microsoft::UI::Composition::Compositor const& compositor) const
    {
        uint32_t result_impl_size{};
        void** result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->FindAllForCompositor(*(void**)(&compositor), &result_impl_size, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)this;
            check_hresult(_winrt_abi_type->FindAllForCompositor(*(void**)(&compositor), &result_impl_size, &result));
        }
        return com_array<winrt::Microsoft::UI::Content::ContentIsland>{ result, result_impl_size, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStatics<D>::FindAllForCurrentThread() const
    {
        uint32_t result_impl_size{};
        void** result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->FindAllForCurrentThread(&result_impl_size, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)this;
            check_hresult(_winrt_abi_type->FindAllForCurrentThread(&result_impl_size, &result));
        }
        return com_array<winrt::Microsoft::UI::Content::ContentIsland>{ result, result_impl_size, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStatics<D>::GetByVisual(winrt::Microsoft::UI::Composition::Visual const& child) const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->GetByVisual(*(void**)(&child), &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)this;
            check_hresult(_winrt_abi_type->GetByVisual(*(void**)(&child), &result));
        }
        return winrt::Microsoft::UI::Content::ContentIsland{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentIslandStatics<D>::GetFromId(uint64_t id) const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentIslandStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentIslandStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->GetFromId(id, &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentIslandStatics>**)this;
            check_hresult(_winrt_abi_type->GetFromId(id, &result));
        }
        return winrt::Microsoft::UI::Content::ContentIsland{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ActualSize() const
    {
        winrt::Windows::Foundation::Numerics::float2 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ActualSize(winrt::Windows::Foundation::Numerics::float2 const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_ActualSize(impl::bind_in(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_ActualSize(impl::bind_in(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ClientSize() const
    {
        winrt::Windows::Graphics::SizeInt32 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ClientSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_ClientSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ClientSize(winrt::Windows::Graphics::SizeInt32 const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_ClientSize(impl::bind_in(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_ClientSize(impl::bind_in(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::CoordinateConverter() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        return winrt::Microsoft::UI::Content::ContentCoordinateConverter{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::DispatcherQueue() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        return winrt::Microsoft::UI::Dispatching::DispatcherQueue{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::Environment() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_Environment(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_Environment(&value));
        }
        return winrt::Microsoft::UI::Content::ContentSiteEnvironment{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::IsConnected() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::IsSiteEnabled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::IsSiteEnabled(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_IsSiteEnabled(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_IsSiteEnabled(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::IsSiteVisible() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::IsSiteVisible(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_IsSiteVisible(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_IsSiteVisible(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::LayoutDirection() const
    {
        winrt::Microsoft::UI::Content::ContentLayoutDirection value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::LayoutDirection(winrt::Microsoft::UI::Content::ContentLayoutDirection const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_LayoutDirection(static_cast<int32_t>(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_LayoutDirection(static_cast<int32_t>(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::OverrideScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::OverrideScale(float value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_OverrideScale(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_OverrideScale(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ParentScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ParentScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_ParentScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ParentScale(float value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_ParentScale(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_ParentScale(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::RasterizationScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::RequestedSize() const
    {
        winrt::Windows::Foundation::Numerics::float2 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_RequestedSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_RequestedSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ShouldApplyRasterizationScale() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ShouldApplyRasterizationScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_ShouldApplyRasterizationScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::ShouldApplyRasterizationScale(bool value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_ShouldApplyRasterizationScale(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->put_ShouldApplyRasterizationScale(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::View() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_View(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->get_View(&value));
        }
        return winrt::Microsoft::UI::Content::ContentSiteView{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::GetIslandStateChangeDeferral() const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->GetIslandStateChangeDeferral(&result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->GetIslandStateChangeDeferral(&result));
        }
        return winrt::Microsoft::UI::Content::ContentDeferral{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::RequestedStateChanged(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentSite, winrt::Microsoft::UI::Content::ContentSiteRequestedStateChangedEventArgs> const& handler) const
    {
        winrt::event_token token{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->add_RequestedStateChanged(*(void**)(&handler), put_abi(token)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            check_hresult(_winrt_abi_type->add_RequestedStateChanged(*(void**)(&handler), put_abi(token)));
        }
        return token;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::RequestedStateChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentSite, winrt::Microsoft::UI::Content::ContentSiteRequestedStateChangedEventArgs> const& handler) const
    {
        return impl::make_event_revoker<D, RequestedStateChanged_revoker>(this, RequestedStateChanged(handler));
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSite<D>::RequestedStateChanged(winrt::event_token const& token) const noexcept
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSite>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSite, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)&_winrt_casted_result;
            _winrt_abi_type->remove_RequestedStateChanged(impl::bind_in(token));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSite>**)this;
            _winrt_abi_type->remove_RequestedStateChanged(impl::bind_in(token));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteBridge<D>::DispatcherQueue() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        return winrt::Microsoft::UI::Dispatching::DispatcherQueue{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteBridge<D>::LayoutDirectionOverride() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_LayoutDirectionOverride(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_LayoutDirectionOverride(&value));
        }
        return winrt::Windows::Foundation::IReference<winrt::Microsoft::UI::Content::ContentLayoutDirection>{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteBridge<D>::LayoutDirectionOverride(winrt::Windows::Foundation::IReference<winrt::Microsoft::UI::Content::ContentLayoutDirection> const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_LayoutDirectionOverride(*(void**)(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)this;
            check_hresult(_winrt_abi_type->put_LayoutDirectionOverride(*(void**)(&value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteBridge<D>::OverrideScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteBridge<D>::OverrideScale(float value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_OverrideScale(value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteBridge>**)this;
            check_hresult(_winrt_abi_type->put_OverrideScale(value));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::AppWindowId() const
    {
        winrt::Microsoft::UI::WindowId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::AppWindowId(winrt::Microsoft::UI::WindowId const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_AppWindowId(impl::bind_in(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->put_AppWindowId(impl::bind_in(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::DisplayId() const
    {
        winrt::Microsoft::UI::DisplayId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::DisplayId(winrt::Microsoft::UI::DisplayId const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_DisplayId(impl::bind_in(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->put_DisplayId(impl::bind_in(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::View() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_View(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->get_View(&value));
        }
        return winrt::Microsoft::UI::Content::ContentSiteEnvironmentView{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironment<D>::NotifySettingChanged(param::hstring const& setting) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironment, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->NotifySettingChanged(*(void**)(&setting)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironment>**)this;
            check_hresult(_winrt_abi_type->NotifySettingChanged(*(void**)(&setting)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironmentView<D>::AppWindowId() const
    {
        winrt::Microsoft::UI::WindowId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>**)this;
            check_hresult(_winrt_abi_type->get_AppWindowId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteEnvironmentView<D>::DisplayId() const
    {
        winrt::Microsoft::UI::DisplayId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>**)this;
            check_hresult(_winrt_abi_type->get_DisplayId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteRequestedStateChangedEventArgs<D>::DidRequestedSizeChange() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DidRequestedSizeChange(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs>**)this;
            check_hresult(_winrt_abi_type->get_DidRequestedSizeChange(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::ActualSize() const
    {
        winrt::Windows::Foundation::Numerics::float2 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_ActualSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::ClientSize() const
    {
        winrt::Windows::Graphics::SizeInt32 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ClientSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_ClientSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::CoordinateConverter() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_CoordinateConverter(&value));
        }
        return winrt::Microsoft::UI::Content::ContentCoordinateConverter{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::DispatcherQueue() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_DispatcherQueue(&value));
        }
        return winrt::Microsoft::UI::Dispatching::DispatcherQueue{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::EnvironmentView() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_EnvironmentView(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_EnvironmentView(&value));
        }
        return winrt::Microsoft::UI::Content::ContentSiteEnvironmentView{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::IsConnected() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_IsConnected(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::IsSiteEnabled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteEnabled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::IsSiteVisible() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_IsSiteVisible(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::LayoutDirection() const
    {
        winrt::Microsoft::UI::Content::ContentLayoutDirection value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_LayoutDirection(reinterpret_cast<int32_t*>(&value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::OverrideScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_OverrideScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::ParentScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ParentScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_ParentScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::RasterizationScale() const
    {
        float value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_RasterizationScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::RequestedSize() const
    {
        winrt::Windows::Foundation::Numerics::float2 value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_RequestedSize(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_RequestedSize(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IContentSiteView<D>::ShouldApplyRasterizationScale() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IContentSiteView>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IContentSiteView, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ShouldApplyRasterizationScale(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IContentSiteView>**)this;
            check_hresult(_winrt_abi_type->get_ShouldApplyRasterizationScale(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopChildSiteBridge<D>::ResizePolicy() const
    {
        winrt::Microsoft::UI::Content::ContentSizePolicy value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_ResizePolicy(reinterpret_cast<int32_t*>(&value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_ResizePolicy(reinterpret_cast<int32_t*>(&value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopChildSiteBridge<D>::ResizePolicy(winrt::Microsoft::UI::Content::ContentSizePolicy const& value) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->put_ResizePolicy(static_cast<int32_t>(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)this;
            check_hresult(_winrt_abi_type->put_ResizePolicy(static_cast<int32_t>(value)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopChildSiteBridge<D>::SiteView() const
    {
        void* value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_SiteView(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_SiteView(&value));
        }
        return winrt::Microsoft::UI::Content::ContentSiteView{ value, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopChildSiteBridgeStatics<D>::Create(winrt::Microsoft::UI::Composition::Compositor const& compositor, winrt::Microsoft::UI::WindowId const& parentWindowId) const
    {
        void* result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), impl::bind_in(parentWindowId), &result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics>**)this;
            check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), impl::bind_in(parentWindowId), &result));
        }
        return winrt::Microsoft::UI::Content::DesktopChildSiteBridge{ result, take_ownership_from_abi };
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::IsEnabled() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsEnabled(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_IsEnabled(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::IsVisible() const
    {
        bool value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_IsVisible(&value));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_IsVisible(&value));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::WindowId() const
    {
        winrt::Microsoft::UI::WindowId value{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->get_WindowId(put_abi(value)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->get_WindowId(put_abi(value)));
        }
        return value;
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::Connect(winrt::Microsoft::UI::Content::ContentIsland const& content) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Connect(*(void**)(&content)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->Connect(*(void**)(&content)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::Disable() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Disable());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->Disable());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::Enable() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Enable());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->Enable());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::Hide() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Hide());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->Hide());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::MoveAndResize(winrt::Windows::Graphics::RectInt32 const& rect) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->MoveAndResize(impl::bind_in(rect)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->MoveAndResize(impl::bind_in(rect)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::MoveInZOrderAtBottom() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->MoveInZOrderAtBottom());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->MoveInZOrderAtBottom());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::MoveInZOrderAtTop() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->MoveInZOrderAtTop());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->MoveInZOrderAtTop());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::MoveInZOrderBelow(winrt::Microsoft::UI::WindowId const& windowId) const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->MoveInZOrderBelow(impl::bind_in(windowId)));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->MoveInZOrderBelow(impl::bind_in(windowId)));
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridge<D>::Show() const
    {
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridge, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->Show());
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridge>**)this;
            check_hresult(_winrt_abi_type->Show());
        }
    }
    template <typename D> auto consume_Microsoft_UI_Content_IDesktopSiteBridgeStatics<D>::IsSupported() const
    {
        bool result{};
        if constexpr (!std::is_same_v<D, winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics>)
        {
            winrt::hresult _winrt_cast_result_code;
            auto const _winrt_casted_result = impl::try_as_with_reason<winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics, D const*>(static_cast<D const*>(this), _winrt_cast_result_code);
            check_hresult(_winrt_cast_result_code);
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics>**)&_winrt_casted_result;
            check_hresult(_winrt_abi_type->IsSupported(&result));
        }
        else
        {
            auto const _winrt_abi_type = *(abi_t<winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics>**)this;
            check_hresult(_winrt_abi_type->IsSupported(&result));
        }
        return result;
    }
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter> : produce_base<D, winrt::Microsoft::UI::Content::IContentCoordinateConverter>
    {
        int32_t __stdcall ConvertLocalToScreenWithPoint(winrt::Windows::Foundation::Point localPoint, struct struct_Windows_Graphics_PointInt32* result) noexcept final try
        {
            zero_abi<winrt::Windows::Graphics::PointInt32>(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Windows::Graphics::PointInt32>(this->shim().ConvertLocalToScreen(*reinterpret_cast<winrt::Windows::Foundation::Point const*>(&localPoint)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertLocalToScreenWithPoints(uint32_t __localPointsSize, winrt::Windows::Foundation::Point* localPoints, uint32_t* __resultSize, struct struct_Windows_Graphics_PointInt32** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            std::tie(*__resultSize, *result) = detach_abi(this->shim().ConvertLocalToScreen(array_view<winrt::Windows::Foundation::Point const>(reinterpret_cast<winrt::Windows::Foundation::Point const *>(localPoints), reinterpret_cast<winrt::Windows::Foundation::Point const *>(localPoints) + __localPointsSize)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertLocalToScreenWithPointsAndRoundingMode(uint32_t __localPointsSize, winrt::Windows::Foundation::Point* localPoints, int32_t roundingMode, uint32_t* __resultSize, struct struct_Windows_Graphics_PointInt32** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            std::tie(*__resultSize, *result) = detach_abi(this->shim().ConvertLocalToScreen(array_view<winrt::Windows::Foundation::Point const>(reinterpret_cast<winrt::Windows::Foundation::Point const *>(localPoints), reinterpret_cast<winrt::Windows::Foundation::Point const *>(localPoints) + __localPointsSize), *reinterpret_cast<winrt::Microsoft::UI::Content::ContentCoordinateRoundingMode const*>(&roundingMode)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertLocalToScreenWithRect(winrt::Windows::Foundation::Rect localRect, struct struct_Windows_Graphics_RectInt32* result) noexcept final try
        {
            zero_abi<winrt::Windows::Graphics::RectInt32>(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Windows::Graphics::RectInt32>(this->shim().ConvertLocalToScreen(*reinterpret_cast<winrt::Windows::Foundation::Rect const*>(&localRect)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertScreenToLocalWithPoint(struct struct_Windows_Graphics_PointInt32 screenPoint, winrt::Windows::Foundation::Point* result) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Point>(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Windows::Foundation::Point>(this->shim().ConvertScreenToLocal(*reinterpret_cast<winrt::Windows::Graphics::PointInt32 const*>(&screenPoint)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertScreenToLocalWithPoints(uint32_t __screenPointsSize, struct struct_Windows_Graphics_PointInt32* screenPoints, uint32_t* __resultSize, winrt::Windows::Foundation::Point** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            std::tie(*__resultSize, *result) = detach_abi(this->shim().ConvertScreenToLocal(array_view<winrt::Windows::Graphics::PointInt32 const>(reinterpret_cast<winrt::Windows::Graphics::PointInt32 const *>(screenPoints), reinterpret_cast<winrt::Windows::Graphics::PointInt32 const *>(screenPoints) + __screenPointsSize)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall ConvertScreenToLocalWithRect(struct struct_Windows_Graphics_RectInt32 screenRect, winrt::Windows::Foundation::Rect* result) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Rect>(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Windows::Foundation::Rect>(this->shim().ConvertScreenToLocal(*reinterpret_cast<winrt::Windows::Graphics::RectInt32 const*>(&screenRect)));
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentCoordinateConverterFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentCoordinateConverterFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics> : produce_base<D, winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics>
    {
        int32_t __stdcall CreateForWindowId(struct struct_Microsoft_UI_WindowId windowId, void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentCoordinateConverter>(this->shim().CreateForWindowId(*reinterpret_cast<winrt::Microsoft::UI::WindowId const*>(&windowId)));
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentDeferral> : produce_base<D, winrt::Microsoft::UI::Content::IContentDeferral>
    {
        int32_t __stdcall Complete() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Complete();
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs> : produce_base<D, winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs>
    {
        int32_t __stdcall get_SettingName(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<hstring>(this->shim().SettingName());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs> : produce_base<D, winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs>
    {
        int32_t __stdcall get_DidAppWindowIdChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidAppWindowIdChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DidDisplayIdChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidDisplayIdChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIsland> : produce_base<D, winrt::Microsoft::UI::Content::IContentIsland>
    {
        int32_t __stdcall get_ActualSize(winrt::Windows::Foundation::Numerics::float2* value) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Numerics::float2>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Numerics::float2>(this->shim().ActualSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_AppData(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::IInspectable>(this->shim().AppData());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_AppData(void* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().AppData(*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_CoordinateConverter(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentCoordinateConverter>(this->shim().CoordinateConverter());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_CustomProperties(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Collections::IPropertySet>(this->shim().CustomProperties());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DispatcherQueue(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Dispatching::DispatcherQueue>(this->shim().DispatcherQueue());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_Environment(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentIslandEnvironment>(this->shim().Environment());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_Id(uint64_t* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<uint64_t>(this->shim().Id());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsConnected(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsConnected());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsHitTestVisibleWhenTransparent(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsHitTestVisibleWhenTransparent());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_IsHitTestVisibleWhenTransparent(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().IsHitTestVisibleWhenTransparent(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsIslandEnabled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsIslandEnabled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_IsIslandEnabled(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().IsIslandEnabled(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsIslandVisible(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsIslandVisible());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_IsIslandVisible(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().IsIslandVisible(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteEnabled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteEnabled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteVisible(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteVisible());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_LayoutDirection(int32_t* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentLayoutDirection>(this->shim().LayoutDirection());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_RasterizationScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().RasterizationScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall GetAutomationHostProvider(void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Windows::Foundation::IInspectable>(this->shim().GetAutomationHostProvider());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall GetStateChangeDeferral(void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentDeferral>(this->shim().GetStateChangeDeferral());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall RequestSize(winrt::Windows::Foundation::Numerics::float2 size) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().RequestSize(*reinterpret_cast<winrt::Windows::Foundation::Numerics::float2 const*>(&size));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall add_AutomationProviderRequested(void* handler, winrt::event_token* token) noexcept final try
        {
            zero_abi<winrt::event_token>(token);
            typename D::abi_guard guard(this->shim());
            *token = detach_from<winrt::event_token>(this->shim().AutomationProviderRequested(*reinterpret_cast<winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandAutomationProviderRequestedEventArgs> const*>(&handler)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall remove_AutomationProviderRequested(winrt::event_token token) noexcept final
        {
            typename D::abi_guard guard(this->shim());
            this->shim().AutomationProviderRequested(*reinterpret_cast<winrt::event_token const*>(&token));
            return 0;
        }
        int32_t __stdcall add_StateChanged(void* handler, winrt::event_token* token) noexcept final try
        {
            zero_abi<winrt::event_token>(token);
            typename D::abi_guard guard(this->shim());
            *token = detach_from<winrt::event_token>(this->shim().StateChanged(*reinterpret_cast<winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIsland, winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs> const*>(&handler)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall remove_StateChanged(winrt::event_token token) noexcept final
        {
            typename D::abi_guard guard(this->shim());
            this->shim().StateChanged(*reinterpret_cast<winrt::event_token const*>(&token));
            return 0;
        }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs>
    {
        int32_t __stdcall get_AutomationProvider(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::IInspectable>(this->shim().AutomationProvider());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_AutomationProvider(void* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().AutomationProvider(*reinterpret_cast<winrt::Windows::Foundation::IInspectable const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_Handled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().Handled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_Handled(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Handled(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandEnvironment>
    {
        int32_t __stdcall get_AppWindowId(struct struct_Microsoft_UI_WindowId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::WindowId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::WindowId>(this->shim().AppWindowId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DisplayId(struct struct_Microsoft_UI_DisplayId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::DisplayId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::DisplayId>(this->shim().DisplayId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall add_SettingChanged(void* handler, winrt::event_token* token) noexcept final try
        {
            zero_abi<winrt::event_token>(token);
            typename D::abi_guard guard(this->shim());
            *token = detach_from<winrt::event_token>(this->shim().SettingChanged(*reinterpret_cast<winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentSettingChangedEventArgs> const*>(&handler)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall remove_SettingChanged(winrt::event_token token) noexcept final
        {
            typename D::abi_guard guard(this->shim());
            this->shim().SettingChanged(*reinterpret_cast<winrt::event_token const*>(&token));
            return 0;
        }
        int32_t __stdcall add_StateChanged(void* handler, winrt::event_token* token) noexcept final try
        {
            zero_abi<winrt::event_token>(token);
            typename D::abi_guard guard(this->shim());
            *token = detach_from<winrt::event_token>(this->shim().StateChanged(*reinterpret_cast<winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentIslandEnvironment, winrt::Microsoft::UI::Content::ContentEnvironmentStateChangedEventArgs> const*>(&handler)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall remove_StateChanged(winrt::event_token token) noexcept final
        {
            typename D::abi_guard guard(this->shim());
            this->shim().StateChanged(*reinterpret_cast<winrt::event_token const*>(&token));
            return 0;
        }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandEnvironmentFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandEnvironmentFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs>
    {
        int32_t __stdcall get_DidActualSizeChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidActualSizeChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DidSiteEnabledChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidSiteEnabledChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DidSiteVisibleChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidSiteVisibleChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DidLayoutDirectionChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidLayoutDirectionChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DidRasterizationScaleChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidRasterizationScaleChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentIslandStatics> : produce_base<D, winrt::Microsoft::UI::Content::IContentIslandStatics>
    {
        int32_t __stdcall Create(void* Root, void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentIsland>(this->shim().Create(*reinterpret_cast<winrt::Microsoft::UI::Composition::Visual const*>(&Root)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall FindAllForCompositor(void* compositor, 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().FindAllForCompositor(*reinterpret_cast<winrt::Microsoft::UI::Composition::Compositor const*>(&compositor)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall FindAllForCurrentThread(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().FindAllForCurrentThread());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall GetByVisual(void* child, void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentIsland>(this->shim().GetByVisual(*reinterpret_cast<winrt::Microsoft::UI::Composition::Visual const*>(&child)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall GetFromId(uint64_t id, void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentIsland>(this->shim().GetFromId(id));
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSite> : produce_base<D, winrt::Microsoft::UI::Content::IContentSite>
    {
        int32_t __stdcall get_ActualSize(winrt::Windows::Foundation::Numerics::float2* value) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Numerics::float2>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Numerics::float2>(this->shim().ActualSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_ActualSize(winrt::Windows::Foundation::Numerics::float2 value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().ActualSize(*reinterpret_cast<winrt::Windows::Foundation::Numerics::float2 const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ClientSize(struct struct_Windows_Graphics_SizeInt32* value) noexcept final try
        {
            zero_abi<winrt::Windows::Graphics::SizeInt32>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Graphics::SizeInt32>(this->shim().ClientSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_ClientSize(struct struct_Windows_Graphics_SizeInt32 value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().ClientSize(*reinterpret_cast<winrt::Windows::Graphics::SizeInt32 const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_CoordinateConverter(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentCoordinateConverter>(this->shim().CoordinateConverter());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DispatcherQueue(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Dispatching::DispatcherQueue>(this->shim().DispatcherQueue());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_Environment(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSiteEnvironment>(this->shim().Environment());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsConnected(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsConnected());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteEnabled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteEnabled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_IsSiteEnabled(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().IsSiteEnabled(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteVisible(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteVisible());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_IsSiteVisible(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().IsSiteVisible(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_LayoutDirection(int32_t* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentLayoutDirection>(this->shim().LayoutDirection());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_LayoutDirection(int32_t value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().LayoutDirection(*reinterpret_cast<winrt::Microsoft::UI::Content::ContentLayoutDirection const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_OverrideScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().OverrideScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_OverrideScale(float value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().OverrideScale(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ParentScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().ParentScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_ParentScale(float value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().ParentScale(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_RasterizationScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().RasterizationScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_RequestedSize(winrt::Windows::Foundation::Numerics::float2* value) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Numerics::float2>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Numerics::float2>(this->shim().RequestedSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ShouldApplyRasterizationScale(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().ShouldApplyRasterizationScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_ShouldApplyRasterizationScale(bool value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().ShouldApplyRasterizationScale(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_View(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSiteView>(this->shim().View());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall GetIslandStateChangeDeferral(void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::ContentDeferral>(this->shim().GetIslandStateChangeDeferral());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall add_RequestedStateChanged(void* handler, winrt::event_token* token) noexcept final try
        {
            zero_abi<winrt::event_token>(token);
            typename D::abi_guard guard(this->shim());
            *token = detach_from<winrt::event_token>(this->shim().RequestedStateChanged(*reinterpret_cast<winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Content::ContentSite, winrt::Microsoft::UI::Content::ContentSiteRequestedStateChangedEventArgs> const*>(&handler)));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall remove_RequestedStateChanged(winrt::event_token token) noexcept final
        {
            typename D::abi_guard guard(this->shim());
            this->shim().RequestedStateChanged(*reinterpret_cast<winrt::event_token const*>(&token));
            return 0;
        }
    };
#endif
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteBridge> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteBridge>
    {
        int32_t __stdcall get_DispatcherQueue(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Dispatching::DispatcherQueue>(this->shim().DispatcherQueue());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_LayoutDirectionOverride(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::IReference<winrt::Microsoft::UI::Content::ContentLayoutDirection>>(this->shim().LayoutDirectionOverride());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_LayoutDirectionOverride(void* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().LayoutDirectionOverride(*reinterpret_cast<winrt::Windows::Foundation::IReference<winrt::Microsoft::UI::Content::ContentLayoutDirection> const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_OverrideScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().OverrideScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_OverrideScale(float value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().OverrideScale(value);
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteEnvironment>
    {
        int32_t __stdcall get_AppWindowId(struct struct_Microsoft_UI_WindowId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::WindowId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::WindowId>(this->shim().AppWindowId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_AppWindowId(struct struct_Microsoft_UI_WindowId value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().AppWindowId(*reinterpret_cast<winrt::Microsoft::UI::WindowId const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DisplayId(struct struct_Microsoft_UI_DisplayId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::DisplayId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::DisplayId>(this->shim().DisplayId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_DisplayId(struct struct_Microsoft_UI_DisplayId value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().DisplayId(*reinterpret_cast<winrt::Microsoft::UI::DisplayId const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_View(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSiteEnvironmentView>(this->shim().View());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall NotifySettingChanged(void* setting) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().NotifySettingChanged(*reinterpret_cast<hstring const*>(&setting));
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentView> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentView>
    {
        int32_t __stdcall get_AppWindowId(struct struct_Microsoft_UI_WindowId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::WindowId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::WindowId>(this->shim().AppWindowId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DisplayId(struct struct_Microsoft_UI_DisplayId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::DisplayId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::DisplayId>(this->shim().DisplayId());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentViewFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteEnvironmentViewFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs>
    {
        int32_t __stdcall get_DidRequestedSizeChange(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().DidRequestedSizeChange());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteView> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteView>
    {
        int32_t __stdcall get_ActualSize(winrt::Windows::Foundation::Numerics::float2* value) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Numerics::float2>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Numerics::float2>(this->shim().ActualSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ClientSize(struct struct_Windows_Graphics_SizeInt32* value) noexcept final try
        {
            zero_abi<winrt::Windows::Graphics::SizeInt32>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Graphics::SizeInt32>(this->shim().ClientSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_CoordinateConverter(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentCoordinateConverter>(this->shim().CoordinateConverter());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_DispatcherQueue(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Dispatching::DispatcherQueue>(this->shim().DispatcherQueue());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_EnvironmentView(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSiteEnvironmentView>(this->shim().EnvironmentView());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsConnected(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsConnected());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteEnabled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteEnabled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsSiteVisible(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsSiteVisible());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_LayoutDirection(int32_t* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentLayoutDirection>(this->shim().LayoutDirection());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_OverrideScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().OverrideScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ParentScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().ParentScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_RasterizationScale(float* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<float>(this->shim().RasterizationScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_RequestedSize(winrt::Windows::Foundation::Numerics::float2* value) noexcept final try
        {
            zero_abi<winrt::Windows::Foundation::Numerics::float2>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Windows::Foundation::Numerics::float2>(this->shim().RequestedSize());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_ShouldApplyRasterizationScale(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().ShouldApplyRasterizationScale());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IContentSiteViewFactory> : produce_base<D, winrt::Microsoft::UI::Content::IContentSiteViewFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridge> : produce_base<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridge>
    {
        int32_t __stdcall get_ResizePolicy(int32_t* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSizePolicy>(this->shim().ResizePolicy());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall put_ResizePolicy(int32_t value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().ResizePolicy(*reinterpret_cast<winrt::Microsoft::UI::Content::ContentSizePolicy const*>(&value));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_SiteView(void** value) noexcept final try
        {
            clear_abi(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::Content::ContentSiteView>(this->shim().SiteView());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics> : produce_base<D, winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics>
    {
        int32_t __stdcall Create(void* compositor, struct struct_Microsoft_UI_WindowId parentWindowId, void** result) noexcept final try
        {
            clear_abi(result);
            typename D::abi_guard guard(this->shim());
            *result = detach_from<winrt::Microsoft::UI::Content::DesktopChildSiteBridge>(this->shim().Create(*reinterpret_cast<winrt::Microsoft::UI::Composition::Compositor const*>(&compositor), *reinterpret_cast<winrt::Microsoft::UI::WindowId const*>(&parentWindowId)));
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge> : produce_base<D, winrt::Microsoft::UI::Content::IDesktopSiteBridge>
    {
        int32_t __stdcall get_IsEnabled(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsEnabled());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_IsVisible(bool* value) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *value = detach_from<bool>(this->shim().IsVisible());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall get_WindowId(struct struct_Microsoft_UI_WindowId* value) noexcept final try
        {
            zero_abi<winrt::Microsoft::UI::WindowId>(value);
            typename D::abi_guard guard(this->shim());
            *value = detach_from<winrt::Microsoft::UI::WindowId>(this->shim().WindowId());
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall Connect(void* content) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Connect(*reinterpret_cast<winrt::Microsoft::UI::Content::ContentIsland const*>(&content));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall Disable() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Disable();
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall Enable() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Enable();
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall Hide() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Hide();
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall MoveAndResize(struct struct_Windows_Graphics_RectInt32 rect) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().MoveAndResize(*reinterpret_cast<winrt::Windows::Graphics::RectInt32 const*>(&rect));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall MoveInZOrderAtBottom() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().MoveInZOrderAtBottom();
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall MoveInZOrderAtTop() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().MoveInZOrderAtTop();
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall MoveInZOrderBelow(struct struct_Microsoft_UI_WindowId windowId) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().MoveInZOrderBelow(*reinterpret_cast<winrt::Microsoft::UI::WindowId const*>(&windowId));
            return 0;
        }
        catch (...) { return to_hresult(); }
        int32_t __stdcall Show() noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            this->shim().Show();
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IDesktopSiteBridgeFactory> : produce_base<D, winrt::Microsoft::UI::Content::IDesktopSiteBridgeFactory>
    {
    };
#endif
#ifndef WINRT_LEAN_AND_MEAN
    template <typename D>
    struct produce<D, winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics> : produce_base<D, winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics>
    {
        int32_t __stdcall IsSupported(bool* result) noexcept final try
        {
            typename D::abi_guard guard(this->shim());
            *result = detach_from<bool>(this->shim().IsSupported());
            return 0;
        }
        catch (...) { return to_hresult(); }
    };
#endif
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Content
{
    inline auto ContentCoordinateConverter::CreateForWindowId(winrt::Microsoft::UI::WindowId const& windowId)
    {
        return impl::call_factory<ContentCoordinateConverter, IContentCoordinateConverterStatics>([&](IContentCoordinateConverterStatics const& f) { return f.CreateForWindowId(windowId); });
    }
    inline auto ContentIsland::Create(winrt::Microsoft::UI::Composition::Visual const& Root)
    {
        return impl::call_factory<ContentIsland, IContentIslandStatics>([&](IContentIslandStatics const& f) { return f.Create(Root); });
    }
    inline auto ContentIsland::FindAllForCompositor(winrt::Microsoft::UI::Composition::Compositor const& compositor)
    {
        return impl::call_factory<ContentIsland, IContentIslandStatics>([&](IContentIslandStatics const& f) { return f.FindAllForCompositor(compositor); });
    }
    inline auto ContentIsland::FindAllForCurrentThread()
    {
        return impl::call_factory_cast<com_array<winrt::Microsoft::UI::Content::ContentIsland>(*)(IContentIslandStatics const&), ContentIsland, IContentIslandStatics>([](IContentIslandStatics const& f) { return f.FindAllForCurrentThread(); });
    }
    inline auto ContentIsland::GetByVisual(winrt::Microsoft::UI::Composition::Visual const& child)
    {
        return impl::call_factory<ContentIsland, IContentIslandStatics>([&](IContentIslandStatics const& f) { return f.GetByVisual(child); });
    }
    inline auto ContentIsland::GetFromId(uint64_t id)
    {
        return impl::call_factory<ContentIsland, IContentIslandStatics>([&](IContentIslandStatics const& f) { return f.GetFromId(id); });
    }
    inline auto DesktopChildSiteBridge::Create(winrt::Microsoft::UI::Composition::Compositor const& compositor, winrt::Microsoft::UI::WindowId const& parentWindowId)
    {
        return impl::call_factory<DesktopChildSiteBridge, IDesktopChildSiteBridgeStatics>([&](IDesktopChildSiteBridgeStatics const& f) { return f.Create(compositor, parentWindowId); });
    }
    inline auto DesktopSiteBridge::IsSupported()
    {
        return impl::call_factory_cast<bool(*)(IDesktopSiteBridgeStatics const&), DesktopSiteBridge, IDesktopSiteBridgeStatics>([](IDesktopSiteBridgeStatics const& f) { return f.IsSupported(); });
    }
}
namespace std
{
#ifndef WINRT_LEAN_AND_MEAN
    template<> struct hash<winrt::Microsoft::UI::Content::IContentCoordinateConverter> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentCoordinateConverterFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentCoordinateConverterStatics> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentDeferral> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentEnvironmentSettingChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentEnvironmentStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIsland> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandAutomationProviderRequestedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandEnvironment> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandEnvironmentFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentIslandStatics> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSite> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteBridge> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteEnvironment> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteEnvironmentFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteEnvironmentView> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteEnvironmentViewFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteRequestedStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteView> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IContentSiteViewFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IDesktopChildSiteBridge> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IDesktopChildSiteBridgeStatics> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IDesktopSiteBridge> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IDesktopSiteBridgeFactory> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::IDesktopSiteBridgeStatics> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentCoordinateConverter> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentDeferral> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentEnvironmentSettingChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentEnvironmentStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentIsland> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentIslandAutomationProviderRequestedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentIslandEnvironment> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentSite> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentSiteEnvironment> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentSiteEnvironmentView> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentSiteRequestedStateChangedEventArgs> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::ContentSiteView> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::DesktopChildSiteBridge> : winrt::impl::hash_base {};
    template<> struct hash<winrt::Microsoft::UI::Content::DesktopSiteBridge> : winrt::impl::hash_base {};
#endif
#ifdef __cpp_lib_format
#endif
}
#endif
