

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.01.0622 */
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __windows2Edevices2Eperception2Eprovider_h__
#define __windows2Edevices2Eperception2Eprovider_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#endif 	/* ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#endif 	/* ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionStartFaceAuthenticationHandler;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionStopFaceAuthenticationHandler;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IKnownPerceptionFrameKindStatics;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionControlGroup;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionControlGroupFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionCorrelation;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionCorrelationFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionCorrelationGroup;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionCorrelationGroupFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFaceAuthenticationGroup;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFaceAuthenticationGroupFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFrame;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFrameProvider;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFrameProviderInfo;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFrameProviderManager;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionFrameProviderManagerServiceStatics;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionPropertyChangeRequest;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionVideoFrameAllocator;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                namespace Provider {
                    interface IPerceptionVideoFrameAllocatorFactory;
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_FWD_DEFINED__ */


/* header files for imported files */
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "Windows.Foundation.h"
#include "Windows.Devices.Perception.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0000 */
/* [local] */ 

#ifdef __cplusplus
} /*extern "C"*/ 
#endif
#include <windows.foundation.collections.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionCorrelation;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
interface IPerceptionCorrelation;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4770 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4770 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4770_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4770_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#define DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c4db1093-d705-5503-8bce-68535cd42ffa"))
IIterator<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*, ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.Perception.Provider.PerceptionCorrelation>"; }
};
typedef IIterator<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t;
#define ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4771 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4771 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4771_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4771_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#define DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ca6bf87e-1745-5cd0-aee2-59736f5a206d"))
IIterable<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*, ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.Perception.Provider.PerceptionCorrelation>"; }
};
typedef IIterable<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t;
#define ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0002 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4772 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4772 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4772_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4772_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0003 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#define DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("244cad66-afbe-5394-b7b7-43a61fcbfc6d"))
IVectorView<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*, ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Perception.Provider.PerceptionCorrelation>"; }
};
typedef IVectorView<ABI::Windows::Devices::Perception::Provider::PerceptionCorrelation*> __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t;
#define ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4773 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4773 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4773_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4773_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0004 */
/* [local] */ 

#ifndef DEF___FIIterator_1_HSTRING_USE
#define DEF___FIIterator_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8c304ebb-6615-50a4-8829-879ecd443236"))
IIterator<HSTRING> : IIterator_impl<HSTRING> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<String>"; }
};
typedef IIterator<HSTRING> __FIIterator_1_HSTRING_t;
#define ____FIIterator_1_HSTRING_FWD_DEFINED__
#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterator_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0004 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4774 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4774 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4774_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4774_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0005 */
/* [local] */ 

#ifndef DEF___FIIterable_1_HSTRING_USE
#define DEF___FIIterable_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e2fcc7c1-3bfc-5a0b-b2b0-72e769d1cb7e"))
IIterable<HSTRING> : IIterable_impl<HSTRING> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<String>"; }
};
typedef IIterable<HSTRING> __FIIterable_1_HSTRING_t;
#define ____FIIterable_1_HSTRING_FWD_DEFINED__
#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterable_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4775 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4775 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4775_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4775_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0006 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_HSTRING_USE
#define DEF___FIVectorView_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2f13c006-a03a-5f69-b090-75a43e33423e"))
IVectorView<HSTRING> : IVectorView_impl<HSTRING> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<String>"; }
};
typedef IVectorView<HSTRING> __FIVectorView_1_HSTRING_t;
#define ____FIVectorView_1_HSTRING_FWD_DEFINED__
#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::__FIVectorView_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_HSTRING_USE */

interface IInspectable;


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0006 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4776 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4776 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4776_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4776_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0007 */
/* [local] */ 

#ifndef DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("09335560-6c6b-5a26-9348-97b781132b20"))
IKeyValuePair<HSTRING,IInspectable*> : IKeyValuePair_impl<HSTRING,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IKeyValuePair`2<String, Object>"; }
};
typedef IKeyValuePair<HSTRING,IInspectable*> __FIKeyValuePair_2_HSTRING_IInspectable_t;
#define ____FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIKeyValuePair_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4777 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4777 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4777_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4777_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0008 */
/* [local] */ 

#ifndef DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("5db5fa32-707c-5849-a06b-91c8eb9d10e8"))
IIterator<__FIKeyValuePair_2_HSTRING_IInspectable*> : IIterator_impl<__FIKeyValuePair_2_HSTRING_IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Object>>"; }
};
typedef IIterator<__FIKeyValuePair_2_HSTRING_IInspectable*> __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_t;
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0008 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4778 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4778 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4778_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4778_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0009 */
/* [local] */ 

#ifndef DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("fe2f3d47-5d47-5499-8374-430c7cda0204"))
IIterable<__FIKeyValuePair_2_HSTRING_IInspectable*> : IIterable_impl<__FIKeyValuePair_2_HSTRING_IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Object>>"; }
};
typedef IIterable<__FIKeyValuePair_2_HSTRING_IInspectable*> __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_t;
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4779 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4779 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4779_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4779_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0010 */
/* [local] */ 

#ifndef DEF___FIMapView_2_HSTRING_IInspectable_USE
#define DEF___FIMapView_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("bb78502a-f79d-54fa-92c9-90c5039fdf7e"))
IMapView<HSTRING,IInspectable*> : IMapView_impl<HSTRING,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IMapView`2<String, Object>"; }
};
typedef IMapView<HSTRING,IInspectable*> __FIMapView_2_HSTRING_IInspectable_t;
#define ____FIMapView_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIMapView_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIMapView_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIMapView_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0010 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4780 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4780 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4780_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4780_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0011 */
/* [local] */ 

#ifndef DEF___FIMap_2_HSTRING_IInspectable_USE
#define DEF___FIMap_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("1b0d3570-0877-5ec2-8a2c-3b9539506aca"))
IMap<HSTRING,IInspectable*> : IMap_impl<HSTRING,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IMap`2<String, Object>"; }
};
typedef IMap<HSTRING,IInspectable*> __FIMap_2_HSTRING_IInspectable_t;
#define ____FIMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIMap_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIMap_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0011 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4781 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4781 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4781_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4781_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0012 */
/* [local] */ 

#ifndef DEF___FIMapChangedEventArgs_1_HSTRING_USE
#define DEF___FIMapChangedEventArgs_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("60141efb-f2f9-5377-96fd-f8c60d9558b5"))
IMapChangedEventArgs<HSTRING> : IMapChangedEventArgs_impl<HSTRING> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IMapChangedEventArgs`1<String>"; }
};
typedef IMapChangedEventArgs<HSTRING> __FIMapChangedEventArgs_1_HSTRING_t;
#define ____FIMapChangedEventArgs_1_HSTRING_FWD_DEFINED__
#define __FIMapChangedEventArgs_1_HSTRING ABI::Windows::Foundation::Collections::__FIMapChangedEventArgs_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIMapChangedEventArgs_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0012 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4782 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4782 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4782_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4782_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0013 */
/* [local] */ 

#ifndef DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE
#define DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("24f981e5-ddca-538d-aada-a59906084cf1"))
MapChangedEventHandler<HSTRING,IInspectable*> : MapChangedEventHandler_impl<HSTRING,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.MapChangedEventHandler`2<String, Object>"; }
};
typedef MapChangedEventHandler<HSTRING,IInspectable*> __FMapChangedEventHandler_2_HSTRING_IInspectable_t;
#define ____FMapChangedEventHandler_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FMapChangedEventHandler_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FMapChangedEventHandler_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4783 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4783 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4783_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4783_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0014 */
/* [local] */ 

#ifndef DEF___FIObservableMap_2_HSTRING_IInspectable_USE
#define DEF___FIObservableMap_2_HSTRING_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("236aac9d-fb12-5c4d-a41c-9e445fb4d7ec"))
IObservableMap<HSTRING,IInspectable*> : IObservableMap_impl<HSTRING,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IObservableMap`2<String, Object>"; }
};
typedef IObservableMap<HSTRING,IInspectable*> __FIObservableMap_2_HSTRING_IInspectable_t;
#define ____FIObservableMap_2_HSTRING_IInspectable_FWD_DEFINED__
#define __FIObservableMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIObservableMap_2_HSTRING_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIObservableMap_2_HSTRING_IInspectable_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Edevices2Eperception_h__)
#include <Windows.Devices.Perception.h>
#endif // !defined(__windows2Edevices2Eperception_h__)
#if !defined(__windows2Efoundation2Enumerics_h__)
#include <Windows.Foundation.Numerics.h>
#endif // !defined(__windows2Efoundation2Enumerics_h__)
#if !defined(__windows2Egraphics2Eimaging_h__)
#include <Windows.Graphics.Imaging.h>
#endif // !defined(__windows2Egraphics2Eimaging_h__)
#if !defined(__windows2Emedia_h__)
#include <Windows.Media.h>
#endif // !defined(__windows2Emedia_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CDevices_CPerception_CPerceptionFrameSourcePropertyChangeStatus __x_ABI_CWindows_CDevices_CPerception_CPerceptionFrameSourcePropertyChangeStatus;


#endif /* end if !defined(__cplusplus) */


#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
namespace Collections {
class ValueSet;
} /*Collections*/
} /*Foundation*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
class Deferral;
} /*Foundation*/
} /*Windows*/
}
#endif



#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion;

#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 __x_ABI_CWindows_CFoundation_CNumerics_CVector3;

#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;

#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;

#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CGraphics_CImaging_CBitmapAlphaMode __x_ABI_CWindows_CGraphics_CImaging_CBitmapAlphaMode;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CGraphics_CImaging_CBitmapPixelFormat __x_ABI_CWindows_CGraphics_CImaging_CBitmapPixelFormat;


#endif /* end if !defined(__cplusplus) */


#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
class VideoFrame;
} /*Media*/
} /*Windows*/
}
#endif



















#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionControlGroup;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionCorrelationGroup;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionFaceAuthenticationGroup;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionFrame;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionFrameProviderInfo;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionPropertyChangeRequest;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Perception {
namespace Provider {
class PerceptionVideoFrameAllocator;
} /*Provider*/
} /*Perception*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0014 */
/* [local] */ 


#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Perception {
                
                typedef enum PerceptionFrameSourcePropertyChangeStatus PerceptionFrameSourcePropertyChangeStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif





#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Numerics {
                
                typedef struct Quaternion Quaternion;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Numerics {
                
                typedef struct Vector3 Vector3;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct Size Size;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct TimeSpan TimeSpan;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Graphics {
            namespace Imaging {
                
                typedef enum BitmapAlphaMode BitmapAlphaMode;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Graphics {
            namespace Imaging {
                
                typedef enum BitmapPixelFormat BitmapPixelFormat;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif






















extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4784 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4784 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4784_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4784_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0015 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#define DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0015 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0015_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c4db1093-d705-5503-8bce-68535cd42ffa")
    __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl;

    interface __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0016 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0016 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4785 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4785 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4785_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4785_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0017 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#define DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0017 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0017_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ca6bf87e-1745-5cd0-aee2-59736f5a206d")
    __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl;

    interface __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0018 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0018 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4786 */




/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4786 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4786_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider2Eidl_0000_4786_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0019 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#define DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0019 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0019_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("244cad66-afbe-5394-b7b7-43a61fcbfc6d")
    __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl;

    interface __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0020 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0020 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0020_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionStartFaceAuthenticationHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("74816D2A-2090-4670-8C48-EF39E7FF7C26")
                        IPerceptionStartFaceAuthenticationHandler : public IUnknown
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Invoke( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup *sender,
                                /* [out][retval] */ __RPC__out boolean *result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionStartFaceAuthenticationHandler = __uuidof(IPerceptionStartFaceAuthenticationHandler);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup *sender,
            /* [out][retval] */ __RPC__out boolean *result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandlerVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_Invoke(This,sender,result)	\
    ( (This)->lpVtbl -> Invoke(This,sender,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler_INTERFACE_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionStopFaceAuthenticationHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("387EE6AA-89CD-481E-AADE-DD92F70B2AD7")
                        IPerceptionStopFaceAuthenticationHandler : public IUnknown
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Invoke( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup *sender) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionStopFaceAuthenticationHandler = __uuidof(IPerceptionStopFaceAuthenticationHandler);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup *sender);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandlerVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_Invoke(This,sender)	\
    ( (This)->lpVtbl -> Invoke(This,sender) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0022 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IKnownPerceptionFrameKindStatics[] = L"Windows.Devices.Perception.Provider.IKnownPerceptionFrameKindStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0022 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0022_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IKnownPerceptionFrameKindStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("3AE651D6-9669-4106-9FAE-4835C1B96104")
                        IKnownPerceptionFrameKindStatics : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Depth( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Infrared( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IKnownPerceptionFrameKindStatics = __uuidof(IKnownPerceptionFrameKindStatics);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Depth )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Infrared )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_get_Color(This,value)	\
    ( (This)->lpVtbl -> get_Color(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_get_Depth(This,value)	\
    ( (This)->lpVtbl -> get_Depth(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_get_Infrared(This,value)	\
    ( (This)->lpVtbl -> get_Infrared(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIKnownPerceptionFrameKindStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0023 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionControlGroup[] = L"Windows.Devices.Perception.Provider.IPerceptionControlGroup";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0023 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0023_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionControlGroup */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("172C4882-2FD9-4C4E-BA34-FDF20A73DDE5")
                        IPerceptionControlGroup : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameProviderIds( 
                                /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionControlGroup = __uuidof(IPerceptionControlGroup);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameProviderIds )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_get_FrameProviderIds(This,value)	\
    ( (This)->lpVtbl -> get_FrameProviderIds(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0024 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionControlGroupFactory[] = L"Windows.Devices.Perception.Provider.IPerceptionControlGroupFactory";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0024 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0024_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionControlGroupFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("2F1AF2E0-BAF1-453B-BED4-CD9D4619154C")
                        IPerceptionControlGroupFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Create( 
                                /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *ids,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionControlGroup **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionControlGroupFactory = __uuidof(IPerceptionControlGroupFactory);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory * This,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *ids,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_Create(This,ids,result)	\
    ( (This)->lpVtbl -> Create(This,ids,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroupFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0025 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionCorrelation[] = L"Windows.Devices.Perception.Provider.IPerceptionCorrelation";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0025 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0025_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("B4131A82-DFF5-4047-8A19-3B4D805F7176")
                        IPerceptionCorrelation : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TargetId( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
                                /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Orientation( 
                                /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Numerics::Quaternion *value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionCorrelation = __uuidof(IPerceptionCorrelation);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_get_TargetId(This,value)	\
    ( (This)->lpVtbl -> get_TargetId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_get_Position(This,value)	\
    ( (This)->lpVtbl -> get_Position(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_get_Orientation(This,value)	\
    ( (This)->lpVtbl -> get_Orientation(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0026 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionCorrelationFactory[] = L"Windows.Devices.Perception.Provider.IPerceptionCorrelationFactory";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0026 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0026_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("D4A6C425-2884-4A8F-8134-2835D7286CBF")
                        IPerceptionCorrelationFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Create( 
                                /* [in] */ __RPC__in HSTRING targetId,
                                /* [in] */ ABI::Windows::Foundation::Numerics::Vector3 position,
                                /* [in] */ ABI::Windows::Foundation::Numerics::Quaternion orientation,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelation **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionCorrelationFactory = __uuidof(IPerceptionCorrelationFactory);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory * This,
            /* [in] */ __RPC__in HSTRING targetId,
            /* [in] */ __x_ABI_CWindows_CFoundation_CNumerics_CVector3 position,
            /* [in] */ __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion orientation,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelation **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_Create(This,targetId,position,orientation,result)	\
    ( (This)->lpVtbl -> Create(This,targetId,position,orientation,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0027 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionCorrelationGroup[] = L"Windows.Devices.Perception.Provider.IPerceptionCorrelationGroup";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0027 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0027_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroup */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("752A0906-36A7-47BB-9B79-56CC6B746770")
                        IPerceptionCorrelationGroup : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeLocations( 
                                /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionCorrelationGroup = __uuidof(IPerceptionCorrelationGroup);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeLocations )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_get_RelativeLocations(This,value)	\
    ( (This)->lpVtbl -> get_RelativeLocations(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0028 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionCorrelationGroupFactory[] = L"Windows.Devices.Perception.Provider.IPerceptionCorrelationGroupFactory";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0028 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0028_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroupFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("7DFE2088-63DF-48ED-83B1-4AB829132995")
                        IPerceptionCorrelationGroupFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Create( 
                                /* [in] */ __RPC__in_opt __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation *relativeLocations,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroup **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionCorrelationGroupFactory = __uuidof(IPerceptionCorrelationGroupFactory);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory * This,
            /* [in] */ __RPC__in_opt __FIIterable_1_Windows__CDevices__CPerception__CProvider__CPerceptionCorrelation *relativeLocations,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_Create(This,relativeLocations,result)	\
    ( (This)->lpVtbl -> Create(This,relativeLocations,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroupFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0029 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFaceAuthenticationGroup[] = L"Windows.Devices.Perception.Provider.IPerceptionFaceAuthenticationGroup";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0029 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0029_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("E8019814-4A91-41B0-83A6-881A1775353E")
                        IPerceptionFaceAuthenticationGroup : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameProviderIds( 
                                /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFaceAuthenticationGroup = __uuidof(IPerceptionFaceAuthenticationGroup);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameProviderIds )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_get_FrameProviderIds(This,value)	\
    ( (This)->lpVtbl -> get_FrameProviderIds(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0030 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFaceAuthenticationGroupFactory[] = L"Windows.Devices.Perception.Provider.IPerceptionFaceAuthenticationGroupFactory";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0030 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0030_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroupFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("E68A05D4-B60C-40F4-BCB9-F24D46467320")
                        IPerceptionFaceAuthenticationGroupFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Create( 
                                /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *ids,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionStartFaceAuthenticationHandler *startHandler,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionStopFaceAuthenticationHandler *stopHandler,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFaceAuthenticationGroupFactory = __uuidof(IPerceptionFaceAuthenticationGroupFactory);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory * This,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *ids,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStartFaceAuthenticationHandler *startHandler,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionStopFaceAuthenticationHandler *stopHandler,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_Create(This,ids,startHandler,stopHandler,result)	\
    ( (This)->lpVtbl -> Create(This,ids,startHandler,stopHandler,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroupFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0031 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFrame[] = L"Windows.Devices.Perception.Provider.IPerceptionFrame";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0031 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0031_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFrame */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("7CFE7825-54BB-4D9D-BEC5-8EF66151D2AC")
                        IPerceptionFrame : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( 
                                /* [out][retval] */ __RPC__out ABI::Windows::Foundation::TimeSpan *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RelativeTime( 
                                /* [in] */ ABI::Windows::Foundation::TimeSpan value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameData( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IMemoryBuffer **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFrame = __uuidof(IPerceptionFrame);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CTimeSpan *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelativeTime )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CTimeSpan value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameData )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIMemoryBuffer **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_get_RelativeTime(This,value)	\
    ( (This)->lpVtbl -> get_RelativeTime(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_put_RelativeTime(This,value)	\
    ( (This)->lpVtbl -> put_RelativeTime(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_get_Properties(This,value)	\
    ( (This)->lpVtbl -> get_Properties(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_get_FrameData(This,value)	\
    ( (This)->lpVtbl -> get_FrameData(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0032 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFrameProvider[] = L"Windows.Devices.Perception.Provider.IPerceptionFrameProvider";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0032 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0032_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProvider */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("794F7AB9-B37D-3B33-A10D-30626419CE65")
                        IPerceptionFrameProvider : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameProviderInfo( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo **result) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Available( 
                                /* [out][retval] */ __RPC__out boolean *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE SetProperty( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionPropertyChangeRequest *value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFrameProvider = __uuidof(IPerceptionFrameProvider);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameProviderInfo )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo **result);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Available )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);
        
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetProperty )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_get_FrameProviderInfo(This,result)	\
    ( (This)->lpVtbl -> get_FrameProviderInfo(This,result) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_get_Available(This,value)	\
    ( (This)->lpVtbl -> get_Available(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_get_Properties(This,value)	\
    ( (This)->lpVtbl -> get_Properties(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_Start(This)	\
    ( (This)->lpVtbl -> Start(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_SetProperty(This,value)	\
    ( (This)->lpVtbl -> SetProperty(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0033 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFrameProviderInfo[] = L"Windows.Devices.Perception.Provider.IPerceptionFrameProviderInfo";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0033 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0033_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("CCA959E8-797E-4E83-9B87-036A74142FC4")
                        IPerceptionFrameProviderInfo : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Id( 
                                /* [in] */ __RPC__in HSTRING value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
                                /* [in] */ __RPC__in HSTRING value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceKind( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeviceKind( 
                                /* [in] */ __RPC__in HSTRING value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameKind( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FrameKind( 
                                /* [in] */ __RPC__in HSTRING value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Hidden( 
                                /* [out][retval] */ __RPC__out boolean *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Hidden( 
                                /* [in] */ boolean value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFrameProviderInfo = __uuidof(IPerceptionFrameProviderInfo);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceKind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeviceKind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameKind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FrameKind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hidden )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Hidden )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfoVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_get_Id(This,value)	\
    ( (This)->lpVtbl -> get_Id(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_put_Id(This,value)	\
    ( (This)->lpVtbl -> put_Id(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_get_DisplayName(This,value)	\
    ( (This)->lpVtbl -> get_DisplayName(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_put_DisplayName(This,value)	\
    ( (This)->lpVtbl -> put_DisplayName(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_get_DeviceKind(This,value)	\
    ( (This)->lpVtbl -> get_DeviceKind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_put_DeviceKind(This,value)	\
    ( (This)->lpVtbl -> put_DeviceKind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_get_FrameKind(This,value)	\
    ( (This)->lpVtbl -> get_FrameKind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_put_FrameKind(This,value)	\
    ( (This)->lpVtbl -> put_FrameKind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_get_Hidden(This,value)	\
    ( (This)->lpVtbl -> get_Hidden(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_put_Hidden(This,value)	\
    ( (This)->lpVtbl -> put_Hidden(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0034 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFrameProviderManager[] = L"Windows.Devices.Perception.Provider.IPerceptionFrameProviderManager";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0034 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0034_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("A959CE07-EAD3-33DF-8EC1-B924ABE019C4")
                        IPerceptionFrameProviderManager : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE GetFrameProvider( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo *frameProviderInfo,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProvider **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFrameProviderManager = __uuidof(IPerceptionFrameProviderManager);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetFrameProvider )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo *frameProviderInfo,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_GetFrameProvider(This,frameProviderInfo,result)	\
    ( (This)->lpVtbl -> GetFrameProvider(This,frameProviderInfo,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0035 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionFrameProviderManagerServiceStatics[] = L"Windows.Devices.Perception.Provider.IPerceptionFrameProviderManagerServiceStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0035 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0035_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManagerServiceStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("AE8386E6-CAD9-4359-8F96-8EAE51810526")
                        IPerceptionFrameProviderManagerServiceStatics : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE RegisterFrameProviderInfo( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo *frameProviderInfo) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE UnregisterFrameProviderInfo( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo *frameProviderInfo) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE RegisterFaceAuthenticationGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup *faceAuthenticationGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE UnregisterFaceAuthenticationGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup *faceAuthenticationGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE RegisterControlGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionControlGroup *controlGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE UnregisterControlGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionControlGroup *controlGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE RegisterCorrelationGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroup *correlationGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE UnregisterCorrelationGroup( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager *manager,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroup *correlationGroup) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE UpdateAvailabilityForProvider( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProvider *provider,
                                /* [in] */ boolean available) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE PublishFrameForProvider( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrameProvider *provider,
                                /* [in] */ __RPC__in_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrame *frame) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionFrameProviderManagerServiceStatics = __uuidof(IPerceptionFrameProviderManagerServiceStatics);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterFrameProviderInfo )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo *frameProviderInfo);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterFrameProviderInfo )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderInfo *frameProviderInfo);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterFaceAuthenticationGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup *faceAuthenticationGroup);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterFaceAuthenticationGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFaceAuthenticationGroup *faceAuthenticationGroup);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterControlGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup *controlGroup);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterControlGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionControlGroup *controlGroup);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterCorrelationGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup *correlationGroup);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterCorrelationGroup )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManager *manager,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionCorrelationGroup *correlationGroup);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateAvailabilityForProvider )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider *provider,
            /* [in] */ boolean available);
        
        HRESULT ( STDMETHODCALLTYPE *PublishFrameForProvider )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProvider *provider,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame *frame);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_RegisterFrameProviderInfo(This,manager,frameProviderInfo)	\
    ( (This)->lpVtbl -> RegisterFrameProviderInfo(This,manager,frameProviderInfo) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_UnregisterFrameProviderInfo(This,manager,frameProviderInfo)	\
    ( (This)->lpVtbl -> UnregisterFrameProviderInfo(This,manager,frameProviderInfo) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_RegisterFaceAuthenticationGroup(This,manager,faceAuthenticationGroup)	\
    ( (This)->lpVtbl -> RegisterFaceAuthenticationGroup(This,manager,faceAuthenticationGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_UnregisterFaceAuthenticationGroup(This,manager,faceAuthenticationGroup)	\
    ( (This)->lpVtbl -> UnregisterFaceAuthenticationGroup(This,manager,faceAuthenticationGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_RegisterControlGroup(This,manager,controlGroup)	\
    ( (This)->lpVtbl -> RegisterControlGroup(This,manager,controlGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_UnregisterControlGroup(This,manager,controlGroup)	\
    ( (This)->lpVtbl -> UnregisterControlGroup(This,manager,controlGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_RegisterCorrelationGroup(This,manager,correlationGroup)	\
    ( (This)->lpVtbl -> RegisterCorrelationGroup(This,manager,correlationGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_UnregisterCorrelationGroup(This,manager,correlationGroup)	\
    ( (This)->lpVtbl -> UnregisterCorrelationGroup(This,manager,correlationGroup) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_UpdateAvailabilityForProvider(This,provider,available)	\
    ( (This)->lpVtbl -> UpdateAvailabilityForProvider(This,provider,available) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_PublishFrameForProvider(This,provider,frame)	\
    ( (This)->lpVtbl -> PublishFrameForProvider(This,provider,frame) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrameProviderManagerServiceStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0036 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionPropertyChangeRequest[] = L"Windows.Devices.Perception.Provider.IPerceptionPropertyChangeRequest";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0036 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0036_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionPropertyChangeRequest */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("3C5AEB51-350B-4DF8-9414-59E09815510B")
                        IPerceptionPropertyChangeRequest : public IInspectable
                        {
                        public:
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
                                /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
                                /* [out][retval] */ __RPC__deref_out_opt IInspectable **value) = 0;
                            
                            virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                                /* [out][retval] */ __RPC__out ABI::Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus *value) = 0;
                            
                            virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Status( 
                                /* [in] */ ABI::Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IDeferral **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionPropertyChangeRequest = __uuidof(IPerceptionPropertyChangeRequest);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CPerception_CPerceptionFrameSourcePropertyChangeStatus *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Status )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CPerception_CPerceptionFrameSourcePropertyChangeStatus value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIDeferral **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequestVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_get_Name(This,value)	\
    ( (This)->lpVtbl -> get_Name(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_get_Value(This,value)	\
    ( (This)->lpVtbl -> get_Value(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_get_Status(This,value)	\
    ( (This)->lpVtbl -> get_Status(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_put_Status(This,value)	\
    ( (This)->lpVtbl -> put_Status(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_GetDeferral(This,result)	\
    ( (This)->lpVtbl -> GetDeferral(This,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionPropertyChangeRequest_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0037 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionVideoFrameAllocator[] = L"Windows.Devices.Perception.Provider.IPerceptionVideoFrameAllocator";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0037 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0037_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionVideoFrameAllocator */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("4C38A7DA-FDD8-4ED4-A039-2A6F9B235038")
                        IPerceptionVideoFrameAllocator : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE AllocateFrame( 
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrame **value) = 0;
                            
                            virtual HRESULT STDMETHODCALLTYPE CopyFromVideoFrame( 
                                /* [in] */ __RPC__in_opt ABI::Windows::Media::IVideoFrame *frame,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionFrame **value) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionVideoFrameAllocator = __uuidof(IPerceptionVideoFrameAllocator);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *AllocateFrame )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame **value);
        
        HRESULT ( STDMETHODCALLTYPE *CopyFromVideoFrame )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CIVideoFrame *frame,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionFrame **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_AllocateFrame(This,value)	\
    ( (This)->lpVtbl -> AllocateFrame(This,value) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_CopyFromVideoFrame(This,frame,value)	\
    ( (This)->lpVtbl -> CopyFromVideoFrame(This,frame,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0038 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Perception_Provider_IPerceptionVideoFrameAllocatorFactory[] = L"Windows.Devices.Perception.Provider.IPerceptionVideoFrameAllocatorFactory";
#endif /* !defined(____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0038 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0038_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Perception::Provider::IPerceptionVideoFrameAllocatorFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Perception {
                    namespace Provider {
                        
                        MIDL_INTERFACE("1A58B0E1-E91A-481E-B876-A89E2BBC6B33")
                        IPerceptionVideoFrameAllocatorFactory : public IInspectable
                        {
                        public:
                            virtual HRESULT STDMETHODCALLTYPE Create( 
                                /* [in] */ UINT32 maxOutstandingFrameCountForWrite,
                                /* [in] */ ABI::Windows::Graphics::Imaging::BitmapPixelFormat format,
                                /* [in] */ ABI::Windows::Foundation::Size resolution,
                                /* [in] */ ABI::Windows::Graphics::Imaging::BitmapAlphaMode alpha,
                                /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Perception::Provider::IPerceptionVideoFrameAllocator **result) = 0;
                            
                        };

                        extern const __declspec(selectany) IID & IID_IPerceptionVideoFrameAllocatorFactory = __uuidof(IPerceptionVideoFrameAllocatorFactory);

                        
                    }  /* end namespace */
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory * This,
            /* [in] */ UINT32 maxOutstandingFrameCountForWrite,
            /* [in] */ __x_ABI_CWindows_CGraphics_CImaging_CBitmapPixelFormat format,
            /* [in] */ __x_ABI_CWindows_CFoundation_CSize resolution,
            /* [in] */ __x_ABI_CWindows_CGraphics_CImaging_CBitmapAlphaMode alpha,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocator **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_Create(This,maxOutstandingFrameCountForWrite,format,resolution,alpha,result)	\
    ( (This)->lpVtbl -> Create(This,maxOutstandingFrameCountForWrite,format,resolution,alpha,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CPerception_CProvider_CIPerceptionVideoFrameAllocatorFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0039 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_KnownPerceptionFrameKind_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_KnownPerceptionFrameKind_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_KnownPerceptionFrameKind[] = L"Windows.Devices.Perception.Provider.KnownPerceptionFrameKind";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionControlGroup_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionControlGroup_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionControlGroup[] = L"Windows.Devices.Perception.Provider.PerceptionControlGroup";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionCorrelation_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionCorrelation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionCorrelation[] = L"Windows.Devices.Perception.Provider.PerceptionCorrelation";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionCorrelationGroup_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionCorrelationGroup_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionCorrelationGroup[] = L"Windows.Devices.Perception.Provider.PerceptionCorrelationGroup";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFaceAuthenticationGroup_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFaceAuthenticationGroup_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionFaceAuthenticationGroup[] = L"Windows.Devices.Perception.Provider.PerceptionFaceAuthenticationGroup";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrame_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrame_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionFrame[] = L"Windows.Devices.Perception.Provider.PerceptionFrame";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrameProviderInfo_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrameProviderInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionFrameProviderInfo[] = L"Windows.Devices.Perception.Provider.PerceptionFrameProviderInfo";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrameProviderManagerService_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionFrameProviderManagerService_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionFrameProviderManagerService[] = L"Windows.Devices.Perception.Provider.PerceptionFrameProviderManagerService";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionPropertyChangeRequest_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionPropertyChangeRequest_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionPropertyChangeRequest[] = L"Windows.Devices.Perception.Provider.PerceptionPropertyChangeRequest";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionVideoFrameAllocator_DEFINED
#define RUNTIMECLASS_Windows_Devices_Perception_Provider_PerceptionVideoFrameAllocator_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Perception_Provider_PerceptionVideoFrameAllocator[] = L"Windows.Devices.Perception.Provider.PerceptionVideoFrameAllocator";
#endif


/* interface __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0039 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eperception2Eprovider_0000_0039_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  HSTRING_UserSize(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

unsigned long             __RPC_USER  HSTRING_UserSize64(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal64(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree64(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


