﻿// C++/WinRT v1.0.180821.2

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#pragma once

WINRT_EXPORT namespace winrt::Windows::UI::Xaml {

struct DependencyObject;
struct DependencyProperty;
struct UIElement;

}

WINRT_EXPORT namespace winrt::Windows::UI::Xaml::Automation::Peers {

enum class AccessibilityView;
enum class AutomationHeadingLevel;
enum class AutomationLandmarkType;
enum class AutomationLiveSetting;

}

WINRT_EXPORT namespace winrt::Windows::UI::Xaml::Automation {

enum class AnnotationType : int32_t
{
    Unknown = 60000,
    SpellingError = 60001,
    GrammarError = 60002,
    Comment = 60003,
    FormulaError = 60004,
    TrackChanges = 60005,
    Header = 60006,
    Footer = 60007,
    Highlighted = 60008,
    Endnote = 60009,
    Footnote = 60010,
    InsertionChange = 60011,
    DeletionChange = 60012,
    MoveChange = 60013,
    FormatChange = 60014,
    UnsyncedChange = 60015,
    EditingLockedChange = 60016,
    ExternalChange = 60017,
    ConflictingChange = 60018,
    Author = 60019,
    AdvancedProofingIssue = 60020,
    DataValidationError = 60021,
    CircularReferenceError = 60022,
};

enum class AutomationActiveEnd : int32_t
{
    None = 0,
    Start = 1,
    End = 2,
};

enum class AutomationAnimationStyle : int32_t
{
    None = 0,
    LasVegasLights = 1,
    BlinkingBackground = 2,
    SparkleText = 3,
    MarchingBlackAnts = 4,
    MarchingRedAnts = 5,
    Shimmer = 6,
    Other = 7,
};

enum class AutomationBulletStyle : int32_t
{
    None = 0,
    HollowRoundBullet = 1,
    FilledRoundBullet = 2,
    HollowSquareBullet = 3,
    FilledSquareBullet = 4,
    DashBullet = 5,
    Other = 6,
};

enum class AutomationCaretBidiMode : int32_t
{
    LTR = 0,
    RTL = 1,
};

enum class AutomationCaretPosition : int32_t
{
    Unknown = 0,
    EndOfLine = 1,
    BeginningOfLine = 2,
};

enum class AutomationFlowDirections : int32_t
{
    Default = 0,
    RightToLeft = 1,
    BottomToTop = 2,
    Vertical = 3,
};

enum class AutomationOutlineStyles : int32_t
{
    None = 0,
    Outline = 1,
    Shadow = 2,
    Engraved = 3,
    Embossed = 4,
};

enum class AutomationStyleId : int32_t
{
    Heading1 = 70001,
    Heading2 = 70002,
    Heading3 = 70003,
    Heading4 = 70004,
    Heading5 = 70005,
    Heading6 = 70006,
    Heading7 = 70007,
    Heading8 = 70008,
    Heading9 = 70009,
    Title = 70010,
    Subtitle = 70011,
    Normal = 70012,
    Emphasis = 70013,
    Quote = 70014,
    BulletedList = 70015,
};

enum class AutomationTextDecorationLineStyle : int32_t
{
    None = 0,
    Single = 1,
    WordsOnly = 2,
    Double = 3,
    Dot = 4,
    Dash = 5,
    DashDot = 6,
    DashDotDot = 7,
    Wavy = 8,
    ThickSingle = 9,
    DoubleWavy = 10,
    ThickWavy = 11,
    LongDash = 12,
    ThickDash = 13,
    ThickDashDot = 14,
    ThickDashDotDot = 15,
    ThickDot = 16,
    ThickLongDash = 17,
    Other = 18,
};

enum class AutomationTextEditChangeType : int32_t
{
    None = 0,
    AutoCorrect = 1,
    Composition = 2,
    CompositionFinalized = 3,
};

enum class DockPosition : int32_t
{
    Top = 0,
    Left = 1,
    Bottom = 2,
    Right = 3,
    Fill = 4,
    None = 5,
};

enum class ExpandCollapseState : int32_t
{
    Collapsed = 0,
    Expanded = 1,
    PartiallyExpanded = 2,
    LeafNode = 3,
};

enum class RowOrColumnMajor : int32_t
{
    RowMajor = 0,
    ColumnMajor = 1,
    Indeterminate = 2,
};

enum class ScrollAmount : int32_t
{
    LargeDecrement = 0,
    SmallDecrement = 1,
    NoAmount = 2,
    LargeIncrement = 3,
    SmallIncrement = 4,
};

enum class SupportedTextSelection : int32_t
{
    None = 0,
    Single = 1,
    Multiple = 2,
};

enum class SynchronizedInputType : int32_t
{
    KeyUp = 1,
    KeyDown = 2,
    LeftMouseUp = 4,
    LeftMouseDown = 8,
    RightMouseUp = 16,
    RightMouseDown = 32,
};

enum class ToggleState : int32_t
{
    Off = 0,
    On = 1,
    Indeterminate = 2,
};

enum class WindowInteractionState : int32_t
{
    Running = 0,
    Closing = 1,
    ReadyForUserInteraction = 2,
    BlockedByModalWindow = 3,
    NotResponding = 4,
};

enum class WindowVisualState : int32_t
{
    Normal = 0,
    Maximized = 1,
    Minimized = 2,
};

enum class ZoomUnit : int32_t
{
    NoAmount = 0,
    LargeDecrement = 1,
    SmallDecrement = 2,
    LargeIncrement = 3,
    SmallIncrement = 4,
};

struct IAnnotationPatternIdentifiers;
struct IAnnotationPatternIdentifiersStatics;
struct IAutomationAnnotation;
struct IAutomationAnnotationFactory;
struct IAutomationAnnotationStatics;
struct IAutomationElementIdentifiers;
struct IAutomationElementIdentifiersStatics;
struct IAutomationElementIdentifiersStatics2;
struct IAutomationElementIdentifiersStatics3;
struct IAutomationElementIdentifiersStatics4;
struct IAutomationElementIdentifiersStatics5;
struct IAutomationElementIdentifiersStatics6;
struct IAutomationElementIdentifiersStatics7;
struct IAutomationElementIdentifiersStatics8;
struct IAutomationProperties;
struct IAutomationPropertiesStatics;
struct IAutomationPropertiesStatics2;
struct IAutomationPropertiesStatics3;
struct IAutomationPropertiesStatics4;
struct IAutomationPropertiesStatics5;
struct IAutomationPropertiesStatics6;
struct IAutomationPropertiesStatics7;
struct IAutomationPropertiesStatics8;
struct IAutomationProperty;
struct IDockPatternIdentifiers;
struct IDockPatternIdentifiersStatics;
struct IDragPatternIdentifiers;
struct IDragPatternIdentifiersStatics;
struct IDropTargetPatternIdentifiers;
struct IDropTargetPatternIdentifiersStatics;
struct IExpandCollapsePatternIdentifiers;
struct IExpandCollapsePatternIdentifiersStatics;
struct IGridItemPatternIdentifiers;
struct IGridItemPatternIdentifiersStatics;
struct IGridPatternIdentifiers;
struct IGridPatternIdentifiersStatics;
struct IMultipleViewPatternIdentifiers;
struct IMultipleViewPatternIdentifiersStatics;
struct IRangeValuePatternIdentifiers;
struct IRangeValuePatternIdentifiersStatics;
struct IScrollPatternIdentifiers;
struct IScrollPatternIdentifiersStatics;
struct ISelectionItemPatternIdentifiers;
struct ISelectionItemPatternIdentifiersStatics;
struct ISelectionPatternIdentifiers;
struct ISelectionPatternIdentifiersStatics;
struct ISpreadsheetItemPatternIdentifiers;
struct ISpreadsheetItemPatternIdentifiersStatics;
struct IStylesPatternIdentifiers;
struct IStylesPatternIdentifiersStatics;
struct ITableItemPatternIdentifiers;
struct ITableItemPatternIdentifiersStatics;
struct ITablePatternIdentifiers;
struct ITablePatternIdentifiersStatics;
struct ITogglePatternIdentifiers;
struct ITogglePatternIdentifiersStatics;
struct ITransformPattern2Identifiers;
struct ITransformPattern2IdentifiersStatics;
struct ITransformPatternIdentifiers;
struct ITransformPatternIdentifiersStatics;
struct IValuePatternIdentifiers;
struct IValuePatternIdentifiersStatics;
struct IWindowPatternIdentifiers;
struct IWindowPatternIdentifiersStatics;
struct AnnotationPatternIdentifiers;
struct AutomationAnnotation;
struct AutomationElementIdentifiers;
struct AutomationProperties;
struct AutomationProperty;
struct DockPatternIdentifiers;
struct DragPatternIdentifiers;
struct DropTargetPatternIdentifiers;
struct ExpandCollapsePatternIdentifiers;
struct GridItemPatternIdentifiers;
struct GridPatternIdentifiers;
struct MultipleViewPatternIdentifiers;
struct RangeValuePatternIdentifiers;
struct ScrollPatternIdentifiers;
struct SelectionItemPatternIdentifiers;
struct SelectionPatternIdentifiers;
struct SpreadsheetItemPatternIdentifiers;
struct StylesPatternIdentifiers;
struct TableItemPatternIdentifiers;
struct TablePatternIdentifiers;
struct TogglePatternIdentifiers;
struct TransformPattern2Identifiers;
struct TransformPatternIdentifiers;
struct ValuePatternIdentifiers;
struct WindowPatternIdentifiers;

}

namespace winrt::impl {

template <> struct category<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationAnnotation>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationAnnotationFactory>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationAnnotationStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics7>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics8>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationProperties>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics7>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics8>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IAutomationProperty>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDockPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDragPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IGridPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IScrollPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IStylesPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITablePatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITogglePatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITransformPattern2Identifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITransformPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IValuePatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IWindowPatternIdentifiers>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics>{ using type = interface_category; };
template <> struct category<Windows::UI::Xaml::Automation::AnnotationPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationAnnotation>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationElementIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationProperties>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationProperty>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::DockPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::DragPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::DropTargetPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::ExpandCollapsePatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::GridItemPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::GridPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::MultipleViewPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::RangeValuePatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::ScrollPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::SelectionItemPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::SelectionPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::SpreadsheetItemPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::StylesPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::TableItemPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::TablePatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::TogglePatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::TransformPattern2Identifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::TransformPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::ValuePatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::WindowPatternIdentifiers>{ using type = class_category; };
template <> struct category<Windows::UI::Xaml::Automation::AnnotationType>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationActiveEnd>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationAnimationStyle>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationBulletStyle>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationCaretBidiMode>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationCaretPosition>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationFlowDirections>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationOutlineStyles>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationStyleId>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationTextDecorationLineStyle>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::AutomationTextEditChangeType>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::DockPosition>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::ExpandCollapseState>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::RowOrColumnMajor>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::ScrollAmount>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::SupportedTextSelection>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::SynchronizedInputType>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::ToggleState>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::WindowInteractionState>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::WindowVisualState>{ using type = enum_category; };
template <> struct category<Windows::UI::Xaml::Automation::ZoomUnit>{ using type = enum_category; };
template <> struct name<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAnnotationPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAnnotationPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationAnnotation>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationAnnotation" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationAnnotationFactory>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationAnnotationFactory" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationAnnotationStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationAnnotationStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics2" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics3" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics4" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics5" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics6" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics7>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics7" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics8>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationElementIdentifiersStatics8" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationProperties>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationProperties" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics2" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics3" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics4" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics5" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics6" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics7>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics7" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics8>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationPropertiesStatics8" }; };
template <> struct name<Windows::UI::Xaml::Automation::IAutomationProperty>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IAutomationProperty" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDockPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDockPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDockPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDragPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDragPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDragPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDropTargetPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IDropTargetPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IExpandCollapsePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IExpandCollapsePatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IGridItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IGridItemPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IGridPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IGridPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IGridPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IMultipleViewPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IMultipleViewPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IRangeValuePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IRangeValuePatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IScrollPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IScrollPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IScrollPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISelectionItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISelectionItemPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISelectionPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISelectionPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISpreadsheetItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ISpreadsheetItemPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IStylesPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IStylesPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IStylesPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITableItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITableItemPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITablePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITablePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITablePatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITogglePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITogglePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITogglePatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITransformPattern2Identifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITransformPattern2Identifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITransformPattern2IdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITransformPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITransformPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ITransformPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IValuePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IValuePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IValuePatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::IWindowPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IWindowPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.IWindowPatternIdentifiersStatics" }; };
template <> struct name<Windows::UI::Xaml::Automation::AnnotationPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AnnotationPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationAnnotation>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationAnnotation" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationElementIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationElementIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationProperties>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationProperties" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationProperty>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationProperty" }; };
template <> struct name<Windows::UI::Xaml::Automation::DockPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.DockPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::DragPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.DragPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::DropTargetPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.DropTargetPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ExpandCollapsePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ExpandCollapsePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::GridItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.GridItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::GridPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.GridPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::MultipleViewPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.MultipleViewPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::RangeValuePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.RangeValuePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ScrollPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ScrollPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::SelectionItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.SelectionItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::SelectionPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.SelectionPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::SpreadsheetItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.SpreadsheetItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::StylesPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.StylesPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::TableItemPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.TableItemPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::TablePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.TablePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::TogglePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.TogglePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::TransformPattern2Identifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.TransformPattern2Identifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::TransformPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.TransformPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::ValuePatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ValuePatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::WindowPatternIdentifiers>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.WindowPatternIdentifiers" }; };
template <> struct name<Windows::UI::Xaml::Automation::AnnotationType>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AnnotationType" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationActiveEnd>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationActiveEnd" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationAnimationStyle>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationAnimationStyle" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationBulletStyle>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationBulletStyle" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationCaretBidiMode>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationCaretBidiMode" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationCaretPosition>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationCaretPosition" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationFlowDirections>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationFlowDirections" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationOutlineStyles>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationOutlineStyles" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationStyleId>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationStyleId" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationTextDecorationLineStyle>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationTextDecorationLineStyle" }; };
template <> struct name<Windows::UI::Xaml::Automation::AutomationTextEditChangeType>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.AutomationTextEditChangeType" }; };
template <> struct name<Windows::UI::Xaml::Automation::DockPosition>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.DockPosition" }; };
template <> struct name<Windows::UI::Xaml::Automation::ExpandCollapseState>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ExpandCollapseState" }; };
template <> struct name<Windows::UI::Xaml::Automation::RowOrColumnMajor>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.RowOrColumnMajor" }; };
template <> struct name<Windows::UI::Xaml::Automation::ScrollAmount>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ScrollAmount" }; };
template <> struct name<Windows::UI::Xaml::Automation::SupportedTextSelection>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.SupportedTextSelection" }; };
template <> struct name<Windows::UI::Xaml::Automation::SynchronizedInputType>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.SynchronizedInputType" }; };
template <> struct name<Windows::UI::Xaml::Automation::ToggleState>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ToggleState" }; };
template <> struct name<Windows::UI::Xaml::Automation::WindowInteractionState>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.WindowInteractionState" }; };
template <> struct name<Windows::UI::Xaml::Automation::WindowVisualState>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.WindowVisualState" }; };
template <> struct name<Windows::UI::Xaml::Automation::ZoomUnit>{ static constexpr auto & value{ L"Windows.UI.Xaml.Automation.ZoomUnit" }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers>{ static constexpr guid value{ 0xD475A0C1,0x48B2,0x4E40,{ 0xA6,0xCF,0x3D,0xC4,0xB6,0x38,0xC0,0xDE } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics>{ static constexpr guid value{ 0xE0E3A35D,0xD167,0x46DC,{ 0x95,0xAB,0x33,0x0A,0xF6,0x1A,0xEB,0xB5 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationAnnotation>{ static constexpr guid value{ 0xFB3C30CA,0x03D8,0x4618,{ 0x91,0xBF,0xE4,0xD8,0x4F,0x4A,0xF3,0x18 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationAnnotationFactory>{ static constexpr guid value{ 0x4906FA52,0xDDC0,0x4E69,{ 0xB7,0x6B,0x01,0x9D,0x92,0x8D,0x82,0x2F } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationAnnotationStatics>{ static constexpr guid value{ 0xE503EAB7,0x4EE5,0x48CB,{ 0xB5,0xB8,0xBB,0xCD,0x46,0xC9,0xD1,0xDA } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiers>{ static constexpr guid value{ 0xE68A63CF,0x4345,0x4E2D,{ 0x8A,0x6A,0x49,0xCC,0xE1,0xFA,0x2D,0xCC } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics>{ static constexpr guid value{ 0x4549399F,0x8340,0x4D67,{ 0xB9,0xBF,0x8C,0x2A,0xC6,0xA0,0x77,0x3A } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2>{ static constexpr guid value{ 0xB5CBB1E2,0xD55F,0x46A9,{ 0x9E,0xDA,0x1A,0x47,0x42,0x51,0x5D,0xC3 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3>{ static constexpr guid value{ 0x0F5CBEBD,0xB3EB,0x4083,{ 0xAD,0xC7,0x0C,0x2F,0x39,0xBB,0x35,0x43 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4>{ static constexpr guid value{ 0x5AF51F75,0x5913,0x4D78,{ 0xB3,0x30,0xA6,0xF5,0x0B,0x73,0xED,0x9B } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5>{ static constexpr guid value{ 0x986A8206,0xDE59,0x42F9,{ 0xA1,0xE7,0x62,0xB8,0xAF,0x9E,0x75,0x6D } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6>{ static constexpr guid value{ 0xDE52B00D,0x8328,0x4EAE,{ 0x80,0x35,0xF8,0xDB,0x99,0xC8,0xBA,0xC4 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics7>{ static constexpr guid value{ 0x00F1ABB2,0x742C,0x446A,{ 0xA8,0xF6,0x16,0x72,0xB1,0x0D,0x28,0x74 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics8>{ static constexpr guid value{ 0x8517B060,0x806C,0x5DC5,{ 0xBC,0x41,0x89,0x1B,0xB5,0xA4,0x7A,0xDF } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationProperties>{ static constexpr guid value{ 0x68D7232C,0xE622,0x48E9,{ 0xAF,0x0B,0x1F,0xFA,0x33,0xCC,0x5C,0xBA } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics>{ static constexpr guid value{ 0xB618FD7B,0x32D0,0x4970,{ 0x9C,0x42,0x7C,0x03,0x9A,0xC7,0xBE,0x78 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2>{ static constexpr guid value{ 0x3976547F,0x7089,0x4801,{ 0x8F,0x1D,0xAA,0xB7,0x80,0x90,0xD1,0xA0 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3>{ static constexpr guid value{ 0x7B75D735,0x5CB1,0x42AD,{ 0x9B,0x57,0x5F,0xAB,0xA8,0xC1,0x86,0x7F } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4>{ static constexpr guid value{ 0xF7D62655,0x311A,0x4B7C,{ 0xA1,0x31,0x52,0x4E,0x89,0xCD,0x3C,0xF9 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5>{ static constexpr guid value{ 0x0BE35B26,0xC8F9,0x41A2,{ 0xB4,0xDB,0xE6,0xA7,0xA3,0x2B,0x0C,0x34 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6>{ static constexpr guid value{ 0xC61E030F,0xEB49,0x4E5D,{ 0xB0,0x12,0x4C,0x1C,0x96,0xC3,0x90,0x1B } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics7>{ static constexpr guid value{ 0xF7E98BF3,0x8F91,0x4068,{ 0xA4,0xAD,0xB7,0xB4,0x02,0xD1,0x0A,0x2C } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics8>{ static constexpr guid value{ 0x432ECA20,0x171A,0x560D,{ 0x85,0x24,0x3E,0x65,0x1D,0x3A,0xD6,0xCA } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IAutomationProperty>{ static constexpr guid value{ 0xB627195B,0x3227,0x4E16,{ 0x95,0x34,0xDD,0xEC,0xE3,0x0D,0xDB,0x46 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDockPatternIdentifiers>{ static constexpr guid value{ 0xCCD7F4E6,0xE4F9,0x47FF,{ 0xBD,0xE7,0x37,0x8B,0x11,0xF7,0x8E,0x09 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics>{ static constexpr guid value{ 0x2B87245C,0xED80,0x4FE5,{ 0x8E,0xB4,0x70,0x8A,0x39,0xC8,0x41,0xE5 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDragPatternIdentifiers>{ static constexpr guid value{ 0x6266E985,0x4D07,0x4E80,{ 0x82,0xEB,0x8F,0x96,0x69,0x0A,0x1A,0x0C } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics>{ static constexpr guid value{ 0x2A05379D,0x1755,0x4082,{ 0x9D,0x90,0x46,0xF1,0x41,0x1D,0x79,0x86 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers>{ static constexpr guid value{ 0x11865133,0xA6FE,0x4634,{ 0xBD,0x18,0x0E,0xF6,0x12,0xB7,0xB2,0x08 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics>{ static constexpr guid value{ 0x1B693304,0x89FB,0x4B0A,{ 0x94,0x52,0xCA,0x2C,0x66,0xAA,0xF9,0xF3 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers>{ static constexpr guid value{ 0xB006BAC0,0x751B,0x4D55,{ 0x92,0xCB,0x61,0x3E,0xC1,0xBD,0xF5,0xD0 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics>{ static constexpr guid value{ 0xD7816FD4,0x6EE0,0x4F38,{ 0x8E,0x14,0x56,0xEF,0x21,0xAD,0xAC,0xFD } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers>{ static constexpr guid value{ 0x757744F1,0x3285,0x4FB1,{ 0x80,0x3B,0x25,0x45,0xBD,0x43,0x15,0x99 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics>{ static constexpr guid value{ 0x217D2402,0x5E46,0x4D61,{ 0x87,0x94,0xB8,0xEE,0x8E,0x77,0x47,0x14 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IGridPatternIdentifiers>{ static constexpr guid value{ 0xC902980F,0x96C5,0x450C,{ 0x90,0x44,0x7E,0x52,0xC2,0x4F,0x9E,0x94 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics>{ static constexpr guid value{ 0x7BC452F3,0xA181,0x4137,{ 0x8D,0xE9,0x1F,0x9B,0x1A,0x83,0x20,0xED } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers>{ static constexpr guid value{ 0x5D5CD3B8,0x1E12,0x488B,{ 0xB0,0xEA,0x5E,0x6C,0xB8,0x98,0x16,0xE1 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics>{ static constexpr guid value{ 0xA9CFA66F,0x6B84,0x4D71,{ 0x9E,0x48,0xD7,0x64,0xD3,0xBC,0xDA,0x8E } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers>{ static constexpr guid value{ 0xF8760F45,0x33C9,0x467D,{ 0xBC,0x9E,0xD1,0x51,0x52,0x63,0xAC,0xE1 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics>{ static constexpr guid value{ 0xCE23450F,0x1C27,0x457F,{ 0xB8,0x15,0x7A,0x5E,0x46,0x86,0x3D,0xBB } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IScrollPatternIdentifiers>{ static constexpr guid value{ 0x366B1003,0x425C,0x4951,{ 0xAE,0x83,0xD5,0x21,0xE7,0x3B,0xC6,0x96 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics>{ static constexpr guid value{ 0x4BF8E0A1,0xFB7F,0x4FA4,{ 0x83,0xB3,0xCF,0xAE,0xB1,0x03,0xA6,0x85 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers>{ static constexpr guid value{ 0x2DAFA41A,0x3EF8,0x4BB5,{ 0xA0,0x2B,0x3E,0xE1,0xB2,0x27,0x47,0x40 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics>{ static constexpr guid value{ 0xA918D163,0x487E,0x4E3E,{ 0x9F,0x86,0x7B,0x44,0xAC,0xBE,0x27,0xCE } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers>{ static constexpr guid value{ 0x4AA66FB0,0xE3F7,0x475F,{ 0xB7,0x8D,0xF8,0xA8,0x3B,0xB7,0x30,0xC4 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics>{ static constexpr guid value{ 0x93035B4C,0x6B50,0x40A1,{ 0xB2,0x3F,0x5C,0x78,0xDD,0xBD,0x47,0x9A } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers>{ static constexpr guid value{ 0x84347E19,0xCA4B,0x46A2,{ 0xA7,0x94,0xC8,0x79,0x28,0xA3,0xB1,0xAB } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics>{ static constexpr guid value{ 0x43658779,0x5380,0x4F12,{ 0xB4,0x68,0xB4,0xF3,0x68,0xAD,0x44,0x99 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IStylesPatternIdentifiers>{ static constexpr guid value{ 0xB0E4E201,0xE89D,0x436B,{ 0x82,0x87,0x4F,0x79,0x03,0x46,0x68,0x79 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics>{ static constexpr guid value{ 0x528A457A,0xBC3C,0x4D48,{ 0x94,0xAF,0x1F,0x68,0x70,0x3C,0xA2,0x96 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers>{ static constexpr guid value{ 0xC326E5AD,0x8077,0x4C64,{ 0x98,0xE4,0xE8,0x3B,0xCF,0x1B,0x43,0x89 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics>{ static constexpr guid value{ 0x24C4B923,0xE9A2,0x4DE9,{ 0xB2,0xA4,0xA8,0xB2,0x2D,0x0B,0xE3,0x62 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITablePatternIdentifiers>{ static constexpr guid value{ 0x38D104FE,0x0D0C,0x412A,{ 0xBF,0x8D,0x51,0xED,0xE6,0x83,0xBA,0xF5 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics>{ static constexpr guid value{ 0x75073D25,0x32C9,0x4903,{ 0xAE,0xCF,0xDC,0x35,0x04,0xCB,0xD2,0x44 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITogglePatternIdentifiers>{ static constexpr guid value{ 0x7E191F6B,0x34D4,0x4AE7,{ 0x83,0xAC,0x29,0xF8,0x88,0x82,0xD9,0x85 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics>{ static constexpr guid value{ 0xC7F75544,0x14A5,0x4F2F,{ 0x92,0xFC,0x76,0x05,0x24,0xDE,0x06,0xEA } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITransformPattern2Identifiers>{ static constexpr guid value{ 0x08AAA03D,0xDEA7,0x402F,{ 0x80,0x97,0x9A,0x27,0x83,0xD6,0x0E,0x5D } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics>{ static constexpr guid value{ 0x78963644,0x11F0,0x467C,{ 0xA7,0x2B,0x5D,0xAC,0x41,0xC1,0xF6,0xFE } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITransformPatternIdentifiers>{ static constexpr guid value{ 0xE4115B8C,0xC3C8,0x4A37,{ 0xB9,0x94,0x27,0x09,0xA7,0x81,0x16,0x65 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics>{ static constexpr guid value{ 0x4570EDAB,0xD705,0x40C4,{ 0xA1,0xDC,0xE9,0xAC,0xFC,0xEF,0x85,0xF6 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IValuePatternIdentifiers>{ static constexpr guid value{ 0x425BF64C,0x5333,0x4E41,{ 0xB4,0x70,0x2B,0xAD,0x14,0xEC,0xD0,0x85 } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics>{ static constexpr guid value{ 0xC247E8F7,0xADCC,0x440F,{ 0xB1,0x23,0x33,0x78,0x8A,0x40,0x52,0x5A } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IWindowPatternIdentifiers>{ static constexpr guid value{ 0x39F78BB4,0x7032,0x41E2,{ 0xB7,0x9E,0x27,0xB7,0x4A,0x86,0x28,0xDE } }; };
template <> struct guid_storage<Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics>{ static constexpr guid value{ 0x07D0AD06,0x6302,0x4D29,{ 0x87,0x8B,0x19,0xDA,0x03,0xFC,0x22,0x8D } }; };
template <> struct default_interface<Windows::UI::Xaml::Automation::AnnotationPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::AutomationAnnotation>{ using type = Windows::UI::Xaml::Automation::IAutomationAnnotation; };
template <> struct default_interface<Windows::UI::Xaml::Automation::AutomationElementIdentifiers>{ using type = Windows::UI::Xaml::Automation::IAutomationElementIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::AutomationProperties>{ using type = Windows::UI::Xaml::Automation::IAutomationProperties; };
template <> struct default_interface<Windows::UI::Xaml::Automation::AutomationProperty>{ using type = Windows::UI::Xaml::Automation::IAutomationProperty; };
template <> struct default_interface<Windows::UI::Xaml::Automation::DockPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IDockPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::DragPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IDragPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::DropTargetPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::ExpandCollapsePatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::GridItemPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::GridPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IGridPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::MultipleViewPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::RangeValuePatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::ScrollPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IScrollPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::SelectionItemPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::SelectionPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::SpreadsheetItemPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::StylesPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IStylesPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::TableItemPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::TablePatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ITablePatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::TogglePatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ITogglePatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::TransformPattern2Identifiers>{ using type = Windows::UI::Xaml::Automation::ITransformPattern2Identifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::TransformPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::ITransformPatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::ValuePatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IValuePatternIdentifiers; };
template <> struct default_interface<Windows::UI::Xaml::Automation::WindowPatternIdentifiers>{ using type = Windows::UI::Xaml::Automation::IWindowPatternIdentifiers; };

template <> struct abi<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_AnnotationTypeIdProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AnnotationTypeNameProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AuthorProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_DateTimeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_TargetProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationAnnotation>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_Type(Windows::UI::Xaml::Automation::AnnotationType* value) noexcept = 0;
    virtual int32_t WINRT_CALL put_Type(Windows::UI::Xaml::Automation::AnnotationType value) noexcept = 0;
    virtual int32_t WINRT_CALL get_Element(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL put_Element(void* value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationAnnotationFactory>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL CreateInstance(Windows::UI::Xaml::Automation::AnnotationType type, void** value) noexcept = 0;
    virtual int32_t WINRT_CALL CreateWithElementParameter(Windows::UI::Xaml::Automation::AnnotationType type, void* element, void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationAnnotationStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_TypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ElementProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_AcceleratorKeyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AccessKeyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AutomationIdProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_BoundingRectangleProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ClassNameProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ClickablePointProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ControlTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_HasKeyboardFocusProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_HelpTextProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsContentElementProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsControlElementProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsEnabledProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsKeyboardFocusableProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsOffscreenProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsPasswordProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsRequiredForFormProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ItemStatusProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ItemTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LabeledByProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LocalizedControlTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_NameProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_OrientationProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LiveSettingProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ControlledPeersProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_PositionInSetProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SizeOfSetProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LevelProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AnnotationsProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_LandmarkTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LocalizedLandmarkTypeProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsPeripheralProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsDataValidForFormProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FullDescriptionProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_DescribedByProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FlowsToProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FlowsFromProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CultureProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics7>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_HeadingLevelProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics8>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsDialogProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationProperties>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_AcceleratorKeyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetAcceleratorKey(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetAcceleratorKey(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AccessKeyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetAccessKey(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetAccessKey(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AutomationIdProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetAutomationId(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetAutomationId(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_HelpTextProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetHelpText(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetHelpText(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsRequiredForFormProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetIsRequiredForForm(void* element, bool* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetIsRequiredForForm(void* element, bool value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ItemStatusProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetItemStatus(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetItemStatus(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ItemTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetItemType(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetItemType(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LabeledByProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLabeledBy(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLabeledBy(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_NameProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetName(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetName(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LiveSettingProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLiveSetting(void* element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLiveSetting(void* element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_AccessibilityViewProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetAccessibilityView(void* element, Windows::UI::Xaml::Automation::Peers::AccessibilityView* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetAccessibilityView(void* element, Windows::UI::Xaml::Automation::Peers::AccessibilityView value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ControlledPeersProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetControlledPeers(void* element, void** result) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_PositionInSetProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetPositionInSet(void* element, int32_t* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetPositionInSet(void* element, int32_t value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SizeOfSetProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetSizeOfSet(void* element, int32_t* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetSizeOfSet(void* element, int32_t value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LevelProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLevel(void* element, int32_t* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLevel(void* element, int32_t value) noexcept = 0;
    virtual int32_t WINRT_CALL get_AnnotationsProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetAnnotations(void* element, void** result) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_LandmarkTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLandmarkType(void* element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLandmarkType(void* element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LocalizedLandmarkTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLocalizedLandmarkType(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLocalizedLandmarkType(void* element, void* value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsPeripheralProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetIsPeripheral(void* element, bool* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetIsPeripheral(void* element, bool value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsDataValidForFormProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetIsDataValidForForm(void* element, bool* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetIsDataValidForForm(void* element, bool value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FullDescriptionProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetFullDescription(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetFullDescription(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LocalizedControlTypeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetLocalizedControlType(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL SetLocalizedControlType(void* element, void* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_DescribedByProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetDescribedBy(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL get_FlowsToProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetFlowsTo(void* element, void** result) noexcept = 0;
    virtual int32_t WINRT_CALL get_FlowsFromProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetFlowsFrom(void* element, void** result) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CultureProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetCulture(void* element, int32_t* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetCulture(void* element, int32_t value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics7>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_HeadingLevelProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetHeadingLevel(void* element, Windows::UI::Xaml::Automation::Peers::AutomationHeadingLevel* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetHeadingLevel(void* element, Windows::UI::Xaml::Automation::Peers::AutomationHeadingLevel value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics8>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsDialogProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL GetIsDialog(void* element, bool* result) noexcept = 0;
    virtual int32_t WINRT_CALL SetIsDialog(void* element, bool value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IAutomationProperty>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDockPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_DockPositionProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDragPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_DropEffectProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_DropEffectsProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_GrabbedItemsProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsGrabbedProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_DropTargetEffectProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_DropTargetEffectsProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ExpandCollapseStateProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ColumnProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ColumnSpanProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ContainingGridProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowSpanProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IGridPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ColumnCountProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowCountProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CurrentViewProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SupportedViewsProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsReadOnlyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_LargeChangeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_MaximumProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_MinimumProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SmallChangeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ValueProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IScrollPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_HorizontallyScrollableProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_HorizontalScrollPercentProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_HorizontalViewSizeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_NoScroll(double* value) noexcept = 0;
    virtual int32_t WINRT_CALL get_VerticallyScrollableProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_VerticalScrollPercentProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_VerticalViewSizeProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsSelectedProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SelectionContainerProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CanSelectMultipleProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsSelectionRequiredProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_SelectionProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_FormulaProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IStylesPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ExtendedPropertiesProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FillColorProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FillPatternColorProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_FillPatternStyleProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ShapeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_StyleIdProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_StyleNameProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ColumnHeaderItemsProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowHeaderItemsProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITablePatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ColumnHeadersProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowHeadersProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_RowOrColumnMajorProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITogglePatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_ToggleStateProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITransformPattern2Identifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CanZoomProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ZoomLevelProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_MaxZoomProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_MinZoomProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITransformPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CanMoveProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_CanResizeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_CanRotateProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IValuePatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_IsReadOnlyProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_ValueProperty(void** value) noexcept = 0;
};};

template <> struct abi<Windows::UI::Xaml::Automation::IWindowPatternIdentifiers>{ struct type : IInspectable
{
};};

template <> struct abi<Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics>{ struct type : IInspectable
{
    virtual int32_t WINRT_CALL get_CanMaximizeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_CanMinimizeProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsModalProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_IsTopmostProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_WindowInteractionStateProperty(void** value) noexcept = 0;
    virtual int32_t WINRT_CALL get_WindowVisualStateProperty(void** value) noexcept = 0;
};};

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAnnotationPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAnnotationPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAnnotationPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty AnnotationTypeIdProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty AnnotationTypeNameProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty AuthorProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty DateTimeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty TargetProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAnnotationPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationAnnotation
{
    Windows::UI::Xaml::Automation::AnnotationType Type() const;
    void Type(Windows::UI::Xaml::Automation::AnnotationType const& value) const;
    Windows::UI::Xaml::UIElement Element() const;
    void Element(Windows::UI::Xaml::UIElement const& value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationAnnotation> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationAnnotation<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationAnnotationFactory
{
    Windows::UI::Xaml::Automation::AutomationAnnotation CreateInstance(Windows::UI::Xaml::Automation::AnnotationType const& type) const;
    Windows::UI::Xaml::Automation::AutomationAnnotation CreateWithElementParameter(Windows::UI::Xaml::Automation::AnnotationType const& type, Windows::UI::Xaml::UIElement const& element) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationAnnotationFactory> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationAnnotationFactory<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationAnnotationStatics
{
    Windows::UI::Xaml::DependencyProperty TypeProperty() const;
    Windows::UI::Xaml::DependencyProperty ElementProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationAnnotationStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationAnnotationStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty AcceleratorKeyProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty AccessKeyProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty AutomationIdProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty BoundingRectangleProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ClassNameProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ClickablePointProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ControlTypeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty HasKeyboardFocusProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty HelpTextProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsContentElementProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsControlElementProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsEnabledProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsKeyboardFocusableProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsOffscreenProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsPasswordProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsRequiredForFormProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ItemStatusProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ItemTypeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LabeledByProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LocalizedControlTypeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty NameProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty OrientationProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LiveSettingProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics2
{
    Windows::UI::Xaml::Automation::AutomationProperty ControlledPeersProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics2<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics3
{
    Windows::UI::Xaml::Automation::AutomationProperty PositionInSetProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty SizeOfSetProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LevelProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty AnnotationsProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics3<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics4
{
    Windows::UI::Xaml::Automation::AutomationProperty LandmarkTypeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LocalizedLandmarkTypeProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics4<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics5
{
    Windows::UI::Xaml::Automation::AutomationProperty IsPeripheralProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsDataValidForFormProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FullDescriptionProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty DescribedByProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FlowsToProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FlowsFromProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics5<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics6
{
    Windows::UI::Xaml::Automation::AutomationProperty CultureProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics6<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics7
{
    Windows::UI::Xaml::Automation::AutomationProperty HeadingLevelProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics7> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics7<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics8
{
    Windows::UI::Xaml::Automation::AutomationProperty IsDialogProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics8> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationElementIdentifiersStatics8<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationProperties
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationProperties> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationProperties<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics
{
    Windows::UI::Xaml::DependencyProperty AcceleratorKeyProperty() const;
    hstring GetAcceleratorKey(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetAcceleratorKey(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty AccessKeyProperty() const;
    hstring GetAccessKey(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetAccessKey(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty AutomationIdProperty() const;
    hstring GetAutomationId(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetAutomationId(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty HelpTextProperty() const;
    hstring GetHelpText(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetHelpText(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty IsRequiredForFormProperty() const;
    bool GetIsRequiredForForm(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetIsRequiredForForm(Windows::UI::Xaml::DependencyObject const& element, bool value) const;
    Windows::UI::Xaml::DependencyProperty ItemStatusProperty() const;
    hstring GetItemStatus(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetItemStatus(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty ItemTypeProperty() const;
    hstring GetItemType(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetItemType(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty LabeledByProperty() const;
    Windows::UI::Xaml::UIElement GetLabeledBy(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLabeledBy(Windows::UI::Xaml::DependencyObject const& element, Windows::UI::Xaml::UIElement const& value) const;
    Windows::UI::Xaml::DependencyProperty NameProperty() const;
    hstring GetName(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetName(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty LiveSettingProperty() const;
    Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting GetLiveSetting(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLiveSetting(Windows::UI::Xaml::DependencyObject const& element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting const& value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics2
{
    Windows::UI::Xaml::DependencyProperty AccessibilityViewProperty() const;
    Windows::UI::Xaml::Automation::Peers::AccessibilityView GetAccessibilityView(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetAccessibilityView(Windows::UI::Xaml::DependencyObject const& element, Windows::UI::Xaml::Automation::Peers::AccessibilityView const& value) const;
    Windows::UI::Xaml::DependencyProperty ControlledPeersProperty() const;
    Windows::Foundation::Collections::IVector<Windows::UI::Xaml::UIElement> GetControlledPeers(Windows::UI::Xaml::DependencyObject const& element) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics2<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics3
{
    Windows::UI::Xaml::DependencyProperty PositionInSetProperty() const;
    int32_t GetPositionInSet(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetPositionInSet(Windows::UI::Xaml::DependencyObject const& element, int32_t value) const;
    Windows::UI::Xaml::DependencyProperty SizeOfSetProperty() const;
    int32_t GetSizeOfSet(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetSizeOfSet(Windows::UI::Xaml::DependencyObject const& element, int32_t value) const;
    Windows::UI::Xaml::DependencyProperty LevelProperty() const;
    int32_t GetLevel(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLevel(Windows::UI::Xaml::DependencyObject const& element, int32_t value) const;
    Windows::UI::Xaml::DependencyProperty AnnotationsProperty() const;
    Windows::Foundation::Collections::IVector<Windows::UI::Xaml::Automation::AutomationAnnotation> GetAnnotations(Windows::UI::Xaml::DependencyObject const& element) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics3<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics4
{
    Windows::UI::Xaml::DependencyProperty LandmarkTypeProperty() const;
    Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType GetLandmarkType(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLandmarkType(Windows::UI::Xaml::DependencyObject const& element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType const& value) const;
    Windows::UI::Xaml::DependencyProperty LocalizedLandmarkTypeProperty() const;
    hstring GetLocalizedLandmarkType(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLocalizedLandmarkType(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics4<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics5
{
    Windows::UI::Xaml::DependencyProperty IsPeripheralProperty() const;
    bool GetIsPeripheral(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetIsPeripheral(Windows::UI::Xaml::DependencyObject const& element, bool value) const;
    Windows::UI::Xaml::DependencyProperty IsDataValidForFormProperty() const;
    bool GetIsDataValidForForm(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetIsDataValidForForm(Windows::UI::Xaml::DependencyObject const& element, bool value) const;
    Windows::UI::Xaml::DependencyProperty FullDescriptionProperty() const;
    hstring GetFullDescription(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetFullDescription(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty LocalizedControlTypeProperty() const;
    hstring GetLocalizedControlType(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetLocalizedControlType(Windows::UI::Xaml::DependencyObject const& element, param::hstring const& value) const;
    Windows::UI::Xaml::DependencyProperty DescribedByProperty() const;
    Windows::Foundation::Collections::IVector<Windows::UI::Xaml::DependencyObject> GetDescribedBy(Windows::UI::Xaml::DependencyObject const& element) const;
    Windows::UI::Xaml::DependencyProperty FlowsToProperty() const;
    Windows::Foundation::Collections::IVector<Windows::UI::Xaml::DependencyObject> GetFlowsTo(Windows::UI::Xaml::DependencyObject const& element) const;
    Windows::UI::Xaml::DependencyProperty FlowsFromProperty() const;
    Windows::Foundation::Collections::IVector<Windows::UI::Xaml::DependencyObject> GetFlowsFrom(Windows::UI::Xaml::DependencyObject const& element) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics5<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics6
{
    Windows::UI::Xaml::DependencyProperty CultureProperty() const;
    int32_t GetCulture(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetCulture(Windows::UI::Xaml::DependencyObject const& element, int32_t value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics6<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics7
{
    Windows::UI::Xaml::DependencyProperty HeadingLevelProperty() const;
    Windows::UI::Xaml::Automation::Peers::AutomationHeadingLevel GetHeadingLevel(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetHeadingLevel(Windows::UI::Xaml::DependencyObject const& element, Windows::UI::Xaml::Automation::Peers::AutomationHeadingLevel const& value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics7> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics7<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics8
{
    Windows::UI::Xaml::DependencyProperty IsDialogProperty() const;
    bool GetIsDialog(Windows::UI::Xaml::DependencyObject const& element) const;
    void SetIsDialog(Windows::UI::Xaml::DependencyObject const& element, bool value) const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationPropertiesStatics8> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationPropertiesStatics8<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IAutomationProperty
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IAutomationProperty> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IAutomationProperty<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDockPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IDockPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDockPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDockPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty DockPositionProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDockPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDragPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IDragPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDragPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDragPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty DropEffectProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty DropEffectsProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty GrabbedItemsProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsGrabbedProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDragPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDropTargetPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDropTargetPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IDropTargetPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty DropTargetEffectProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty DropTargetEffectsProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IDropTargetPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IExpandCollapsePatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IExpandCollapsePatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IExpandCollapsePatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ExpandCollapseStateProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IExpandCollapsePatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IGridItemPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IGridItemPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IGridItemPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ColumnProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ColumnSpanProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ContainingGridProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowSpanProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IGridItemPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IGridPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IGridPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IGridPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IGridPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ColumnCountProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowCountProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IGridPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IMultipleViewPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IMultipleViewPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IMultipleViewPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty CurrentViewProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty SupportedViewsProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IMultipleViewPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IRangeValuePatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IRangeValuePatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IRangeValuePatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty IsReadOnlyProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty LargeChangeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty MaximumProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty MinimumProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty SmallChangeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ValueProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IRangeValuePatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IScrollPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IScrollPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IScrollPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IScrollPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty HorizontallyScrollableProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty HorizontalScrollPercentProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty HorizontalViewSizeProperty() const;
    double NoScroll() const;
    Windows::UI::Xaml::Automation::AutomationProperty VerticallyScrollableProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty VerticalScrollPercentProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty VerticalViewSizeProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IScrollPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISelectionItemPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISelectionItemPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISelectionItemPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty IsSelectedProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty SelectionContainerProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISelectionItemPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISelectionPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISelectionPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISelectionPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty CanSelectMultipleProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsSelectionRequiredProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty SelectionProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISelectionPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISpreadsheetItemPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISpreadsheetItemPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ISpreadsheetItemPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty FormulaProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ISpreadsheetItemPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IStylesPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IStylesPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IStylesPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IStylesPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ExtendedPropertiesProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FillColorProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FillPatternColorProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty FillPatternStyleProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ShapeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty StyleIdProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty StyleNameProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IStylesPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITableItemPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITableItemPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITableItemPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ColumnHeaderItemsProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowHeaderItemsProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITableItemPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITablePatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ITablePatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITablePatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITablePatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ColumnHeadersProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowHeadersProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty RowOrColumnMajorProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITablePatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITogglePatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ITogglePatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITogglePatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITogglePatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty ToggleStateProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITogglePatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITransformPattern2Identifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ITransformPattern2Identifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITransformPattern2Identifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITransformPattern2IdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty CanZoomProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ZoomLevelProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty MaxZoomProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty MinZoomProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITransformPattern2IdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITransformPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::ITransformPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITransformPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_ITransformPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty CanMoveProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty CanResizeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty CanRotateProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_ITransformPatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IValuePatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IValuePatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IValuePatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IValuePatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty IsReadOnlyProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty ValueProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IValuePatternIdentifiersStatics<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IWindowPatternIdentifiers
{
};
template <> struct consume<Windows::UI::Xaml::Automation::IWindowPatternIdentifiers> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IWindowPatternIdentifiers<D>; };

template <typename D>
struct consume_Windows_UI_Xaml_Automation_IWindowPatternIdentifiersStatics
{
    Windows::UI::Xaml::Automation::AutomationProperty CanMaximizeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty CanMinimizeProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsModalProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty IsTopmostProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty WindowInteractionStateProperty() const;
    Windows::UI::Xaml::Automation::AutomationProperty WindowVisualStateProperty() const;
};
template <> struct consume<Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics> { template <typename D> using type = consume_Windows_UI_Xaml_Automation_IWindowPatternIdentifiersStatics<D>; };

}
