

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


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

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* 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 __windows2Edevices2Ehumaninterfacedevice_h__
#define __windows2Edevices2Ehumaninterfacedevice_h__

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

/* Forward Declarations */ 

#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidDeviceStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidBooleanControlDescription;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidNumericControlDescription;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidCollection;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidInputReport;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidOutputReport;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidFeatureReport;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidInputReportReceivedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidBooleanControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidNumericControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                interface IHidDevice;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_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 HumanInterfaceDevice {
class HidBooleanControl;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidBooleanControl;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0582 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0582 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0582_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0582_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#define DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("5cde3c23-d054-53d6-abf1-41e73379b472"))
IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControl>"; }
};
typedef IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t;
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0583 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0583 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0583_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0583_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#define DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("1111e585-5ab0-5d2b-8aed-b6d6186d1c3f"))
IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControl>"; }
};
typedef IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t;
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidBooleanControlDescription;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidBooleanControlDescription;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0002 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0584 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0584 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0584_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0584_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0003 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#define DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("203203b0-b7f4-542d-b0d0-9caa1fb55d7f"))
IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControlDescription>"; }
};
typedef IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t;
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0585 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0585 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0585_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0585_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0004 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#define DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("d0ff0fed-a156-58bf-9411-5777df9d57bf"))
IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControlDescription>"; }
};
typedef IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t;
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidCollection;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidCollection;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0004 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0586 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0586 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0586_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0586_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0005 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#define DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("cefcee70-c7ff-57c1-a675-a0df8976a988"))
IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*, ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.HumanInterfaceDevice.HidCollection>"; }
};
typedef IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t;
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0587 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0587 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0587_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0587_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0006 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#define DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("bbeada0f-708f-5b5e-a017-5c64ffb96b69"))
IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*, ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.HumanInterfaceDevice.HidCollection>"; }
};
typedef IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t;
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidNumericControlDescription;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidNumericControlDescription;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0006 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0588 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0588 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0588_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0588_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0007 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#define DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("52b9c36e-7d95-5d1c-acab-23c19ea76f01"))
IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.HumanInterfaceDevice.HidNumericControlDescription>"; }
};
typedef IIterator<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t;
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0589 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0589 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0589_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0589_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0008 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#define DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("868f060d-e0d4-571b-b2f7-431d6984a513"))
IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.HumanInterfaceDevice.HidNumericControlDescription>"; }
};
typedef IIterable<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t;
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0008 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0590 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0590 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0590_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0590_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0009 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#define DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("0e417dac-591a-5de0-afd6-0b2c04c304e7"))
IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControl>"; }
};
typedef IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControl*> __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t;
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0591 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0591 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0591_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0591_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0010 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#define DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("aab72786-ec34-536f-a7c5-27394753df2c"))
IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.HumanInterfaceDevice.HidBooleanControlDescription>"; }
};
typedef IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription*> __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t;
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0010 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0592 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0592 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0592_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0592_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0011 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#define DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("96f1faac-348f-5b8f-a71d-2d650e0b11f2"))
IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*, ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.HumanInterfaceDevice.HidCollection>"; }
};
typedef IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidCollection*> __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t;
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0011 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0593 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0593 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0593_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0593_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0012 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#define DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e02ca66c-610a-51b4-aef9-3707b697b985"))
IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*, ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.HumanInterfaceDevice.HidNumericControlDescription>"; }
};
typedef IVectorView<ABI::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription*> __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t;
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidDevice;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidDevice;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0594 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0594 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0594_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0594_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0013 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("b0e8e149-0cb6-55a7-bcc1-d996324d65c4"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*, ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.HumanInterfaceDevice.HidDevice>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0595 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0595 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0595_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0595_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0014 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("a76a4fbf-5177-5256-84a8-b31a8dcf1048"))
IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*, ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.HumanInterfaceDevice.HidDevice>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*> __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidFeatureReport;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidFeatureReport;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0014 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0596 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0596 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0596_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0596_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0015 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("db643555-3d16-57fe-b7ef-2bdbd719fdbf"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*, ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.HumanInterfaceDevice.HidFeatureReport>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0597 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0597 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0597_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0597_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0016 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("d72fb6f9-42f6-5f45-bfe3-29af247c2e85"))
IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*, ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.HumanInterfaceDevice.HidFeatureReport>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidFeatureReport*> __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidInputReport;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidInputReport;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0016 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0598 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0598 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0598_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0598_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0017 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("01c83770-03ab-5576-98b4-8d75ce1a9885"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*, ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReport*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.HumanInterfaceDevice.HidInputReport>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0017 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0017_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0599 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0599 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0599_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0599_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0018 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("b3e28917-cd48-57b3-a0b1-321432e85bd6"))
IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*, ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReport*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.HumanInterfaceDevice.HidInputReport>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReport*> __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidInputReportReceivedEventArgs;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
interface IHidInputReportReceivedEventArgs;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0018 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0600 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0600 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0600_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0600_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0019 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("31e757c8-8f6a-540b-938b-aba79b6f03ec"))
ITypedEventHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*,ABI::Windows::Devices::HumanInterfaceDevice::HidInputReportReceivedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*, ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::HumanInterfaceDevice::HidInputReportReceivedEventArgs*, ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReportReceivedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.HumanInterfaceDevice.HidDevice, Windows.Devices.HumanInterfaceDevice.HidInputReportReceivedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::HumanInterfaceDevice::HidDevice*,ABI::Windows::Devices::HumanInterfaceDevice::HidInputReportReceivedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0019 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0019_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0601 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0601 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0601_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0601_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0020 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_UINT32_USE
#define DEF___FIAsyncOperationCompletedHandler_1_UINT32_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("9343b6e7-e3d2-5e4a-ab2d-2bce4919a6a4"))
IAsyncOperationCompletedHandler<UINT32> : IAsyncOperationCompletedHandler_impl<UINT32> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<UInt32>"; }
};
typedef IAsyncOperationCompletedHandler<UINT32> __FIAsyncOperationCompletedHandler_1_UINT32_t;
#define ____FIAsyncOperationCompletedHandler_1_UINT32_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_UINT32 ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_UINT32_t

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0020 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0602 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0602 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0602_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0602_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0021 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_UINT32_USE
#define DEF___FIAsyncOperation_1_UINT32_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("ef60385f-be78-584b-aaef-7829ada2b0de"))
IAsyncOperation<UINT32> : IAsyncOperation_impl<UINT32> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<UInt32>"; }
};
typedef IAsyncOperation<UINT32> __FIAsyncOperation_1_UINT32_t;
#define ____FIAsyncOperation_1_UINT32_FWD_DEFINED__
#define __FIAsyncOperation_1_UINT32 ABI::Windows::Foundation::__FIAsyncOperation_1_UINT32_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_UINT32_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Estorage_h__)
#include <Windows.Storage.h>
#endif // !defined(__windows2Estorage_h__)
#if !defined(__windows2Estorage2Estreams_h__)
#include <Windows.Storage.Streams.h>
#endif // !defined(__windows2Estorage2Estreams_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)

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

typedef enum __x_ABI_CWindows_CStorage_CFileAccessMode __x_ABI_CWindows_CStorage_CFileAccessMode;


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


#endif

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

typedef enum __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType;


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


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

typedef enum __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidCollectionType __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidCollectionType;


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


#endif



#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidOutputReport;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace HumanInterfaceDevice {
class HidNumericControl;
} /*HumanInterfaceDevice*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0021 */
/* [local] */ 



#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Storage {
            
            typedef enum FileAccessMode FileAccessMode;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif


#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                
                typedef enum HidReportType HidReportType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                
                typedef enum HidCollectionType HidCollectionType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif






extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0021_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0603 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0603 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0603_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0603_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0022 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0022 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0022_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5cde3c23-d054-53d6-abf1-41e73379b472")
    __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **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::HumanInterfaceDevice::IHidBooleanControl **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * 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__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl;

    interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0023 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0023 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0023_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0604 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0604 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0604_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0604_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0024 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0024 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0024_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1111e585-5ab0-5d2b-8aed-b6d6186d1c3f")
    __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * 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__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl;

    interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0025 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0025 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0025_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0605 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0605 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0605_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0605_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0026 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0026 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0026_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("203203b0-b7f4-542d-b0d0-9caa1fb55d7f")
    __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription **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::HumanInterfaceDevice::IHidBooleanControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * 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__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl;

    interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0027 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0027 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0027_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0606 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0606 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0606_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0606_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0028 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0028 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0028_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d0ff0fed-a156-58bf-9411-5777df9d57bf")
    __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * 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__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl;

    interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0029 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0029 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0029_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0607 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0607 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0607_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0607_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0030 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0030 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0030_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cefcee70-c7ff-57c1-a675-a0df8976a988")
    __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection **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::HumanInterfaceDevice::IHidCollection **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * 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__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl;

    interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0031 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0031 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0031_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0608 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0608 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0608_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0608_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0032 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0032 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0032_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bbeada0f-708f-5b5e-a017-5c64ffb96b69")
    __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * 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__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl;

    interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0033 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0033 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0033_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0609 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0609 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0609_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0609_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0034 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0034 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0034_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("52b9c36e-7d95-5d1c-acab-23c19ea76f01")
    __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription **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::HumanInterfaceDevice::IHidNumericControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * 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__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl;

    interface __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0035 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0035 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0035_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0610 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0610 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0610_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0610_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0036 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0036 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0036_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("868f060d-e0d4-571b-b2f7-431d6984a513")
    __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * 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__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl;

    interface __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0037 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0037 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0037_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0611 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0611 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0611_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0611_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0038 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0038 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0038_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0e417dac-591a-5de0-afd6-0b2c04c304e7")
    __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **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::HumanInterfaceDevice::IHidBooleanControl *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::HumanInterfaceDevice::IHidBooleanControl **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * 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__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl;

    interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl_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__CHumanInterfaceDevice__CHidBooleanControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0039 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0039 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0039_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0612 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0612 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0612_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0612_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0040 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0040 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0040_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("aab72786-ec34-536f-a7c5-27394753df2c")
    __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription **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::HumanInterfaceDevice::IHidBooleanControlDescription *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::HumanInterfaceDevice::IHidBooleanControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * 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__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl;

    interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription_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__CHumanInterfaceDevice__CHidBooleanControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0041 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0041 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0041_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0613 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0613 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0613_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0613_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0042 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0042 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0042_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("96f1faac-348f-5b8f-a71d-2d650e0b11f2")
    __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection **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::HumanInterfaceDevice::IHidCollection *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::HumanInterfaceDevice::IHidCollection **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * 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__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl;

    interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection_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__CHumanInterfaceDevice__CHidCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0043 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0043 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0043_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0614 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0614 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0614_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0614_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0044 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0044 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0044_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e02ca66c-610a-51b4-aef9-3707b697b985")
    __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription **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::HumanInterfaceDevice::IHidNumericControlDescription *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::HumanInterfaceDevice::IHidNumericControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * 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__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl;

    interface __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#define __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription_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__CHumanInterfaceDevice__CHidNumericControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0045 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0045 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0045_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0615 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0615 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0615_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0615_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0046 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0046 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0046_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b0e8e149-0cb6-55a7-bcc1-d996324d65c4")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice *asyncInfo,
            /* [in] */ AsyncStatus status);
        
        END_INTERFACE
    } __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl;

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0047 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0047 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0047_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0616 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0616 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0616_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0616_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0048 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0048 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0048_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a76a4fbf-5177-5256-84a8-b31a8dcf1048")
    __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * 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 __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice *handler);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice **handler);
        
        HRESULT ( STDMETHODCALLTYPE *GetResults )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice **results);
        
        END_INTERFACE
    } __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl;

    interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0049 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0049 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0049_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0617 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0617 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0617_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0617_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0050 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0050 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0050_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("db643555-3d16-57fe-b7ef-2bdbd719fdbf")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport *asyncInfo,
            /* [in] */ AsyncStatus status);
        
        END_INTERFACE
    } __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl;

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0051 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0051 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0051_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0618 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0618 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0618_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0618_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0052 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0052 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0052_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d72fb6f9-42f6-5f45-bfe3-29af247c2e85")
    __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * 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 __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport *handler);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **handler);
        
        HRESULT ( STDMETHODCALLTYPE *GetResults )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport **results);
        
        END_INTERFACE
    } __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl;

    interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0053 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0053 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0053_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0619 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0619 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0619_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0619_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0054 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0054 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0054_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("01c83770-03ab-5576-98b4-8d75ce1a9885")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport *asyncInfo,
            /* [in] */ AsyncStatus status);
        
        END_INTERFACE
    } __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl;

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0055 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0055 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0055_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0620 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0620 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0620_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0620_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0056 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0056 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0056_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b3e28917-cd48-57b3-a0b1-321432e85bd6")
    __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReport **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * 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 __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport *handler);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **handler);
        
        HRESULT ( STDMETHODCALLTYPE *GetResults )( 
            __RPC__in __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport **results);
        
        END_INTERFACE
    } __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl;

    interface __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0057 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0057 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0057_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0621 */




/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0621 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0621_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0621_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0058 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0058 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0058_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31e757c8-8f6a-540b-938b-aba79b6f03ec")
    __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReportReceivedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0059 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs */
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType
    {
        HidReportType_Input	= 0,
        HidReportType_Output	= 1,
        HidReportType_Feature	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidCollectionType
    {
        HidCollectionType_Physical	= 0,
        HidCollectionType_Application	= 1,
        HidCollectionType_Logical	= 2,
        HidCollectionType_Report	= 3,
        HidCollectionType_NamedArray	= 4,
        HidCollectionType_UsageSwitch	= 5,
        HidCollectionType_UsageModifier	= 6,
        HidCollectionType_Other	= 7
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidDeviceStatics[] = L"Windows.Devices.HumanInterfaceDevice.IHidDeviceStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0059 */
/* [local] */ 

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                
                /* [v1_enum] */ 
                enum HidReportType
                    {
                        HidReportType_Input	= 0,
                        HidReportType_Output	= 1,
                        HidReportType_Feature	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace HumanInterfaceDevice {
                
                /* [v1_enum] */ 
                enum HidCollectionType
                    {
                        HidCollectionType_Physical	= 0,
                        HidCollectionType_Application	= 1,
                        HidCollectionType_Logical	= 2,
                        HidCollectionType_Report	= 3,
                        HidCollectionType_NamedArray	= 4,
                        HidCollectionType_UsageSwitch	= 5,
                        HidCollectionType_UsageModifier	= 6,
                        HidCollectionType_Other	= 7
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0059_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidDeviceStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("9E5981E4-9856-418C-9F73-77DE0CD85754")
                    IHidDeviceStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelector( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *selector) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorVidPid( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [in] */ UINT16 vendorId,
                            /* [in] */ UINT16 productId,
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *selector) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FromIdAsync( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ ABI::Windows::Storage::FileAccessMode accessMode,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice **hidDevice) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidDeviceStatics = __uuidof(IHidDeviceStatics);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * 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_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetDeviceSelector )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *selector);
        
        HRESULT ( STDMETHODCALLTYPE *GetDeviceSelectorVidPid )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [in] */ UINT16 vendorId,
            /* [in] */ UINT16 productId,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *selector);
        
        HRESULT ( STDMETHODCALLTYPE *FromIdAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __x_ABI_CWindows_CStorage_CFileAccessMode accessMode,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidDevice **hidDevice);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_GetDeviceSelector(This,usagePage,usageId,selector)	\
    ( (This)->lpVtbl -> GetDeviceSelector(This,usagePage,usageId,selector) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_GetDeviceSelectorVidPid(This,usagePage,usageId,vendorId,productId,selector)	\
    ( (This)->lpVtbl -> GetDeviceSelectorVidPid(This,usagePage,usageId,vendorId,productId,selector) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_FromIdAsync(This,deviceId,accessMode,hidDevice)	\
    ( (This)->lpVtbl -> FromIdAsync(This,deviceId,accessMode,hidDevice) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0060 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidBooleanControlDescription[] = L"Windows.Devices.HumanInterfaceDevice.IHidBooleanControlDescription";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0060 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0060_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("6196E543-29D8-4A2A-8683-849E207BBE31")
                    IHidBooleanControlDescription : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::HumanInterfaceDevice::HidReportType *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParentCollections( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidBooleanControlDescription = __uuidof(IHidBooleanControlDescription);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * 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_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportType )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCollections )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescriptionVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_get_ReportId(This,value)	\
    ( (This)->lpVtbl -> get_ReportId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_get_ReportType(This,value)	\
    ( (This)->lpVtbl -> get_ReportType(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_get_ParentCollections(This,value)	\
    ( (This)->lpVtbl -> get_ParentCollections(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0061 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidNumericControlDescription[] = L"Windows.Devices.HumanInterfaceDevice.IHidNumericControlDescription";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0061 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0061_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("638D5E86-1D97-4C75-927F-5FF58BA05E32")
                    IHidNumericControlDescription : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::HumanInterfaceDevice::HidReportType *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportSize( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReportCount( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogicalMinimum( 
                            /* [out][retval] */ __RPC__out INT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogicalMaximum( 
                            /* [out][retval] */ __RPC__out INT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalMinimum( 
                            /* [out][retval] */ __RPC__out INT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalMaximum( 
                            /* [out][retval] */ __RPC__out INT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UnitExponent( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Unit( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsAbsolute( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasNull( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParentCollections( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidNumericControlDescription = __uuidof(IHidNumericControlDescription);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * 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_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportType )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportSize )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReportCount )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogicalMinimum )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogicalMaximum )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalMinimum )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalMaximum )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out INT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitExponent )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unit )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsAbsolute )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasNull )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCollections )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidCollection **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescriptionVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_ReportId(This,value)	\
    ( (This)->lpVtbl -> get_ReportId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_ReportType(This,value)	\
    ( (This)->lpVtbl -> get_ReportType(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_ReportSize(This,value)	\
    ( (This)->lpVtbl -> get_ReportSize(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_ReportCount(This,value)	\
    ( (This)->lpVtbl -> get_ReportCount(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_LogicalMinimum(This,value)	\
    ( (This)->lpVtbl -> get_LogicalMinimum(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_LogicalMaximum(This,value)	\
    ( (This)->lpVtbl -> get_LogicalMaximum(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_PhysicalMinimum(This,value)	\
    ( (This)->lpVtbl -> get_PhysicalMinimum(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_PhysicalMaximum(This,value)	\
    ( (This)->lpVtbl -> get_PhysicalMaximum(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_UnitExponent(This,value)	\
    ( (This)->lpVtbl -> get_UnitExponent(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_Unit(This,value)	\
    ( (This)->lpVtbl -> get_Unit(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_IsAbsolute(This,value)	\
    ( (This)->lpVtbl -> get_IsAbsolute(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_HasNull(This,value)	\
    ( (This)->lpVtbl -> get_HasNull(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_get_ParentCollections(This,value)	\
    ( (This)->lpVtbl -> get_ParentCollections(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0062 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidCollection[] = L"Windows.Devices.HumanInterfaceDevice.IHidCollection";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0062 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0062_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidCollection */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("7189F5A3-32F1-46E3-BEFD-44D2663B7E6A")
                    IHidCollection : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::HumanInterfaceDevice::HidCollectionType *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidCollection = __uuidof(IHidCollection);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * 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_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidCollectionType *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollectionVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_get_Type(This,value)	\
    ( (This)->lpVtbl -> get_Type(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0063 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidInputReport[] = L"Windows.Devices.HumanInterfaceDevice.IHidInputReport";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0063 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0063_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReport */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("C35D0E50-F7E7-4E8D-B23E-CABBE56B90E9")
                    IHidInputReport : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActivatedBooleanControls( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TransitionedBooleanControls( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidInputReport = __uuidof(IHidInputReport);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * 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_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActivatedBooleanControls )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TransitionedBooleanControls )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_get_Data(This,value)	\
    ( (This)->lpVtbl -> get_Data(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_get_ActivatedBooleanControls(This,value)	\
    ( (This)->lpVtbl -> get_ActivatedBooleanControls(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_get_TransitionedBooleanControls(This,value)	\
    ( (This)->lpVtbl -> get_TransitionedBooleanControls(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_GetBooleanControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetBooleanControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_GetBooleanControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetBooleanControlByDescription(This,controlDescription,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_GetNumericControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetNumericControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_GetNumericControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetNumericControlByDescription(This,controlDescription,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0064 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidOutputReport[] = L"Windows.Devices.HumanInterfaceDevice.IHidOutputReport";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0064 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0064_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidOutputReport */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("62CB2544-C896-4463-93C1-DF9DB053C450")
                    IHidOutputReport : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Data( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::Streams::IBuffer *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidOutputReport = __uuidof(IHidOutputReport);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * 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_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Data )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReportVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_get_Data(This,value)	\
    ( (This)->lpVtbl -> get_Data(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_put_Data(This,value)	\
    ( (This)->lpVtbl -> put_Data(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_GetBooleanControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetBooleanControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_GetBooleanControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetBooleanControlByDescription(This,controlDescription,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_GetNumericControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetNumericControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_GetNumericControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetNumericControlByDescription(This,controlDescription,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0065 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidFeatureReport[] = L"Windows.Devices.HumanInterfaceDevice.IHidFeatureReport";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0065 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0065_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("841D9B79-5AE5-46E3-82EF-1FEC5C8942F4")
                    IHidFeatureReport : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Data( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::Streams::IBuffer *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControl( 
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControlByDescription( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription *controlDescription,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidFeatureReport = __uuidof(IHidFeatureReport);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * 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_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Data )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControl )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControlByDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription *controlDescription,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReportVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_get_Data(This,value)	\
    ( (This)->lpVtbl -> get_Data(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_put_Data(This,value)	\
    ( (This)->lpVtbl -> put_Data(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_GetBooleanControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetBooleanControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_GetBooleanControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetBooleanControlByDescription(This,controlDescription,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_GetNumericControl(This,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetNumericControl(This,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_GetNumericControlByDescription(This,controlDescription,value)	\
    ( (This)->lpVtbl -> GetNumericControlByDescription(This,controlDescription,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0066 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidInputReportReceivedEventArgs[] = L"Windows.Devices.HumanInterfaceDevice.IHidInputReportReceivedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0066 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0066_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReportReceivedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("7059C5CB-59B2-4DC2-985C-0ADC6136FA2D")
                    IHidInputReportReceivedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Report( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidInputReport **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidInputReportReceivedEventArgs = __uuidof(IHidInputReportReceivedEventArgs);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * 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_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Report )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReport **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgsVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_get_Report(This,value)	\
    ( (This)->lpVtbl -> get_Report(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidInputReportReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0067 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidBooleanControl[] = L"Windows.Devices.HumanInterfaceDevice.IHidBooleanControl";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0067 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0067_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("524DF48A-3695-408C-BBA2-E2EB5ABFBC20")
                    IHidBooleanControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsActive( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControlDescription( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidBooleanControl = __uuidof(IHidBooleanControl);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * 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_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsActive )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlDescription **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_get_IsActive(This,value)	\
    ( (This)->lpVtbl -> get_IsActive(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_put_IsActive(This,value)	\
    ( (This)->lpVtbl -> put_IsActive(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_get_ControlDescription(This,value)	\
    ( (This)->lpVtbl -> get_ControlDescription(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidBooleanControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0068 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidNumericControl[] = L"Windows.Devices.HumanInterfaceDevice.IHidNumericControl";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0068 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0068_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("E38A12A5-35A7-4B75-89C8-FB1F28B10823")
                    IHidNumericControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsGrouped( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
                            /* [out][retval] */ __RPC__out INT64 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
                            /* [in] */ INT64 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScaledValue( 
                            /* [out][retval] */ __RPC__out INT64 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaledValue( 
                            /* [in] */ INT64 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControlDescription( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidNumericControl = __uuidof(IHidNumericControl);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * 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_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGrouped )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out INT64 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [in] */ INT64 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaledValue )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__out INT64 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaledValue )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [in] */ INT64 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlDescription )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlDescription **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_get_IsGrouped(This,value)	\
    ( (This)->lpVtbl -> get_IsGrouped(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

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

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_put_Value(This,value)	\
    ( (This)->lpVtbl -> put_Value(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_get_ScaledValue(This,value)	\
    ( (This)->lpVtbl -> get_ScaledValue(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_put_ScaledValue(This,value)	\
    ( (This)->lpVtbl -> put_ScaledValue(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_get_ControlDescription(This,value)	\
    ( (This)->lpVtbl -> get_ControlDescription(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidNumericControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0069 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_HumanInterfaceDevice_IHidDevice[] = L"Windows.Devices.HumanInterfaceDevice.IHidDevice";
#endif /* !defined(____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0069 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0069_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace HumanInterfaceDevice {
                    
                    MIDL_INTERFACE("5F8A14E7-2200-432E-95DA-D09B87D574A8")
                    IHidDevice : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VendorId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProductId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsagePage( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UsageId( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetInputReportAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetInputReportByIdAsync( 
                            /* [in] */ UINT16 reportId,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetFeatureReportAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetFeatureReportByIdAsync( 
                            /* [in] */ UINT16 reportId,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateOutputReport( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidOutputReport **outputReport) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateOutputReportById( 
                            /* [in] */ UINT16 reportId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidOutputReport **outputReport) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFeatureReport( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport **featureReport) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFeatureReportById( 
                            /* [in] */ UINT16 reportId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport **featureReport) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SendOutputReportAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidOutputReport *outputReport,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_UINT32 **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SendFeatureReportAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport *featureReport,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_UINT32 **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetBooleanControlDescriptions( 
                            /* [in] */ ABI::Windows::Devices::HumanInterfaceDevice::HidReportType reportType,
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetNumericControlDescriptions( 
                            /* [in] */ ABI::Windows::Devices::HumanInterfaceDevice::HidReportType reportType,
                            /* [in] */ UINT16 usagePage,
                            /* [in] */ UINT16 usageId,
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_InputReportReceived( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs *reportHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_InputReportReceived( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IHidDevice = __uuidof(IHidDevice);

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

    typedef struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * 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_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsagePage )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsageId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetInputReportAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetInputReportByIdAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ UINT16 reportId,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidInputReport **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetFeatureReportAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetFeatureReportByIdAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ UINT16 reportId,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CHumanInterfaceDevice__CHidFeatureReport **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateOutputReport )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport **outputReport);
        
        HRESULT ( STDMETHODCALLTYPE *CreateOutputReportById )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ UINT16 reportId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport **outputReport);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFeatureReport )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport **featureReport);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFeatureReportById )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ UINT16 reportId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport **featureReport);
        
        HRESULT ( STDMETHODCALLTYPE *SendOutputReportAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidOutputReport *outputReport,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_UINT32 **operation);
        
        HRESULT ( STDMETHODCALLTYPE *SendFeatureReportAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidFeatureReport *featureReport,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_UINT32 **operation);
        
        HRESULT ( STDMETHODCALLTYPE *GetBooleanControlDescriptions )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType reportType,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidBooleanControlDescription **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumericControlDescriptions )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CHidReportType reportType,
            /* [in] */ UINT16 usagePage,
            /* [in] */ UINT16 usageId,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CHumanInterfaceDevice__CHidNumericControlDescription **value);
        
        HRESULT ( STDMETHODCALLTYPE *add_InputReportReceived )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CHumanInterfaceDevice__CHidDevice_Windows__CDevices__CHumanInterfaceDevice__CHidInputReportReceivedEventArgs *reportHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_InputReportReceived )( 
            __RPC__in __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceVtbl;

    interface __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_get_VendorId(This,value)	\
    ( (This)->lpVtbl -> get_VendorId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_get_ProductId(This,value)	\
    ( (This)->lpVtbl -> get_ProductId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_get_Version(This,value)	\
    ( (This)->lpVtbl -> get_Version(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_get_UsagePage(This,value)	\
    ( (This)->lpVtbl -> get_UsagePage(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_get_UsageId(This,value)	\
    ( (This)->lpVtbl -> get_UsageId(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetInputReportAsync(This,value)	\
    ( (This)->lpVtbl -> GetInputReportAsync(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetInputReportByIdAsync(This,reportId,value)	\
    ( (This)->lpVtbl -> GetInputReportByIdAsync(This,reportId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetFeatureReportAsync(This,value)	\
    ( (This)->lpVtbl -> GetFeatureReportAsync(This,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetFeatureReportByIdAsync(This,reportId,value)	\
    ( (This)->lpVtbl -> GetFeatureReportByIdAsync(This,reportId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_CreateOutputReport(This,outputReport)	\
    ( (This)->lpVtbl -> CreateOutputReport(This,outputReport) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_CreateOutputReportById(This,reportId,outputReport)	\
    ( (This)->lpVtbl -> CreateOutputReportById(This,reportId,outputReport) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_CreateFeatureReport(This,featureReport)	\
    ( (This)->lpVtbl -> CreateFeatureReport(This,featureReport) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_CreateFeatureReportById(This,reportId,featureReport)	\
    ( (This)->lpVtbl -> CreateFeatureReportById(This,reportId,featureReport) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_SendOutputReportAsync(This,outputReport,operation)	\
    ( (This)->lpVtbl -> SendOutputReportAsync(This,outputReport,operation) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_SendFeatureReportAsync(This,featureReport,operation)	\
    ( (This)->lpVtbl -> SendFeatureReportAsync(This,featureReport,operation) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetBooleanControlDescriptions(This,reportType,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetBooleanControlDescriptions(This,reportType,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_GetNumericControlDescriptions(This,reportType,usagePage,usageId,value)	\
    ( (This)->lpVtbl -> GetNumericControlDescriptions(This,reportType,usagePage,usageId,value) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_add_InputReportReceived(This,reportHandler,token)	\
    ( (This)->lpVtbl -> add_InputReportReceived(This,reportHandler,token) ) 

#define __x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_remove_InputReportReceived(This,token)	\
    ( (This)->lpVtbl -> remove_InputReportReceived(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CHumanInterfaceDevice_CIHidDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0070 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidDevice_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidDevice_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidDevice[] = L"Windows.Devices.HumanInterfaceDevice.HidDevice";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidInputReport_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidInputReport_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidInputReport[] = L"Windows.Devices.HumanInterfaceDevice.HidInputReport";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidFeatureReport_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidFeatureReport_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidFeatureReport[] = L"Windows.Devices.HumanInterfaceDevice.HidFeatureReport";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidOutputReport_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidOutputReport_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidOutputReport[] = L"Windows.Devices.HumanInterfaceDevice.HidOutputReport";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidBooleanControlDescription_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidBooleanControlDescription_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidBooleanControlDescription[] = L"Windows.Devices.HumanInterfaceDevice.HidBooleanControlDescription";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidNumericControlDescription_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidNumericControlDescription_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidNumericControlDescription[] = L"Windows.Devices.HumanInterfaceDevice.HidNumericControlDescription";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidInputReportReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidInputReportReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidInputReportReceivedEventArgs[] = L"Windows.Devices.HumanInterfaceDevice.HidInputReportReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidCollection_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidCollection_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidCollection[] = L"Windows.Devices.HumanInterfaceDevice.HidCollection";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidBooleanControl_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidBooleanControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidBooleanControl[] = L"Windows.Devices.HumanInterfaceDevice.HidBooleanControl";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidNumericControl_DEFINED
#define RUNTIMECLASS_Windows_Devices_HumanInterfaceDevice_HidNumericControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_HumanInterfaceDevice_HidNumericControl[] = L"Windows.Devices.HumanInterfaceDevice.HidNumericControl";
#endif


/* interface __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0070 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Ehumaninterfacedevice_0000_0070_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


