/*** Autogenerated by WIDL 11.0 from /home/runner/.termux-build/wine-stable/src/include/windows.perception.spatial.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_perception_spatial_h__
#define __windows_perception_spatial_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume ABI::Windows::Perception::Spatial::ISpatialBoundingVolume
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialBoundingVolume;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics ABI::Windows::Perception::Spatial::ISpatialBoundingVolumeStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialBoundingVolumeStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialCoordinateSystem;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics ABI::Windows::Perception::Spatial::ISpatialAnchorStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor ABI::Windows::Perception::Spatial::ISpatialAnchor
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchor;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExportSufficiency;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter ABI::Windows::Perception::Spatial::ISpatialAnchorExporter
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExporter;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics ABI::Windows::Perception::Spatial::ISpatialAnchorExporterStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExporterStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialBoundingVolume;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingVolume_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialCoordinateSystem;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialCoordinateSystem_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialAnchor;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchor_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialAnchorExportSufficiency;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportSufficiency_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialAnchorRawCoordinateSystemAdjustedEventArgs;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                class SpatialAnchorExporter;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExporter_FWD_DEFINED__ */

#ifndef ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
#define ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
#define ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_SpatialPerceptionAccessStatus __FIAsyncOperation_1_SpatialPerceptionAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingBox_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingBox_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingBox __FIReference_1_SpatialBoundingBox;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingBox ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingFrustum_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingFrustum_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingFrustum __FIReference_1_SpatialBoundingFrustum;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingFrustum ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingOrientedBox_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingOrientedBox_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingOrientedBox __FIReference_1_SpatialBoundingOrientedBox;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingOrientedBox ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <asyncinfo.h>
#include <eventtoken.h>
#include <windowscontracts.h>
#include <windows.foundation.h>
#include <windows.foundation.numerics.h>
#include <windows.storage.streams.h>

#ifdef __cplusplus
extern "C" {
#endif

#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)
#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0xe0000
#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                enum SpatialPerceptionAccessStatus {
                    SpatialPerceptionAccessStatus_Unspecified = 0,
                    SpatialPerceptionAccessStatus_Allowed = 1,
                    SpatialPerceptionAccessStatus_DeniedByUser = 2,
                    SpatialPerceptionAccessStatus_DeniedBySystem = 3
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus {
    SpatialPerceptionAccessStatus_Unspecified = 0,
    SpatialPerceptionAccessStatus_Allowed = 1,
    SpatialPerceptionAccessStatus_DeniedByUser = 2,
    SpatialPerceptionAccessStatus_DeniedBySystem = 3
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialPerceptionAccessStatus __x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* ____x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus __x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                typedef struct SpatialBoundingBox SpatialBoundingBox;
            }
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                typedef struct SpatialBoundingFrustum SpatialBoundingFrustum;
            }
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                typedef struct SpatialBoundingOrientedBox SpatialBoundingOrientedBox;
            }
        }
    }
}
#endif /* __cplusplus */

#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere;
#else /* __cplusplus */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                typedef struct SpatialBoundingSphere SpatialBoundingSphere;
            }
        }
    }
}
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                enum SpatialAnchorExportPurpose {
                    SpatialAnchorExportPurpose_Relocalization = 0,
                    SpatialAnchorExportPurpose_Sharing = 1
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose {
    SpatialAnchorExportPurpose_Relocalization = 0,
    SpatialAnchorExportPurpose_Sharing = 1
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialAnchorExportPurpose __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* ____x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose;
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume ABI::Windows::Perception::Spatial::ISpatialBoundingVolume
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialBoundingVolume;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics ABI::Windows::Perception::Spatial::ISpatialBoundingVolumeStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialBoundingVolumeStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialCoordinateSystem;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorRawCoordinateSystemAdjustedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor ABI::Windows::Perception::Spatial::ISpatialAnchor
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchor;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics ABI::Windows::Perception::Spatial::ISpatialAnchorStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExportSufficiency;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter ABI::Windows::Perception::Spatial::ISpatialAnchorExporter
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExporter;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics ABI::Windows::Perception::Spatial::ISpatialAnchorExporterStatics
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                interface ISpatialAnchorExporterStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
#define ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
#define ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_SpatialPerceptionAccessStatus __FIAsyncOperation_1_SpatialPerceptionAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingBox_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingBox_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingBox __FIReference_1_SpatialBoundingBox;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingBox ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingFrustum_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingFrustum_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingFrustum __FIReference_1_SpatialBoundingFrustum;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingFrustum ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_SpatialBoundingOrientedBox_FWD_DEFINED__
#define ____FIReference_1_SpatialBoundingOrientedBox_FWD_DEFINED__
typedef interface __FIReference_1_SpatialBoundingOrientedBox __FIReference_1_SpatialBoundingOrientedBox;
#ifdef __cplusplus
#define __FIReference_1_SpatialBoundingOrientedBox ABI::Windows::Foundation::IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* >
#endif /* __cplusplus */
#endif

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                struct SpatialBoundingBox {
                    ABI::Windows::Foundation::Numerics::Vector3 Center;
                    ABI::Windows::Foundation::Numerics::Vector3 Extents;
                };
            }
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox {
    __x_ABI_CWindows_CFoundation_CNumerics_CVector3 Center;
    __x_ABI_CWindows_CFoundation_CNumerics_CVector3 Extents;
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialBoundingBox __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                struct SpatialBoundingFrustum {
                    ABI::Windows::Foundation::Numerics::Plane Near;
                    ABI::Windows::Foundation::Numerics::Plane Far;
                    ABI::Windows::Foundation::Numerics::Plane Right;
                    ABI::Windows::Foundation::Numerics::Plane Left;
                    ABI::Windows::Foundation::Numerics::Plane Top;
                    ABI::Windows::Foundation::Numerics::Plane Bottom;
                };
            }
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum {
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Near;
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Far;
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Right;
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Left;
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Top;
    __x_ABI_CWindows_CFoundation_CNumerics_CPlane Bottom;
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialBoundingFrustum __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                struct SpatialBoundingOrientedBox {
                    ABI::Windows::Foundation::Numerics::Vector3 Center;
                    ABI::Windows::Foundation::Numerics::Vector3 Extents;
                    ABI::Windows::Foundation::Numerics::Quaternion Orientation;
                };
            }
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox {
    __x_ABI_CWindows_CFoundation_CNumerics_CVector3 Center;
    __x_ABI_CWindows_CFoundation_CNumerics_CVector3 Extents;
    __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion Orientation;
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialBoundingOrientedBox __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                struct SpatialBoundingSphere {
                    ABI::Windows::Foundation::Numerics::Vector3 Center;
                    FLOAT Radius;
                };
            }
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere {
    __x_ABI_CWindows_CFoundation_CNumerics_CVector3 Center;
    FLOAT Radius;
};
#ifdef WIDL_using_Windows_Perception_Spatial
#define SpatialBoundingSphere __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
/*****************************************************************************
 * ISpatialBoundingVolume interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume, 0xfb2065da, 0x68c3, 0x33df, 0xb7,0xaf, 0x4c,0x78,0x72,0x07,0x99,0x9c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("fb2065da-68c3-33df-b7af-4c787207999c")
                ISpatialBoundingVolume : public IInspectable
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume, 0xfb2065da, 0x68c3, 0x33df, 0xb7,0xaf, 0x4c,0x78,0x72,0x07,0x99,0x9c)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume *This,
        TrustLevel *trustLevel);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialBoundingVolume IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume
#define ISpatialBoundingVolumeVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeVtbl
#define ISpatialBoundingVolume __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume
#define ISpatialBoundingVolume_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_QueryInterface
#define ISpatialBoundingVolume_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_AddRef
#define ISpatialBoundingVolume_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_Release
#define ISpatialBoundingVolume_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetIids
#define ISpatialBoundingVolume_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetRuntimeClassName
#define ISpatialBoundingVolume_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_GetTrustLevel
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialBoundingVolumeStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics, 0x05889117, 0xb3e1, 0x36d8, 0xb0,0x17, 0x56,0x61,0x81,0xa5,0xb1,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("05889117-b3e1-36d8-b017-566181a5b196")
                ISpatialBoundingVolumeStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE FromBox(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *system,
                        ABI::Windows::Perception::Spatial::SpatialBoundingBox box,
                        ABI::Windows::Perception::Spatial::ISpatialBoundingVolume **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE FromOrientedBox(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *system,
                        ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox box,
                        ABI::Windows::Perception::Spatial::ISpatialBoundingVolume **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE FromSphere(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *system,
                        ABI::Windows::Perception::Spatial::SpatialBoundingSphere sphere,
                        ABI::Windows::Perception::Spatial::ISpatialBoundingVolume **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE FromFrustum(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *system,
                        ABI::Windows::Perception::Spatial::SpatialBoundingFrustum frustum,
                        ABI::Windows::Perception::Spatial::ISpatialBoundingVolume **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics, 0x05889117, 0xb3e1, 0x36d8, 0xb0,0x17, 0x56,0x61,0x81,0xa5,0xb1,0x96)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        TrustLevel *trustLevel);

    /*** ISpatialBoundingVolumeStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *FromBox)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox box,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value);

    HRESULT (STDMETHODCALLTYPE *FromOrientedBox)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox box,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value);

    HRESULT (STDMETHODCALLTYPE *FromSphere)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere sphere,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value);

    HRESULT (STDMETHODCALLTYPE *FromFrustum)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum frustum,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStaticsVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialBoundingVolumeStatics methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromBox(This,system,box,value) (This)->lpVtbl->FromBox(This,system,box,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromOrientedBox(This,system,box,value) (This)->lpVtbl->FromOrientedBox(This,system,box,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromSphere(This,system,sphere,value) (This)->lpVtbl->FromSphere(This,system,sphere,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromFrustum(This,system,frustum,value) (This)->lpVtbl->FromFrustum(This,system,frustum,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialBoundingVolumeStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromBox(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox box,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value) {
    return This->lpVtbl->FromBox(This,system,box,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromOrientedBox(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox box,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value) {
    return This->lpVtbl->FromOrientedBox(This,system,box,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromSphere(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingSphere sphere,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value) {
    return This->lpVtbl->FromSphere(This,system,sphere,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromFrustum(__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *system,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum frustum,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value) {
    return This->lpVtbl->FromFrustum(This,system,frustum,value);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialBoundingVolumeStatics IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics
#define ISpatialBoundingVolumeStaticsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStaticsVtbl
#define ISpatialBoundingVolumeStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics
#define ISpatialBoundingVolumeStatics_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_QueryInterface
#define ISpatialBoundingVolumeStatics_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_AddRef
#define ISpatialBoundingVolumeStatics_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_Release
#define ISpatialBoundingVolumeStatics_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetIids
#define ISpatialBoundingVolumeStatics_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetRuntimeClassName
#define ISpatialBoundingVolumeStatics_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_GetTrustLevel
#define ISpatialBoundingVolumeStatics_FromBox __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromBox
#define ISpatialBoundingVolumeStatics_FromOrientedBox __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromOrientedBox
#define ISpatialBoundingVolumeStatics_FromSphere __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromSphere
#define ISpatialBoundingVolumeStatics_FromFrustum __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_FromFrustum
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolumeStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialCoordinateSystem interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem, 0x69ebca4b, 0x60a3, 0x3586, 0xa6,0x53, 0x59,0xa7,0xbd,0x67,0x6d,0x07);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("69ebca4b-60a3-3586-a653-59a7bd676d07")
                ISpatialCoordinateSystem : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE TryGetTransformTo(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *target,
                        ABI::Windows::Foundation::IReference<ABI::Windows::Foundation::Numerics::Matrix4x4 > **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem, 0x69ebca4b, 0x60a3, 0x3586, 0xa6,0x53, 0x59,0xa7,0xbd,0x67,0x6d,0x07)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystemVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This,
        TrustLevel *trustLevel);

    /*** ISpatialCoordinateSystem methods ***/
    HRESULT (STDMETHODCALLTYPE *TryGetTransformTo)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *target,
        __FIReference_1_Matrix4x4 **value);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystemVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystemVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialCoordinateSystem methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_TryGetTransformTo(This,target,value) (This)->lpVtbl->TryGetTransformTo(This,target,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialCoordinateSystem methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_TryGetTransformTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *target,__FIReference_1_Matrix4x4 **value) {
    return This->lpVtbl->TryGetTransformTo(This,target,value);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialCoordinateSystem IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem
#define ISpatialCoordinateSystemVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystemVtbl
#define ISpatialCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem
#define ISpatialCoordinateSystem_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_QueryInterface
#define ISpatialCoordinateSystem_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_AddRef
#define ISpatialCoordinateSystem_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_Release
#define ISpatialCoordinateSystem_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetIids
#define ISpatialCoordinateSystem_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetRuntimeClassName
#define ISpatialCoordinateSystem_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_GetTrustLevel
#define ISpatialCoordinateSystem_TryGetTransformTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_TryGetTransformTo
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialAnchorStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics, 0xa9928642, 0x0174, 0x311c, 0xae,0x79, 0x0e,0x51,0x07,0x66,0x9f,0x16);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("a9928642-0174-311c-ae79-0e5107669f16")
                ISpatialAnchorStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE TryCreateRelativeTo(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE TryCreateWithPositionRelativeTo(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
                        ABI::Windows::Foundation::Numerics::Vector3 position,
                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE TryCreateWithPositionAndOrientationRelativeTo(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem *coord_system,
                        ABI::Windows::Foundation::Numerics::Vector3 position,
                        ABI::Windows::Foundation::Numerics::Quaternion orientation,
                        ABI::Windows::Perception::Spatial::ISpatialAnchor **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics, 0xa9928642, 0x0174, 0x311c, 0xae,0x79, 0x0e,0x51,0x07,0x66,0x9f,0x16)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchorStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *TryCreateRelativeTo)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);

    HRESULT (STDMETHODCALLTYPE *TryCreateWithPositionRelativeTo)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);

    HRESULT (STDMETHODCALLTYPE *TryCreateWithPositionAndOrientationRelativeTo)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,
        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,
        __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion orientation,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchorStatics methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo(This,coord_system,value) (This)->lpVtbl->TryCreateRelativeTo(This,coord_system,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo(This,coord_system,position,value) (This)->lpVtbl->TryCreateWithPositionRelativeTo(This,coord_system,position,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value) (This)->lpVtbl->TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchorStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
    return This->lpVtbl->TryCreateRelativeTo(This,coord_system,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
    return This->lpVtbl->TryCreateWithPositionRelativeTo(This,coord_system,position,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem *coord_system,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion orientation,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor **value) {
    return This->lpVtbl->TryCreateWithPositionAndOrientationRelativeTo(This,coord_system,position,orientation,value);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchorStatics IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics
#define ISpatialAnchorStaticsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStaticsVtbl
#define ISpatialAnchorStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics
#define ISpatialAnchorStatics_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_QueryInterface
#define ISpatialAnchorStatics_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_AddRef
#define ISpatialAnchorStatics_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_Release
#define ISpatialAnchorStatics_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetIids
#define ISpatialAnchorStatics_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetRuntimeClassName
#define ISpatialAnchorStatics_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_GetTrustLevel
#define ISpatialAnchorStatics_TryCreateRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateRelativeTo
#define ISpatialAnchorStatics_TryCreateWithPositionRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionRelativeTo
#define ISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_TryCreateWithPositionAndOrientationRelativeTo
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialAnchor interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor, 0x0529e5ce, 0x1d34, 0x3702, 0xbc,0xec, 0xea,0xbf,0xf5,0x78,0xa8,0x69);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("0529e5ce-1d34-3702-bcec-eabff578a869")
                ISpatialAnchor : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_CoordinateSystem(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_RawCoordinateSystem(
                        ABI::Windows::Perception::Spatial::ISpatialCoordinateSystem **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_RawCoordinateSystemAdjusted(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > *handler,
                        EventRegistrationToken *cookie) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_RawCoordinateSystemAdjusted(
                        EventRegistrationToken cookie) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor, 0x0529e5ce, 0x1d34, 0x3702, 0xbc,0xec, 0xea,0xbf,0xf5,0x78,0xa8,0x69)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchor methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CoordinateSystem)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value);

    HRESULT (STDMETHODCALLTYPE *get_RawCoordinateSystem)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value);

    HRESULT (STDMETHODCALLTYPE *add_RawCoordinateSystemAdjusted)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *handler,
        EventRegistrationToken *cookie);

    HRESULT (STDMETHODCALLTYPE *remove_RawCoordinateSystemAdjusted)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *This,
        EventRegistrationToken cookie);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchor methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem(This,value) (This)->lpVtbl->get_CoordinateSystem(This,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem(This,value) (This)->lpVtbl->get_RawCoordinateSystem(This,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted(This,handler,cookie) (This)->lpVtbl->add_RawCoordinateSystemAdjusted(This,handler,cookie)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted(This,cookie) (This)->lpVtbl->remove_RawCoordinateSystemAdjusted(This,cookie)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchor methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value) {
    return This->lpVtbl->get_CoordinateSystem(This,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialCoordinateSystem **value) {
    return This->lpVtbl->get_RawCoordinateSystem(This,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *handler,EventRegistrationToken *cookie) {
    return This->lpVtbl->add_RawCoordinateSystemAdjusted(This,handler,cookie);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor* This,EventRegistrationToken cookie) {
    return This->lpVtbl->remove_RawCoordinateSystemAdjusted(This,cookie);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchor IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor
#define ISpatialAnchorVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorVtbl
#define ISpatialAnchor __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor
#define ISpatialAnchor_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_QueryInterface
#define ISpatialAnchor_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_AddRef
#define ISpatialAnchor_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_Release
#define ISpatialAnchor_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetIids
#define ISpatialAnchor_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetRuntimeClassName
#define ISpatialAnchor_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_GetTrustLevel
#define ISpatialAnchor_get_CoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_CoordinateSystem
#define ISpatialAnchor_get_RawCoordinateSystem __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_get_RawCoordinateSystem
#define ISpatialAnchor_add_RawCoordinateSystemAdjusted __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_add_RawCoordinateSystemAdjusted
#define ISpatialAnchor_remove_RawCoordinateSystemAdjusted __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_remove_RawCoordinateSystemAdjusted
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialAnchorExportSufficiency interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency, 0x77c25b2b, 0x3409, 0x4088, 0xb9,0x1b, 0xfd,0xfd,0x05,0xd1,0x64,0x8f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("77c25b2b-3409-4088-b91b-fdfd05d1648f")
                ISpatialAnchorExportSufficiency : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_IsMinimallySufficient(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_SufficiencyLevel(
                        DOUBLE *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_RecommendedSufficiencyLevel(
                        DOUBLE *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency, 0x77c25b2b, 0x3409, 0x4088, 0xb9,0x1b, 0xfd,0xfd,0x05,0xd1,0x64,0x8f)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchorExportSufficiency methods ***/
    HRESULT (STDMETHODCALLTYPE *get_IsMinimallySufficient)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_SufficiencyLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        DOUBLE *value);

    HRESULT (STDMETHODCALLTYPE *get_RecommendedSufficiencyLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency *This,
        DOUBLE *value);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchorExportSufficiency methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient(This,value) (This)->lpVtbl->get_IsMinimallySufficient(This,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel(This,value) (This)->lpVtbl->get_SufficiencyLevel(This,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel(This,value) (This)->lpVtbl->get_RecommendedSufficiencyLevel(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchorExportSufficiency methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,boolean *value) {
    return This->lpVtbl->get_IsMinimallySufficient(This,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,DOUBLE *value) {
    return This->lpVtbl->get_SufficiencyLevel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency* This,DOUBLE *value) {
    return This->lpVtbl->get_RecommendedSufficiencyLevel(This,value);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchorExportSufficiency IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency
#define ISpatialAnchorExportSufficiencyVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiencyVtbl
#define ISpatialAnchorExportSufficiency __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency
#define ISpatialAnchorExportSufficiency_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_QueryInterface
#define ISpatialAnchorExportSufficiency_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_AddRef
#define ISpatialAnchorExportSufficiency_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_Release
#define ISpatialAnchorExportSufficiency_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetIids
#define ISpatialAnchorExportSufficiency_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetRuntimeClassName
#define ISpatialAnchorExportSufficiency_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_GetTrustLevel
#define ISpatialAnchorExportSufficiency_get_IsMinimallySufficient __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_IsMinimallySufficient
#define ISpatialAnchorExportSufficiency_get_SufficiencyLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_SufficiencyLevel
#define ISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_get_RecommendedSufficiencyLevel
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */

/*****************************************************************************
 * ISpatialAnchorRawCoordinateSystemAdjustedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xa1e81eb8, 0x56c7, 0x3117, 0xa2,0xe4, 0x81,0xe0,0xfc,0xf2,0x8e,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("a1e81eb8-56c7-3117-a2e4-81e0fcf28e00")
                ISpatialAnchorRawCoordinateSystemAdjustedEventArgs : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(
                        ABI::Windows::Foundation::Numerics::Matrix4x4 *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xa1e81eb8, 0x56c7, 0x3117, 0xa2,0xe4, 0x81,0xe0,0xfc,0xf2,0x8e,0x00)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value) (This)->lpVtbl->get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchorRawCoordinateSystemAdjustedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value) {
    return This->lpVtbl->get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(This,value);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchorRawCoordinateSystemAdjustedEventArgs IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetIids
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetRuntimeClassName
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_GetTrustLevel
#define ISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*****************************************************************************
 * ISpatialAnchorExporter interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter, 0x9a2a4338, 0x24fb, 0x4269, 0x89,0xc5, 0x88,0x30,0x4a,0xee,0xf2,0x0f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("9a2a4338-24fb-4269-89c5-88304aeef20f")
                ISpatialAnchorExporter : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE GetAnchorExportSufficiencyAsync(
                        ABI::Windows::Perception::Spatial::ISpatialAnchor *anchor,
                        ABI::Windows::Perception::Spatial::SpatialAnchorExportPurpose purpose,
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > **operation) = 0;

                    virtual HRESULT STDMETHODCALLTYPE TryExportAnchorAsync(
                        ABI::Windows::Perception::Spatial::ISpatialAnchor *anchor,
                        ABI::Windows::Perception::Spatial::SpatialAnchorExportPurpose purpose,
                        ABI::Windows::Storage::Streams::IOutputStream *stream,
                        ABI::Windows::Foundation::IAsyncOperation<boolean > **operation) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter, 0x9a2a4338, 0x24fb, 0x4269, 0x89,0xc5, 0x88,0x30,0x4a,0xee,0xf2,0x0f)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchorExporter methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAnchorExportSufficiencyAsync)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **operation);

    HRESULT (STDMETHODCALLTYPE *TryExportAnchorAsync)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,
        __x_ABI_CWindows_CStorage_CStreams_CIOutputStream *stream,
        __FIAsyncOperation_1_boolean **operation);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchorExporter methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation) (This)->lpVtbl->GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync(This,anchor,purpose,stream,operation) (This)->lpVtbl->TryExportAnchorAsync(This,anchor,purpose,stream,operation)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchorExporter methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,__x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **operation) {
    return This->lpVtbl->GetAnchorExportSufficiencyAsync(This,anchor,purpose,operation);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *anchor,__x_ABI_CWindows_CPerception_CSpatial_CSpatialAnchorExportPurpose purpose,__x_ABI_CWindows_CStorage_CStreams_CIOutputStream *stream,__FIAsyncOperation_1_boolean **operation) {
    return This->lpVtbl->TryExportAnchorAsync(This,anchor,purpose,stream,operation);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchorExporter IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter
#define ISpatialAnchorExporterVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterVtbl
#define ISpatialAnchorExporter __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter
#define ISpatialAnchorExporter_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_QueryInterface
#define ISpatialAnchorExporter_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_AddRef
#define ISpatialAnchorExporter_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_Release
#define ISpatialAnchorExporter_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetIids
#define ISpatialAnchorExporter_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetRuntimeClassName
#define ISpatialAnchorExporter_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetTrustLevel
#define ISpatialAnchorExporter_GetAnchorExportSufficiencyAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_GetAnchorExportSufficiencyAsync
#define ISpatialAnchorExporter_TryExportAnchorAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_TryExportAnchorAsync
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */

/*****************************************************************************
 * ISpatialAnchorExporterStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics, 0xed2507b8, 0x2475, 0x439c, 0x85,0xff, 0x7f,0xed,0x34,0x1f,0xdc,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Perception {
            namespace Spatial {
                MIDL_INTERFACE("ed2507b8-2475-439c-85ff-7fed341fdc88")
                ISpatialAnchorExporterStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE GetDefault(
                        ABI::Windows::Perception::Spatial::ISpatialAnchorExporter **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RequestAccessAsync(
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > **result) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics, 0xed2507b8, 0x2475, 0x439c, 0x85,0xff, 0x7f,0xed,0x34,0x1f,0xdc,0x88)
#endif
#else
typedef struct __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        TrustLevel *trustLevel);

    /*** ISpatialAnchorExporterStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDefault)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter **value);

    HRESULT (STDMETHODCALLTYPE *RequestAccessAsync)(
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics *This,
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus **result);

    END_INTERFACE
} __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl;

interface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics {
    CONST_VTBL __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** ISpatialAnchorExporterStatics methods ***/
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault(This,value) (This)->lpVtbl->GetDefault(This,value)
#define __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync(This,result) (This)->lpVtbl->RequestAccessAsync(This,result)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** ISpatialAnchorExporterStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporter **value) {
    return This->lpVtbl->GetDefault(This,value);
}
static inline HRESULT __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync(__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics* This,__FIAsyncOperation_1_SpatialPerceptionAccessStatus **result) {
    return This->lpVtbl->RequestAccessAsync(This,result);
}
#endif
#ifdef WIDL_using_Windows_Perception_Spatial
#define IID_ISpatialAnchorExporterStatics IID___x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics
#define ISpatialAnchorExporterStaticsVtbl __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStaticsVtbl
#define ISpatialAnchorExporterStatics __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics
#define ISpatialAnchorExporterStatics_QueryInterface __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_QueryInterface
#define ISpatialAnchorExporterStatics_AddRef __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_AddRef
#define ISpatialAnchorExporterStatics_Release __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_Release
#define ISpatialAnchorExporterStatics_GetIids __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetIids
#define ISpatialAnchorExporterStatics_GetRuntimeClassName __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetRuntimeClassName
#define ISpatialAnchorExporterStatics_GetTrustLevel __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetTrustLevel
#define ISpatialAnchorExporterStatics_GetDefault __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_GetDefault
#define ISpatialAnchorExporterStatics_RequestAccessAsync __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_RequestAccessAsync
#endif /* WIDL_using_Windows_Perception_Spatial */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExporterStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */

/*
 * Class Windows.Perception.Spatial.SpatialBoundingVolume
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialBoundingVolume_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialBoundingVolume_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialBoundingVolume[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','B','o','u','n','d','i','n','g','V','o','l','u','m','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialBoundingVolume[] = L"Windows.Perception.Spatial.SpatialBoundingVolume";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialBoundingVolume[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','B','o','u','n','d','i','n','g','V','o','l','u','m','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialBoundingVolume_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*
 * Class Windows.Perception.Spatial.SpatialCoordinateSystem
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialCoordinateSystem_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialCoordinateSystem_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialCoordinateSystem[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialCoordinateSystem[] = L"Windows.Perception.Spatial.SpatialCoordinateSystem";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialCoordinateSystem[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialCoordinateSystem_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*
 * Class Windows.Perception.Spatial.SpatialAnchor
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = L"Windows.Perception.Spatial.SpatialAnchor";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchor[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchor_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*
 * Class Windows.Perception.Spatial.SpatialAnchorExportSufficiency
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','S','u','f','f','i','c','i','e','n','c','y',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = L"Windows.Perception.Spatial.SpatialAnchorExportSufficiency";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExportSufficiency[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','S','u','f','f','i','c','i','e','n','c','y',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExportSufficiency_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */

/*
 * Class Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','R','a','w','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m','A','d','j','u','s','t','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = L"Windows.Perception.Spatial.SpatialAnchorRawCoordinateSystemAdjustedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','R','a','w','C','o','o','r','d','i','n','a','t','e','S','y','s','t','e','m','A','d','j','u','s','t','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */

/*
 * Class Windows.Perception.Spatial.SpatialAnchorExporter
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000
#ifndef RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED
#define RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = L"Windows.Perception.Spatial.SpatialAnchorExporter";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Perception_Spatial_SpatialAnchorExporter[] = {'W','i','n','d','o','w','s','.','P','e','r','c','e','p','t','i','o','n','.','S','p','a','t','i','a','l','.','S','p','a','t','i','a','l','A','n','c','h','o','r','E','x','p','o','r','t','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Perception_Spatial_SpatialAnchorExporter_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x70000 */

/*****************************************************************************
 * IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > interface
 */
#ifndef ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume, 0x89e8f1ee, 0x3a2a, 0x5b69, 0xa7,0x86, 0xcd,0xdc,0xf7,0x45,0x6a,0x3a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("89e8f1ee-3a2a-5b69-a786-cddcf7456a3a")
                IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialBoundingVolume*, ABI::Windows::Perception::Spatial::ISpatialBoundingVolume* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume, 0x89e8f1ee, 0x3a2a, 0x5b69, 0xa7,0x86, 0xcd,0xdc,0xf7,0x45,0x6a,0x3a)
#endif
#else
typedef struct __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        TrustLevel *trustLevel);

    /*** IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume **value);

    END_INTERFACE
} __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl;

interface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume {
    CONST_VTBL __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
#define __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_First(__FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_SpatialBoundingVolume IID___FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume
#define IIterable_SpatialBoundingVolumeVtbl __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl
#define IIterable_SpatialBoundingVolume __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume
#define IIterable_SpatialBoundingVolume_QueryInterface __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface
#define IIterable_SpatialBoundingVolume_AddRef __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef
#define IIterable_SpatialBoundingVolume_Release __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release
#define IIterable_SpatialBoundingVolume_GetIids __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids
#define IIterable_SpatialBoundingVolume_GetRuntimeClassName __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName
#define IIterable_SpatialBoundingVolume_GetTrustLevel __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel
#define IIterable_SpatialBoundingVolume_First __FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > interface
 */
#ifndef ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume, 0xeb8385c5, 0x0775, 0x5415, 0x8f,0x76, 0x32,0x7e,0x6e,0x38,0x8a,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("eb8385c5-0775-5415-8f76-327e6e388ac5")
                IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialBoundingVolume*, ABI::Windows::Perception::Spatial::ISpatialBoundingVolume* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume, 0xeb8385c5, 0x0775, 0x5415, 0x8f,0x76, 0x32,0x7e,0x6e,0x38,0x8a,0xc5)
#endif
#else
typedef struct __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        TrustLevel *trustLevel);

    /*** IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume *This,
        UINT32 items_size,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl;

interface __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume {
    CONST_VTBL __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Perception::Spatial::SpatialBoundingVolume* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_Current(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_HasCurrent(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_MoveNext(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetMany(__FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume* This,UINT32 items_size,__x_ABI_CWindows_CPerception_CSpatial_CISpatialBoundingVolume **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_SpatialBoundingVolume IID___FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume
#define IIterator_SpatialBoundingVolumeVtbl __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolumeVtbl
#define IIterator_SpatialBoundingVolume __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume
#define IIterator_SpatialBoundingVolume_QueryInterface __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_QueryInterface
#define IIterator_SpatialBoundingVolume_AddRef __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_AddRef
#define IIterator_SpatialBoundingVolume_Release __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_Release
#define IIterator_SpatialBoundingVolume_GetIids __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetIids
#define IIterator_SpatialBoundingVolume_GetRuntimeClassName __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetRuntimeClassName
#define IIterator_SpatialBoundingVolume_GetTrustLevel __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetTrustLevel
#define IIterator_SpatialBoundingVolume_get_Current __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_Current
#define IIterator_SpatialBoundingVolume_get_HasCurrent __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_get_HasCurrent
#define IIterator_SpatialBoundingVolume_MoveNext __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_MoveNext
#define IIterator_SpatialBoundingVolume_GetMany __FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CPerception__CSpatial__CSpatialBoundingVolume_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus, 0x6ced54c8, 0x7689, 0x525a, 0x80,0xe1, 0x95,0x6a,0x9d,0x85,0xcd,0x83);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6ced54c8-7689-525a-80e1-956a9d85cd83")
            IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus, 0x6ced54c8, 0x7689, 0x525a, 0x80,0xe1, 0x95,0x6a,0x9d,0x85,0xcd,0x83)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatusVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *This);

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *This,
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
#define __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_QueryInterface(__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_AddRef(__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Release(__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Invoke(__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus* This,__FIAsyncOperation_1_SpatialPerceptionAccessStatus *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus IID___FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatusVtbl __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatusVtbl
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus_QueryInterface __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_QueryInterface
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus_AddRef __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_AddRef
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus_Release __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Release
#define IAsyncOperationCompletedHandler_SpatialPerceptionAccessStatus_Invoke __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > interface
 */
#ifndef ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_SpatialPerceptionAccessStatus, 0xb425d126, 0x1069, 0x563f, 0xa8,0x63, 0x44,0xa3,0x0a,0x8f,0x07,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("b425d126-1069-563f-a863-44a30a8f071d")
            IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > : IAsyncOperation_impl<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_SpatialPerceptionAccessStatus, 0xb425d126, 0x1069, 0x563f, 0xa8,0x63, 0x44,0xa3,0x0a,0x8f,0x07,0x1d)
#endif
#else
typedef struct __FIAsyncOperation_1_SpatialPerceptionAccessStatusVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        TrustLevel *trustLevel);

    /*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        __FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_SpatialPerceptionAccessStatus *This,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus *results);

    END_INTERFACE
} __FIAsyncOperation_1_SpatialPerceptionAccessStatusVtbl;

interface __FIAsyncOperation_1_SpatialPerceptionAccessStatus {
    CONST_VTBL __FIAsyncOperation_1_SpatialPerceptionAccessStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_QueryInterface(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_SpatialPerceptionAccessStatus_AddRef(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_SpatialPerceptionAccessStatus_Release(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetIids(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetRuntimeClassName(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetTrustLevel(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialPerceptionAccessStatus > methods ***/
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_put_Completed(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_get_Completed(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,__FIAsyncOperationCompletedHandler_1_SpatialPerceptionAccessStatus **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetResults(__FIAsyncOperation_1_SpatialPerceptionAccessStatus* This,__x_ABI_CWindows_CPerception_CSpatial_CSpatialPerceptionAccessStatus *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_SpatialPerceptionAccessStatus IID___FIAsyncOperation_1_SpatialPerceptionAccessStatus
#define IAsyncOperation_SpatialPerceptionAccessStatusVtbl __FIAsyncOperation_1_SpatialPerceptionAccessStatusVtbl
#define IAsyncOperation_SpatialPerceptionAccessStatus __FIAsyncOperation_1_SpatialPerceptionAccessStatus
#define IAsyncOperation_SpatialPerceptionAccessStatus_QueryInterface __FIAsyncOperation_1_SpatialPerceptionAccessStatus_QueryInterface
#define IAsyncOperation_SpatialPerceptionAccessStatus_AddRef __FIAsyncOperation_1_SpatialPerceptionAccessStatus_AddRef
#define IAsyncOperation_SpatialPerceptionAccessStatus_Release __FIAsyncOperation_1_SpatialPerceptionAccessStatus_Release
#define IAsyncOperation_SpatialPerceptionAccessStatus_GetIids __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetIids
#define IAsyncOperation_SpatialPerceptionAccessStatus_GetRuntimeClassName __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetRuntimeClassName
#define IAsyncOperation_SpatialPerceptionAccessStatus_GetTrustLevel __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetTrustLevel
#define IAsyncOperation_SpatialPerceptionAccessStatus_put_Completed __FIAsyncOperation_1_SpatialPerceptionAccessStatus_put_Completed
#define IAsyncOperation_SpatialPerceptionAccessStatus_get_Completed __FIAsyncOperation_1_SpatialPerceptionAccessStatus_get_Completed
#define IAsyncOperation_SpatialPerceptionAccessStatus_GetResults __FIAsyncOperation_1_SpatialPerceptionAccessStatus_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_SpatialPerceptionAccessStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox > interface
 */
#ifndef ____FIReference_1_SpatialBoundingBox_INTERFACE_DEFINED__
#define ____FIReference_1_SpatialBoundingBox_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_SpatialBoundingBox, 0xab3274d9, 0x9b82, 0x5396, 0xbb,0x00, 0xd7,0x0c,0x53,0x97,0x96,0xb3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ab3274d9-9b82-5396-bb00-d70c539796b3")
            IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox > : IReference_impl<ABI::Windows::Perception::Spatial::SpatialBoundingBox >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_SpatialBoundingBox, 0xab3274d9, 0x9b82, 0x5396, 0xbb,0x00, 0xd7,0x0c,0x53,0x97,0x96,0xb3)
#endif
#else
typedef struct __FIReference_1_SpatialBoundingBoxVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIReference_1_SpatialBoundingBox *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIReference_1_SpatialBoundingBox *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIReference_1_SpatialBoundingBox *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIReference_1_SpatialBoundingBox *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIReference_1_SpatialBoundingBox *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIReference_1_SpatialBoundingBox *This,
        TrustLevel *trustLevel);

    /*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_SpatialBoundingBox *This,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox *value);

    END_INTERFACE
} __FIReference_1_SpatialBoundingBoxVtbl;

interface __FIReference_1_SpatialBoundingBox {
    CONST_VTBL __FIReference_1_SpatialBoundingBoxVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_SpatialBoundingBox_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_SpatialBoundingBox_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_SpatialBoundingBox_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_SpatialBoundingBox_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_SpatialBoundingBox_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_SpatialBoundingBox_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox > methods ***/
#define __FIReference_1_SpatialBoundingBox_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingBox_QueryInterface(__FIReference_1_SpatialBoundingBox* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_SpatialBoundingBox_AddRef(__FIReference_1_SpatialBoundingBox* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_SpatialBoundingBox_Release(__FIReference_1_SpatialBoundingBox* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingBox_GetIids(__FIReference_1_SpatialBoundingBox* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_SpatialBoundingBox_GetRuntimeClassName(__FIReference_1_SpatialBoundingBox* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_SpatialBoundingBox_GetTrustLevel(__FIReference_1_SpatialBoundingBox* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingBox > methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingBox_get_Value(__FIReference_1_SpatialBoundingBox* This,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingBox *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_SpatialBoundingBox IID___FIReference_1_SpatialBoundingBox
#define IReference_SpatialBoundingBoxVtbl __FIReference_1_SpatialBoundingBoxVtbl
#define IReference_SpatialBoundingBox __FIReference_1_SpatialBoundingBox
#define IReference_SpatialBoundingBox_QueryInterface __FIReference_1_SpatialBoundingBox_QueryInterface
#define IReference_SpatialBoundingBox_AddRef __FIReference_1_SpatialBoundingBox_AddRef
#define IReference_SpatialBoundingBox_Release __FIReference_1_SpatialBoundingBox_Release
#define IReference_SpatialBoundingBox_GetIids __FIReference_1_SpatialBoundingBox_GetIids
#define IReference_SpatialBoundingBox_GetRuntimeClassName __FIReference_1_SpatialBoundingBox_GetRuntimeClassName
#define IReference_SpatialBoundingBox_GetTrustLevel __FIReference_1_SpatialBoundingBox_GetTrustLevel
#define IReference_SpatialBoundingBox_get_Value __FIReference_1_SpatialBoundingBox_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_SpatialBoundingBox_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum > interface
 */
#ifndef ____FIReference_1_SpatialBoundingFrustum_INTERFACE_DEFINED__
#define ____FIReference_1_SpatialBoundingFrustum_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_SpatialBoundingFrustum, 0xf434face, 0x0c36, 0x5749, 0xa8,0xa0, 0x0b,0xb6,0xce,0x78,0xa6,0x14);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("f434face-0c36-5749-a8a0-0bb6ce78a614")
            IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum > : IReference_impl<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_SpatialBoundingFrustum, 0xf434face, 0x0c36, 0x5749, 0xa8,0xa0, 0x0b,0xb6,0xce,0x78,0xa6,0x14)
#endif
#else
typedef struct __FIReference_1_SpatialBoundingFrustumVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIReference_1_SpatialBoundingFrustum *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIReference_1_SpatialBoundingFrustum *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIReference_1_SpatialBoundingFrustum *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIReference_1_SpatialBoundingFrustum *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIReference_1_SpatialBoundingFrustum *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIReference_1_SpatialBoundingFrustum *This,
        TrustLevel *trustLevel);

    /*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_SpatialBoundingFrustum *This,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum *value);

    END_INTERFACE
} __FIReference_1_SpatialBoundingFrustumVtbl;

interface __FIReference_1_SpatialBoundingFrustum {
    CONST_VTBL __FIReference_1_SpatialBoundingFrustumVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_SpatialBoundingFrustum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_SpatialBoundingFrustum_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_SpatialBoundingFrustum_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_SpatialBoundingFrustum_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_SpatialBoundingFrustum_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_SpatialBoundingFrustum_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum > methods ***/
#define __FIReference_1_SpatialBoundingFrustum_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingFrustum_QueryInterface(__FIReference_1_SpatialBoundingFrustum* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_SpatialBoundingFrustum_AddRef(__FIReference_1_SpatialBoundingFrustum* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_SpatialBoundingFrustum_Release(__FIReference_1_SpatialBoundingFrustum* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingFrustum_GetIids(__FIReference_1_SpatialBoundingFrustum* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_SpatialBoundingFrustum_GetRuntimeClassName(__FIReference_1_SpatialBoundingFrustum* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_SpatialBoundingFrustum_GetTrustLevel(__FIReference_1_SpatialBoundingFrustum* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingFrustum > methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingFrustum_get_Value(__FIReference_1_SpatialBoundingFrustum* This,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingFrustum *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_SpatialBoundingFrustum IID___FIReference_1_SpatialBoundingFrustum
#define IReference_SpatialBoundingFrustumVtbl __FIReference_1_SpatialBoundingFrustumVtbl
#define IReference_SpatialBoundingFrustum __FIReference_1_SpatialBoundingFrustum
#define IReference_SpatialBoundingFrustum_QueryInterface __FIReference_1_SpatialBoundingFrustum_QueryInterface
#define IReference_SpatialBoundingFrustum_AddRef __FIReference_1_SpatialBoundingFrustum_AddRef
#define IReference_SpatialBoundingFrustum_Release __FIReference_1_SpatialBoundingFrustum_Release
#define IReference_SpatialBoundingFrustum_GetIids __FIReference_1_SpatialBoundingFrustum_GetIids
#define IReference_SpatialBoundingFrustum_GetRuntimeClassName __FIReference_1_SpatialBoundingFrustum_GetRuntimeClassName
#define IReference_SpatialBoundingFrustum_GetTrustLevel __FIReference_1_SpatialBoundingFrustum_GetTrustLevel
#define IReference_SpatialBoundingFrustum_get_Value __FIReference_1_SpatialBoundingFrustum_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_SpatialBoundingFrustum_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox > interface
 */
#ifndef ____FIReference_1_SpatialBoundingOrientedBox_INTERFACE_DEFINED__
#define ____FIReference_1_SpatialBoundingOrientedBox_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_SpatialBoundingOrientedBox, 0x09f88309, 0x9f81, 0x5207, 0xbd,0xb2, 0xab,0xef,0x92,0x6d,0xb1,0x8f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("09f88309-9f81-5207-bdb2-abef926db18f")
            IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox > : IReference_impl<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_SpatialBoundingOrientedBox, 0x09f88309, 0x9f81, 0x5207, 0xbd,0xb2, 0xab,0xef,0x92,0x6d,0xb1,0x8f)
#endif
#else
typedef struct __FIReference_1_SpatialBoundingOrientedBoxVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIReference_1_SpatialBoundingOrientedBox *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIReference_1_SpatialBoundingOrientedBox *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIReference_1_SpatialBoundingOrientedBox *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIReference_1_SpatialBoundingOrientedBox *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIReference_1_SpatialBoundingOrientedBox *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIReference_1_SpatialBoundingOrientedBox *This,
        TrustLevel *trustLevel);

    /*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_SpatialBoundingOrientedBox *This,
        __x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox *value);

    END_INTERFACE
} __FIReference_1_SpatialBoundingOrientedBoxVtbl;

interface __FIReference_1_SpatialBoundingOrientedBox {
    CONST_VTBL __FIReference_1_SpatialBoundingOrientedBoxVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_SpatialBoundingOrientedBox_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_SpatialBoundingOrientedBox_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_SpatialBoundingOrientedBox_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_SpatialBoundingOrientedBox_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_SpatialBoundingOrientedBox_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_SpatialBoundingOrientedBox_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox > methods ***/
#define __FIReference_1_SpatialBoundingOrientedBox_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingOrientedBox_QueryInterface(__FIReference_1_SpatialBoundingOrientedBox* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_SpatialBoundingOrientedBox_AddRef(__FIReference_1_SpatialBoundingOrientedBox* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_SpatialBoundingOrientedBox_Release(__FIReference_1_SpatialBoundingOrientedBox* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingOrientedBox_GetIids(__FIReference_1_SpatialBoundingOrientedBox* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_SpatialBoundingOrientedBox_GetRuntimeClassName(__FIReference_1_SpatialBoundingOrientedBox* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_SpatialBoundingOrientedBox_GetTrustLevel(__FIReference_1_SpatialBoundingOrientedBox* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<ABI::Windows::Perception::Spatial::SpatialBoundingOrientedBox > methods ***/
static inline HRESULT __FIReference_1_SpatialBoundingOrientedBox_get_Value(__FIReference_1_SpatialBoundingOrientedBox* This,__x_ABI_CWindows_CPerception_CSpatial_CSpatialBoundingOrientedBox *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_SpatialBoundingOrientedBox IID___FIReference_1_SpatialBoundingOrientedBox
#define IReference_SpatialBoundingOrientedBoxVtbl __FIReference_1_SpatialBoundingOrientedBoxVtbl
#define IReference_SpatialBoundingOrientedBox __FIReference_1_SpatialBoundingOrientedBox
#define IReference_SpatialBoundingOrientedBox_QueryInterface __FIReference_1_SpatialBoundingOrientedBox_QueryInterface
#define IReference_SpatialBoundingOrientedBox_AddRef __FIReference_1_SpatialBoundingOrientedBox_AddRef
#define IReference_SpatialBoundingOrientedBox_Release __FIReference_1_SpatialBoundingOrientedBox_Release
#define IReference_SpatialBoundingOrientedBox_GetIids __FIReference_1_SpatialBoundingOrientedBox_GetIids
#define IReference_SpatialBoundingOrientedBox_GetRuntimeClassName __FIReference_1_SpatialBoundingOrientedBox_GetRuntimeClassName
#define IReference_SpatialBoundingOrientedBox_GetTrustLevel __FIReference_1_SpatialBoundingOrientedBox_GetTrustLevel
#define IReference_SpatialBoundingOrientedBox_get_Value __FIReference_1_SpatialBoundingOrientedBox_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_SpatialBoundingOrientedBox_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xfa43f9e4, 0x3558, 0x59c8, 0x9a,0x77, 0x6e,0x8b,0x76,0x5a,0xdc,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("fa43f9e4-3558-59c8-9a77-6e8b765adcc8")
            ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchor*, ABI::Windows::Perception::Spatial::ISpatialAnchor* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs*, ABI::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs, 0xfa43f9e4, 0x3558, 0x59c8, 0x9a,0x77, 0x6e,0x8b,0x76,0x5a,0xdc,0xc8)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This);

    /*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *sender,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Perception::Spatial::SpatialAnchor*,ABI::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchor *sender,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorRawCoordinateSystemAdjustedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs IID___FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgsVtbl
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_QueryInterface
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_AddRef
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Release
#define ITypedEventHandler_SpatialAnchor_SpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke __FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CPerception__CSpatial__CSpatialAnchor_Windows__CPerception__CSpatial__CSpatialAnchorRawCoordinateSystemAdjustedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x4b6593d2, 0x11a8, 0x513e, 0x83,0x8d, 0x42,0x26,0xfb,0x1e,0x3c,0x1f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("4b6593d2-11a8-513e-838d-4226fb1e3c1f")
            IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency*, ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x4b6593d2, 0x11a8, 0x513e, 0x83,0x8d, 0x42,0x26,0xfb,0x1e,0x3c,0x1f)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency IID___FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiencyVtbl __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_Release __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release
#define IAsyncOperationCompletedHandler_SpatialAnchorExportSufficiency_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x260957b8, 0x5b76, 0x5159, 0x8d,0xc5, 0xe0,0x3d,0x74,0xaa,0x5f,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("260957b8-5b76-5159-8dc5-e03d74aa5f3d")
            IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency*, ABI::Windows::Perception::Spatial::ISpatialAnchorExportSufficiency* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency, 0x260957b8, 0x5b76, 0x5159, 0x8d,0xc5, 0xe0,0x3d,0x74,0xaa,0x5f,0x3d)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        TrustLevel *trustLevel);

    /*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *This,
        __x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl;

interface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency {
    CONST_VTBL __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Perception::Spatial::SpatialAnchorExportSufficiency* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__FIAsyncOperationCompletedHandler_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults(__FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency* This,__x_ABI_CWindows_CPerception_CSpatial_CISpatialAnchorExportSufficiency **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_SpatialAnchorExportSufficiency IID___FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
#define IAsyncOperation_SpatialAnchorExportSufficiencyVtbl __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiencyVtbl
#define IAsyncOperation_SpatialAnchorExportSufficiency __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency
#define IAsyncOperation_SpatialAnchorExportSufficiency_QueryInterface __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_QueryInterface
#define IAsyncOperation_SpatialAnchorExportSufficiency_AddRef __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_AddRef
#define IAsyncOperation_SpatialAnchorExportSufficiency_Release __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_Release
#define IAsyncOperation_SpatialAnchorExportSufficiency_GetIids __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetIids
#define IAsyncOperation_SpatialAnchorExportSufficiency_GetRuntimeClassName __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetRuntimeClassName
#define IAsyncOperation_SpatialAnchorExportSufficiency_GetTrustLevel __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetTrustLevel
#define IAsyncOperation_SpatialAnchorExportSufficiency_put_Completed __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_put_Completed
#define IAsyncOperation_SpatialAnchorExportSufficiency_get_Completed __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_get_Completed
#define IAsyncOperation_SpatialAnchorExportSufficiency_GetResults __FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CPerception__CSpatial__CSpatialAnchorExportSufficiency_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_perception_spatial_h__ */
