

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


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



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

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

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

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

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

#ifndef __windows2Edevices2Eenumeration_h__
#define __windows2Edevices2Eenumeration_h__

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

/* Forward Declarations */ 

#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass;

#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass;

#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind;

#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind;

#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#endif 	/* ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass;

#endif 	/* ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult;

#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate;

#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceAccessChangedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceAccessChangedEventArgs2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceAccessInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceAccessInformationStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceConnectionChangeTriggerDetails;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceDisconnectButtonClickedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformation2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationCustomPairing;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationPairing;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationPairing2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationPairingStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationStatics2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationUpdate;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceInformationUpdate2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePairingRequestedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePairingResult;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePairingSettings;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePicker;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePickerAppearance;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDevicePickerFilter;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceSelectedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceUnpairingResult;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceWatcher;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceWatcher2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceWatcherEvent;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IDeviceWatcherTriggerDetails;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IEnclosureLocation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2 __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                interface IEnclosureLocation2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Edevices2Eenumeration_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 Enumeration {
enum DeviceClass;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3041 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3041 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3041_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#define DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c3807283-1416-593c-955c-0b4a286ff7bb"))
IIterator<enum ABI::Windows::Devices::Enumeration::DeviceClass> : IIterator_impl<enum ABI::Windows::Devices::Enumeration::DeviceClass> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.Enumeration.DeviceClass>"; }
};
typedef IIterator<enum ABI::Windows::Devices::Enumeration::DeviceClass> __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_t;
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3042 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3042 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#define DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("47d4be05-58f1-522e-81c6-975eb4131bb9"))
IIterable<enum ABI::Windows::Devices::Enumeration::DeviceClass> : IIterable_impl<enum ABI::Windows::Devices::Enumeration::DeviceClass> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.Enumeration.DeviceClass>"; }
};
typedef IIterable<enum ABI::Windows::Devices::Enumeration::DeviceClass> __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_t;
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceInformation;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceInformation;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0002 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3043 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3043 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3043_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0003 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("6f85d843-e8ab-5b46-85d7-327c58d18712"))
IIterator<ABI::Windows::Devices::Enumeration::DeviceInformation*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef IIterator<ABI::Windows::Devices::Enumeration::DeviceInformation*> __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3044 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3044 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0004 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("dd9f8a5d-ec98-5f4b-a3ea-9c8b5ad53c4b"))
IIterable<ABI::Windows::Devices::Enumeration::DeviceInformation*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef IIterable<ABI::Windows::Devices::Enumeration::DeviceInformation*> __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceWatcherEvent;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceWatcherEvent;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0004 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3045 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3045 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3045_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0005 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#define DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("74f7d6cc-9c20-5bb9-bace-b2ffa38687f9"))
IIterator<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*, ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.Enumeration.DeviceWatcherEvent>"; }
};
typedef IIterator<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t;
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3046 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3046 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3046_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0006 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#define DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b48fd051-eafa-523f-a66e-9d4151c5d522"))
IIterable<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*, ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.Enumeration.DeviceWatcherEvent>"; }
};
typedef IIterable<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t;
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
enum DeviceWatcherEventKind;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0006 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3047 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3047 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3047_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0007 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_USE
#define DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("cb5ca9db-ccd6-5103-a93d-c925c908838d"))
IIterator<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> : IIterator_impl<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.Enumeration.DeviceWatcherEventKind>"; }
};
typedef IIterator<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_t;
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
#define __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3048 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3048 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3048_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0008 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_USE
#define DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("f04365ab-d3f3-5f85-a7da-dc19cff73d86"))
IIterable<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> : IIterable_impl<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.Enumeration.DeviceWatcherEventKind>"; }
};
typedef IIterable<enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind> __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_t;
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_FWD_DEFINED__
#define __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0008 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3049 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3049 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3049_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0009 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#define DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("01a80a97-bd87-5c8a-97fd-d449c98bdac6"))
IVectorView<enum ABI::Windows::Devices::Enumeration::DeviceClass> : IVectorView_impl<enum ABI::Windows::Devices::Enumeration::DeviceClass> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Enumeration.DeviceClass>"; }
};
typedef IVectorView<enum ABI::Windows::Devices::Enumeration::DeviceClass> __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_t;
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3050 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3050 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3050_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0010 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e170688f-3495-5bf6-aab5-9cac17e0f10f"))
IVectorView<ABI::Windows::Devices::Enumeration::DeviceInformation*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef IVectorView<ABI::Windows::Devices::Enumeration::DeviceInformation*> __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0010 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3051 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3051 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3051_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0011 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#define DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8f994d37-8fab-51c6-a1e0-c93f68a20ef0"))
IVectorView<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*, ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.Enumeration.DeviceWatcherEvent>"; }
};
typedef IVectorView<ABI::Windows::Devices::Enumeration::DeviceWatcherEvent*> __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t;
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_FWD_DEFINED__
#define __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0011 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3052 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3052 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3052_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0012 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#define DEF___FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ee662d37-b0eb-5729-9832-156fd2889d48"))
IVector<enum ABI::Windows::Devices::Enumeration::DeviceClass> : IVector_impl<enum ABI::Windows::Devices::Enumeration::DeviceClass> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Devices.Enumeration.DeviceClass>"; }
};
typedef IVector<enum ABI::Windows::Devices::Enumeration::DeviceClass> __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_t;
#define ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_FWD_DEFINED__
#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_t

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
enum DeviceAccessStatus;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3053 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3053 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3053_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0013 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("ee154d83-805b-53e8-8469-90715036d013"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DeviceAccessStatus>"; }
};
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3054 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3054 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3054_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0014 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("c00bc2f2-a7f8-5f3f-80d1-2808ef6bca10"))
IAsyncOperation<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> : IAsyncOperation_impl<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceAccessStatus>"; }
};
typedef IAsyncOperation<enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0014 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3055 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3055 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3055_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0015 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("bb483df2-7bb6-5923-a28d-8342ec30046b"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceInformation*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceInformation*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3056 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3056 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3056_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0016 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("07faa053-eb2f-5cba-b25b-d9d57be6715f"))
IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceInformation*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceInformation*> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceInformationCollection;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0016 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3057 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3057 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3057_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0017 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4a458732-527e-5c73-9a68-a73da370f782"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*, __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DeviceInformationCollection>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0017 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0017_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3058 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3058 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3058_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0018 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("45180254-082e-5274-b2e7-ac0517f44d07"))
IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*, __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceInformationCollection>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceInformationCollection*> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DevicePairingResult;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDevicePairingResult;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0018 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3059 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3059 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3059_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0019 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("7ee0247f-5f57-5cb2-b40e-18b5a211d6c3"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DevicePairingResult*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePairingResult*, ABI::Windows::Devices::Enumeration::IDevicePairingResult*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DevicePairingResult>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DevicePairingResult*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0019 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0019_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3060 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3060 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3060_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0020 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("1002db74-8948-591e-815d-e40b667599a3"))
IAsyncOperation<ABI::Windows::Devices::Enumeration::DevicePairingResult*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePairingResult*, ABI::Windows::Devices::Enumeration::IDevicePairingResult*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DevicePairingResult>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::Enumeration::DevicePairingResult*> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceThumbnail;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Storage {
namespace Streams {
interface IRandomAccessStreamWithContentType;
} /*Streams*/
} /*Storage*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0020 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3061 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3061 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3061_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0021 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("86d455b2-d795-554c-9c31-bf6539349c19"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceThumbnail*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceThumbnail*, ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DeviceThumbnail>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceThumbnail*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0021 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0021_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3062 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3062 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3062_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0022 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("bac083a3-3a19-5072-9d90-133323a049ba"))
IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceThumbnail*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceThumbnail*, ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceThumbnail>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceThumbnail*> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceUnpairingResult;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceUnpairingResult;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0022 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0022_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3063 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3063 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3063_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0023 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("9bbe6eb9-db2d-5160-a20c-f0c265f20d8e"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*, ABI::Windows::Devices::Enumeration::IDeviceUnpairingResult*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.Enumeration.DeviceUnpairingResult>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0023 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0023_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3064 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3064 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3064_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0024 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("2bb4df3d-bd7e-5fe0-9020-56dc0d30b935"))
IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*, ABI::Windows::Devices::Enumeration::IDeviceUnpairingResult*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.Enumeration.DeviceUnpairingResult>"; }
};
typedef IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceUnpairingResult*> __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_t;
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceAccessInformation;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceAccessInformation;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceAccessChangedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceAccessChangedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0024 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0024_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3065 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3065 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3065_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0025 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4c71d028-b793-5bce-ae59-fa77f45a40d8"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceAccessInformation*,ABI::Windows::Devices::Enumeration::DeviceAccessChangedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceAccessInformation*, ABI::Windows::Devices::Enumeration::IDeviceAccessInformation*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceAccessChangedEventArgs*, ABI::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DeviceAccessInformation, Windows.Devices.Enumeration.DeviceAccessChangedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceAccessInformation*,ABI::Windows::Devices::Enumeration::DeviceAccessChangedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceInformationCustomPairing;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceInformationCustomPairing;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DevicePairingRequestedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDevicePairingRequestedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0025 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0025_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3066 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3066 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3066_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0026 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("fa65231f-4178-5de1-b2cc-03e22d7702b4"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceInformationCustomPairing*,ABI::Windows::Devices::Enumeration::DevicePairingRequestedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformationCustomPairing*, ABI::Windows::Devices::Enumeration::IDeviceInformationCustomPairing*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePairingRequestedEventArgs*, ABI::Windows::Devices::Enumeration::IDevicePairingRequestedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DeviceInformationCustomPairing, Windows.Devices.Enumeration.DevicePairingRequestedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceInformationCustomPairing*,ABI::Windows::Devices::Enumeration::DevicePairingRequestedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DevicePicker;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDevicePicker;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

interface IInspectable;


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0026 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0026_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3067 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3067 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3067_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0027 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("62c6d98c-57ee-5bb8-a41c-958d20c3f3e8"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,IInspectable*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePicker*, ABI::Windows::Devices::Enumeration::IDevicePicker*>,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DevicePicker, Object>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,IInspectable*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceDisconnectButtonClickedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceDisconnectButtonClickedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0027 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0027_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3068 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3068 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3068_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0028 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("35dd0319-5723-506c-8896-1a28b82be798"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,ABI::Windows::Devices::Enumeration::DeviceDisconnectButtonClickedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePicker*, ABI::Windows::Devices::Enumeration::IDevicePicker*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceDisconnectButtonClickedEventArgs*, ABI::Windows::Devices::Enumeration::IDeviceDisconnectButtonClickedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DevicePicker, Windows.Devices.Enumeration.DeviceDisconnectButtonClickedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,ABI::Windows::Devices::Enumeration::DeviceDisconnectButtonClickedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceSelectedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceSelectedEventArgs;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0028 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0028_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3069 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3069 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3069_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0029 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("47e48c88-1c56-5b58-96a2-8e813d25077a"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,ABI::Windows::Devices::Enumeration::DeviceSelectedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DevicePicker*, ABI::Windows::Devices::Enumeration::IDevicePicker*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceSelectedEventArgs*, ABI::Windows::Devices::Enumeration::IDeviceSelectedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DevicePicker, Windows.Devices.Enumeration.DeviceSelectedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DevicePicker*,ABI::Windows::Devices::Enumeration::DeviceSelectedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceWatcher;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceWatcher;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0029 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0029_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3070 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3070 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3070_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0030 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("9234630f-1ff4-54f6-9e3f-ac20369b7725"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,IInspectable*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcher*, ABI::Windows::Devices::Enumeration::IDeviceWatcher*>,IInspectable*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DeviceWatcher, Object>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,IInspectable*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0030 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0030_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3071 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3071 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3071_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0031 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("03c5a07b-990c-5d09-b0b8-5734eaa38222"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,ABI::Windows::Devices::Enumeration::DeviceInformation*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcher*, ABI::Windows::Devices::Enumeration::IDeviceWatcher*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformation*, ABI::Windows::Devices::Enumeration::IDeviceInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DeviceWatcher, Windows.Devices.Enumeration.DeviceInformation>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,ABI::Windows::Devices::Enumeration::DeviceInformation*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceInformationUpdate;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
interface IDeviceInformationUpdate;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0031 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0031_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3072 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3072 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3072_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0032 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("906f1254-79ad-54fc-93c4-cdb99b437899"))
ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,ABI::Windows::Devices::Enumeration::DeviceInformationUpdate*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceWatcher*, ABI::Windows::Devices::Enumeration::IDeviceWatcher*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Enumeration::DeviceInformationUpdate*, ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.Enumeration.DeviceWatcher, Windows.Devices.Enumeration.DeviceInformationUpdate>"; }
};
typedef ITypedEventHandler<ABI::Windows::Devices::Enumeration::DeviceWatcher*,ABI::Windows::Devices::Enumeration::DeviceInformationUpdate*> __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_t;
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_t

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0032 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0032_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3073 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3073 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3073_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0033 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0033 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0033_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3074 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3074 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3074_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0034 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0034 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0034_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3075 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3075 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3075_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0035 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0035 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0035_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3076 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3076 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3076_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0036 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0036 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0036_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3077 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3077 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3077_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0037 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0037 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0037_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3078 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3078 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3078_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0038 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0038 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0038_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3079 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3079 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3079_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0039 */
/* [local] */ 

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0039 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0039_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3080 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3080 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3080_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0040 */
/* [local] */ 

#ifndef DEF___FIVector_1_HSTRING_USE
#define DEF___FIVector_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("98b9acc1-4b56-532e-ac73-03d5291cca90"))
IVector<HSTRING> : IVector_impl<HSTRING> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<String>"; }
};
typedef IVector<HSTRING> __FIVector_1_HSTRING_t;
#define ____FIVector_1_HSTRING_FWD_DEFINED__
#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::__FIVector_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_HSTRING_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Eapplicationmodel2Ebackground_h__)
#include <Windows.ApplicationModel.Background.h>
#endif // !defined(__windows2Eapplicationmodel2Ebackground_h__)
#if !defined(__windows2Estorage2Estreams_h__)
#include <Windows.Storage.Streams.h>
#endif // !defined(__windows2Estorage2Estreams_h__)
#if !defined(__windows2Eui_h__)
#include <Windows.UI.h>
#endif // !defined(__windows2Eui_h__)
#if !defined(__windows2Eui2Epopups_h__)
#include <Windows.UI.Popups.h>
#endif // !defined(__windows2Eui2Epopups_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace ApplicationModel {
namespace Background {
class DeviceWatcherTrigger;
} /*Background*/
} /*ApplicationModel*/
} /*Windows*/
}
#endif

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


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

#endif




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

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

typedef enum __x_ABI_CWindows_CUI_CPopups_CPlacement __x_ABI_CWindows_CUI_CPopups_CPlacement;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus __x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingResultStatus __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingResultStatus;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePickerDisplayStatusOptions __x_ABI_CWindows_CDevices_CEnumeration_CDevicePickerDisplayStatusOptions;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceUnpairingResultStatus __x_ABI_CWindows_CDevices_CEnumeration_CDeviceUnpairingResultStatus;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherEventKind __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherEventKind;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherStatus __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherStatus;


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


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

typedef enum __x_ABI_CWindows_CDevices_CEnumeration_CPanel __x_ABI_CWindows_CDevices_CEnumeration_CPanel;


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


#endif

















#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceConnectionChangeTriggerDetails;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceInformationPairing;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DevicePickerAppearance;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DevicePickerFilter;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class DeviceWatcherTriggerDetails;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
class EnclosureLocation;
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0040 */
/* [local] */ 





#ifdef __cplusplus

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

extern "C" { 
#endif





#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            
            typedef struct Color Color;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace UI {
            namespace Popups {
                
                typedef enum Placement Placement;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceAccessStatus DeviceAccessStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceClass DeviceClass;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceInformationKind DeviceInformationKind;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DevicePairingKinds DevicePairingKinds;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DevicePairingProtectionLevel DevicePairingProtectionLevel;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DevicePairingResultStatus DevicePairingResultStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DevicePickerDisplayStatusOptions DevicePickerDisplayStatusOptions;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceUnpairingResultStatus DeviceUnpairingResultStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceWatcherEventKind DeviceWatcherEventKind;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum DeviceWatcherStatus DeviceWatcherStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                typedef enum Panel Panel;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif




















extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0040_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3081 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3081 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3081_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0041 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0041 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0041_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c3807283-1416-593c-955c-0b4a286ff7bb")
    __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__out enum ABI::Windows::Devices::Enumeration::DeviceClass *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) enum ABI::Windows::Devices::Enumeration::DeviceClass *items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0042 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0042 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3082 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3082 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3082_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3082_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0043 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0043 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0043_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47d4be05-58f1-522e-81c6-975eb4131bb9")
    __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceClass **first) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0044 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceClass */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0044 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3083 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3083 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3083_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0045 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0045 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0045_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6f85d843-e8ab-5b46-85d7-327c58d18712")
    __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **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::Enumeration::IDeviceInformation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0046 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0046 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0046_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3084 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3084 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3084_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0047 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0047 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0047_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dd9f8a5d-ec98-5f4b-a3ea-9c8b5ad53c4b")
    __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceInformation **first) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0048 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0048 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0048_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3085 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3085 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3085_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0049 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0049 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0049_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74f7d6cc-9c20-5bb9-bace-b2ffa38687f9")
    __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent **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::Enumeration::IDeviceWatcherEvent **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0050 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0050 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0050_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3086 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3086 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3086_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0051 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0051 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0051_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b48fd051-eafa-523f-a66e-9d4151c5d522")
    __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent **first) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0052 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0052 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0052_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3087 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3087 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3087_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0053 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0053 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0053_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cb5ca9db-ccd6-5103-a93d-c925c908838d")
    __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__out enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind *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) enum ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind *items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind
    {
        CONST_VTBL struct __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKindVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0054 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0054 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0054_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3088 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3088 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3088_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0055 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0055 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0055_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f04365ab-d3f3-5f85-a7da-dc19cff73d86")
    __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind **first) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind
    {
        CONST_VTBL struct __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKindVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0056 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0056 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0056_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3089 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3089 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3089_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0057 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0057 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0057_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("01a80a97-bd87-5c8a-97fd-d449c98bdac6")
    __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__out enum ABI::Windows::Devices::Enumeration::DeviceClass *item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ enum ABI::Windows::Devices::Enumeration::DeviceClass 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) enum ABI::Windows::Devices::Enumeration::DeviceClass *items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0058 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0058 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0058_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3090 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3090 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3090_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3090_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0059 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0059 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0059_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e170688f-3495-5bf6-aab5-9cac17e0f10f")
    __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **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::Enumeration::IDeviceInformation *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::Enumeration::IDeviceInformation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0060 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0060 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0060_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3091 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3091 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3091_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0061 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0061 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0061_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8f994d37-8fab-51c6-a1e0-c93f68a20ef0")
    __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent **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::Enumeration::IDeviceWatcherEvent *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::Enumeration::IDeviceWatcherEvent **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0062 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0062 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0062_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3092 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3092 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3092_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0063 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0063 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0063_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee662d37-b0eb-5729-9832-156fd2889d48")
    __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__out enum ABI::Windows::Devices::Enumeration::DeviceClass *item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ enum ABI::Windows::Devices::Enumeration::DeviceClass item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ enum ABI::Windows::Devices::Enumeration::DeviceClass item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ enum ABI::Windows::Devices::Enumeration::DeviceClass item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ enum ABI::Windows::Devices::Enumeration::DeviceClass item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum ABI::Windows::Devices::Enumeration::DeviceClass *items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) enum ABI::Windows::Devices::Enumeration::DeviceClass *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * 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 __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass *item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceClass **view);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int index,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass item);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int index,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        HRESULT ( STDMETHODCALLTYPE *ReplaceAll )( 
            __RPC__in __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass * This,
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass *value);
        
        END_INTERFACE
    } __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl;

    interface __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass
    {
        CONST_VTBL struct __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClassVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

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

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

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

#define __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0064 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0064 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0064_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3093 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3093 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3093_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0065 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0065 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0065_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee154d83-805b-53e8-8469-90715036d013")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0066 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0066 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0066_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3094 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3094 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3094_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0067 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0067 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0067_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c00bc2f2-a7f8-5f3f-80d1-2808ef6bca10")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__out enum ABI::Windows::Devices::Enumeration::DeviceAccessStatus *results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0068 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceAccessStatus */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0068 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0068_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3095 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3095 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3095_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0069 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0069 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0069_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bb483df2-7bb6-5923-a28d-8342ec30046b")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0070 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0070 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0070_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3096 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3096 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3096_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0071 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0071 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0071_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07faa053-eb2f-5cba-b25b-d9d57be6715f")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformation **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0072 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0072 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0072_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3097 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3097 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3097_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3097_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0073 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0073 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0073_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4a458732-527e-5c73-9a68-a73da370f782")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0074 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0074 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0074_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3098 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3098 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3098_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0075 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0075 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0075_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("45180254-082e-5274-b2e7-ac0517f44d07")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceInformation **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0076 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0076 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0076_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3099 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3099 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3099_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3099_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0077 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0077 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0077_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7ee0247f-5f57-5cb2-b40e-18b5a211d6c3")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0078 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0078 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0078_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3100 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3100 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3100_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3100_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0079 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0079 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0079_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1002db74-8948-591e-815d-e40b667599a3")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDevicePairingResult **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDevicePairingResult **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0080 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0080 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0080_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3101 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3101 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3101_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3101_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0081 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0081 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0081_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("86d455b2-d795-554c-9c31-bf6539349c19")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnailVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0082 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0082 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0082_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0082_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3102 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3102 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3102_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3102_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0083 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0083 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0083_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bac083a3-3a19-5072-9d90-133323a049ba")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceThumbnail **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnailVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0084 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0084 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0084_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3103 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3103 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3103_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0085 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0085 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0085_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9bbe6eb9-db2d-5160-a20c-f0c265f20d8e")
    __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0086 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0086 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0086_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3104 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3104 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3104_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3104_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0087 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0087 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0087_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2bb4df3d-bd7e-5fe0-9020-56dc0d30b935")
    __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceUnpairingResult **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0088 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0088 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0088_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3105 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3105 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3105_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3105_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0089 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0089 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0089_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4c71d028-b793-5bce-ae59-fa77f45a40d8")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceAccessInformation *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0090 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0090 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0090_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0090_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3106 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3106 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3106_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3106_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0091 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0091 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0091_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fa65231f-4178-5de1-b2cc-03e22d7702b4")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceInformationCustomPairing *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePairingRequestedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0092 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0092 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0092_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3107 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3107 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3107_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3107_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0093 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0093 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0093_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("62c6d98c-57ee-5bb8-a41c-958d20c3f3e8")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePicker *sender,
            /* [in] */ __RPC__in_opt IInspectable *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0094 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0094 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0094_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3108 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3108 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3108_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3108_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0095 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0095 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0095_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35dd0319-5723-506c-8896-1a28b82be798")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePicker *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceDisconnectButtonClickedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0096 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0096 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0096_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3109 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3109 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3109_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3109_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0097 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0097 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0097_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0097_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47e48c88-1c56-5b58-96a2-8e813d25077a")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePicker *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceSelectedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0098 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0098 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0098_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3110 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3110 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3110_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3110_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0099 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0099 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0099_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0099_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9234630f-1ff4-54f6-9e3f-ac20369b7725")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher *sender,
            /* [in] */ __RPC__in_opt IInspectable *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0100 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0100 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0100_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0100_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3111 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3111 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3111_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3111_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0101 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0101 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0101_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0101_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03c5a07b-990c-5d09-b0b8-5734eaa38222")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceInformation *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0102 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0102 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0102_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0102_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3112 */




/* interface __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3112 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3112_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration2Eidl_0000_3112_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0103 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0103 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0103_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("906f1254-79ad-54fc-93c4-cdb99b437899")
    __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate *e) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0104 */
/* [local] */ 

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

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus
    {
        DeviceAccessStatus_Unspecified	= 0,
        DeviceAccessStatus_Allowed	= 1,
        DeviceAccessStatus_DeniedByUser	= 2,
        DeviceAccessStatus_DeniedBySystem	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass
    {
        DeviceClass_All	= 0,
        DeviceClass_AudioCapture	= 1,
        DeviceClass_AudioRender	= 2,
        DeviceClass_PortableStorageDevice	= 3,
        DeviceClass_VideoCapture	= 4,
        DeviceClass_ImageScanner	= 5,
        DeviceClass_Location	= 6
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind
    {
        DeviceInformationKind_Unknown	= 0,
        DeviceInformationKind_DeviceInterface	= 1,
        DeviceInformationKind_DeviceContainer	= 2,
        DeviceInformationKind_Device	= 3,
        DeviceInformationKind_DeviceInterfaceClass	= 4,
        DeviceInformationKind_AssociationEndpoint	= 5,
        DeviceInformationKind_AssociationEndpointContainer	= 6,
        DeviceInformationKind_AssociationEndpointService	= 7
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds
    {
        DevicePairingKinds_None	= 0,
        DevicePairingKinds_ConfirmOnly	= 0x1,
        DevicePairingKinds_DisplayPin	= 0x2,
        DevicePairingKinds_ProvidePin	= 0x4,
        DevicePairingKinds_ConfirmPinMatch	= 0x8
    } ;
#endif /* end if !defined(__cplusplus) */

#else
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
enum DevicePairingKinds;
DEFINE_ENUM_FLAG_OPERATORS(DevicePairingKinds)
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel
    {
        DevicePairingProtectionLevel_Default	= 0,
        DevicePairingProtectionLevel_None	= 1,
        DevicePairingProtectionLevel_Encryption	= 2,
        DevicePairingProtectionLevel_EncryptionAndAuthentication	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingResultStatus
    {
        DevicePairingResultStatus_Paired	= 0,
        DevicePairingResultStatus_NotReadyToPair	= 1,
        DevicePairingResultStatus_NotPaired	= 2,
        DevicePairingResultStatus_AlreadyPaired	= 3,
        DevicePairingResultStatus_ConnectionRejected	= 4,
        DevicePairingResultStatus_TooManyConnections	= 5,
        DevicePairingResultStatus_HardwareFailure	= 6,
        DevicePairingResultStatus_AuthenticationTimeout	= 7,
        DevicePairingResultStatus_AuthenticationNotAllowed	= 8,
        DevicePairingResultStatus_AuthenticationFailure	= 9,
        DevicePairingResultStatus_NoSupportedProfiles	= 10,
        DevicePairingResultStatus_ProtectionLevelCouldNotBeMet	= 11,
        DevicePairingResultStatus_AccessDenied	= 12,
        DevicePairingResultStatus_InvalidCeremonyData	= 13,
        DevicePairingResultStatus_PairingCanceled	= 14,
        DevicePairingResultStatus_OperationAlreadyInProgress	= 15,
        DevicePairingResultStatus_RequiredHandlerNotRegistered	= 16,
        DevicePairingResultStatus_RejectedByHandler	= 17,
        DevicePairingResultStatus_RemoteDeviceHasAssociation	= 18,
        DevicePairingResultStatus_Failed	= 19
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDevicePickerDisplayStatusOptions
    {
        DevicePickerDisplayStatusOptions_None	= 0,
        DevicePickerDisplayStatusOptions_ShowProgress	= 0x1,
        DevicePickerDisplayStatusOptions_ShowDisconnectButton	= 0x2,
        DevicePickerDisplayStatusOptions_ShowRetryButton	= 0x4
    } ;
#endif /* end if !defined(__cplusplus) */

#else
namespace ABI {
namespace Windows {
namespace Devices {
namespace Enumeration {
enum DevicePickerDisplayStatusOptions;
DEFINE_ENUM_FLAG_OPERATORS(DevicePickerDisplayStatusOptions)
} /*Enumeration*/
} /*Devices*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceUnpairingResultStatus
    {
        DeviceUnpairingResultStatus_Unpaired	= 0,
        DeviceUnpairingResultStatus_AlreadyUnpaired	= 1,
        DeviceUnpairingResultStatus_OperationAlreadyInProgress	= 2,
        DeviceUnpairingResultStatus_AccessDenied	= 3,
        DeviceUnpairingResultStatus_Failed	= 4
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherEventKind
    {
        DeviceWatcherEventKind_Add	= 0,
        DeviceWatcherEventKind_Update	= 1,
        DeviceWatcherEventKind_Remove	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherStatus
    {
        DeviceWatcherStatus_Created	= 0,
        DeviceWatcherStatus_Started	= 1,
        DeviceWatcherStatus_EnumerationCompleted	= 2,
        DeviceWatcherStatus_Stopping	= 3,
        DeviceWatcherStatus_Stopped	= 4,
        DeviceWatcherStatus_Aborted	= 5
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CDevices_CEnumeration_CPanel
    {
        Panel_Unknown	= 0,
        Panel_Front	= 1,
        Panel_Back	= 2,
        Panel_Top	= 3,
        Panel_Bottom	= 4,
        Panel_Left	= 5,
        Panel_Right	= 6
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceAccessChangedEventArgs[] = L"Windows.Devices.Enumeration.IDeviceAccessChangedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0104 */
/* [local] */ 

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceAccessStatus
                    {
                        DeviceAccessStatus_Unspecified	= 0,
                        DeviceAccessStatus_Allowed	= 1,
                        DeviceAccessStatus_DeniedByUser	= 2,
                        DeviceAccessStatus_DeniedBySystem	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceClass
                    {
                        DeviceClass_All	= 0,
                        DeviceClass_AudioCapture	= 1,
                        DeviceClass_AudioRender	= 2,
                        DeviceClass_PortableStorageDevice	= 3,
                        DeviceClass_VideoCapture	= 4,
                        DeviceClass_ImageScanner	= 5,
                        DeviceClass_Location	= 6
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceInformationKind
                    {
                        DeviceInformationKind_Unknown	= 0,
                        DeviceInformationKind_DeviceInterface	= 1,
                        DeviceInformationKind_DeviceContainer	= 2,
                        DeviceInformationKind_Device	= 3,
                        DeviceInformationKind_DeviceInterfaceClass	= 4,
                        DeviceInformationKind_AssociationEndpoint	= 5,
                        DeviceInformationKind_AssociationEndpointContainer	= 6,
                        DeviceInformationKind_AssociationEndpointService	= 7
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DevicePairingKinds
                    {
                        DevicePairingKinds_None	= 0,
                        DevicePairingKinds_ConfirmOnly	= 0x1,
                        DevicePairingKinds_DisplayPin	= 0x2,
                        DevicePairingKinds_ProvidePin	= 0x4,
                        DevicePairingKinds_ConfirmPinMatch	= 0x8
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DevicePairingProtectionLevel
                    {
                        DevicePairingProtectionLevel_Default	= 0,
                        DevicePairingProtectionLevel_None	= 1,
                        DevicePairingProtectionLevel_Encryption	= 2,
                        DevicePairingProtectionLevel_EncryptionAndAuthentication	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DevicePairingResultStatus
                    {
                        DevicePairingResultStatus_Paired	= 0,
                        DevicePairingResultStatus_NotReadyToPair	= 1,
                        DevicePairingResultStatus_NotPaired	= 2,
                        DevicePairingResultStatus_AlreadyPaired	= 3,
                        DevicePairingResultStatus_ConnectionRejected	= 4,
                        DevicePairingResultStatus_TooManyConnections	= 5,
                        DevicePairingResultStatus_HardwareFailure	= 6,
                        DevicePairingResultStatus_AuthenticationTimeout	= 7,
                        DevicePairingResultStatus_AuthenticationNotAllowed	= 8,
                        DevicePairingResultStatus_AuthenticationFailure	= 9,
                        DevicePairingResultStatus_NoSupportedProfiles	= 10,
                        DevicePairingResultStatus_ProtectionLevelCouldNotBeMet	= 11,
                        DevicePairingResultStatus_AccessDenied	= 12,
                        DevicePairingResultStatus_InvalidCeremonyData	= 13,
                        DevicePairingResultStatus_PairingCanceled	= 14,
                        DevicePairingResultStatus_OperationAlreadyInProgress	= 15,
                        DevicePairingResultStatus_RequiredHandlerNotRegistered	= 16,
                        DevicePairingResultStatus_RejectedByHandler	= 17,
                        DevicePairingResultStatus_RemoteDeviceHasAssociation	= 18,
                        DevicePairingResultStatus_Failed	= 19
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DevicePickerDisplayStatusOptions
                    {
                        DevicePickerDisplayStatusOptions_None	= 0,
                        DevicePickerDisplayStatusOptions_ShowProgress	= 0x1,
                        DevicePickerDisplayStatusOptions_ShowDisconnectButton	= 0x2,
                        DevicePickerDisplayStatusOptions_ShowRetryButton	= 0x4
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceUnpairingResultStatus
                    {
                        DeviceUnpairingResultStatus_Unpaired	= 0,
                        DeviceUnpairingResultStatus_AlreadyUnpaired	= 1,
                        DeviceUnpairingResultStatus_OperationAlreadyInProgress	= 2,
                        DeviceUnpairingResultStatus_AccessDenied	= 3,
                        DeviceUnpairingResultStatus_Failed	= 4
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceWatcherEventKind
                    {
                        DeviceWatcherEventKind_Add	= 0,
                        DeviceWatcherEventKind_Update	= 1,
                        DeviceWatcherEventKind_Remove	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum DeviceWatcherStatus
                    {
                        DeviceWatcherStatus_Created	= 0,
                        DeviceWatcherStatus_Started	= 1,
                        DeviceWatcherStatus_EnumerationCompleted	= 2,
                        DeviceWatcherStatus_Stopping	= 3,
                        DeviceWatcherStatus_Stopped	= 4,
                        DeviceWatcherStatus_Aborted	= 5
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Enumeration {
                
                /* [v1_enum] */ 
                enum Panel
                    {
                        Panel_Unknown	= 0,
                        Panel_Front	= 1,
                        Panel_Back	= 2,
                        Panel_Top	= 3,
                        Panel_Bottom	= 4,
                        Panel_Left	= 5,
                        Panel_Right	= 6
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0104_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0104_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("DEDA0BCC-4F9D-4F58-9DBA-A9BC800408D5")
                    IDeviceAccessChangedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceAccessStatus *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceAccessChangedEventArgs = __uuidof(IDeviceAccessChangedEventArgs);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0105 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceAccessChangedEventArgs2[] = L"Windows.Devices.Enumeration.IDeviceAccessChangedEventArgs2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0105 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0105_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0105_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("82523262-934B-4B30-A178-ADC39F2F2BE3")
                    IDeviceAccessChangedEventArgs2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceAccessChangedEventArgs2 = __uuidof(IDeviceAccessChangedEventArgs2);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessChangedEventArgs2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0106 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceAccessInformation[] = L"Windows.Devices.Enumeration.IDeviceAccessInformation";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0106 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0106_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0106_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceAccessInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("0BAA9A73-6DE5-4915-8DDD-9A0554A6F545")
                    IDeviceAccessInformation : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_AccessChanged( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *cookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_AccessChanged( 
                            /* [in] */ EventRegistrationToken cookie) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStatus( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceAccessStatus *status) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceAccessInformation = __uuidof(IDeviceAccessInformation);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * 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_CEnumeration_CIDeviceAccessInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_AccessChanged )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceAccessInformation_Windows__CDevices__CEnumeration__CDeviceAccessChangedEventArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *cookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_AccessChanged )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This,
            /* [in] */ EventRegistrationToken cookie);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStatus )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus *status);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_add_AccessChanged(This,handler,cookie)	\
    ( (This)->lpVtbl -> add_AccessChanged(This,handler,cookie) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_remove_AccessChanged(This,cookie)	\
    ( (This)->lpVtbl -> remove_AccessChanged(This,cookie) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_get_CurrentStatus(This,status)	\
    ( (This)->lpVtbl -> get_CurrentStatus(This,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0107 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceAccessInformationStatics[] = L"Windows.Devices.Enumeration.IDeviceAccessInformationStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0107 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0107_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0107_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceAccessInformationStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("574BD3D3-5F30-45CD-8A94-724FE5973084")
                    IDeviceAccessInformationStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateFromId( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceAccessInformation **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFromDeviceClassId( 
                            /* [in] */ GUID deviceClassId,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceAccessInformation **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFromDeviceClass( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceClass deviceClass,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceAccessInformation **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceAccessInformationStatics = __uuidof(IDeviceAccessInformationStatics);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * 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_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromDeviceClassId )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [in] */ GUID deviceClassId,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation **value);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromDeviceClass )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass deviceClass,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_CreateFromId(This,deviceId,value)	\
    ( (This)->lpVtbl -> CreateFromId(This,deviceId,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_CreateFromDeviceClassId(This,deviceClassId,value)	\
    ( (This)->lpVtbl -> CreateFromDeviceClassId(This,deviceClassId,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_CreateFromDeviceClass(This,deviceClass,value)	\
    ( (This)->lpVtbl -> CreateFromDeviceClass(This,deviceClass,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformationStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0108 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceConnectionChangeTriggerDetails[] = L"Windows.Devices.Enumeration.IDeviceConnectionChangeTriggerDetails";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0108 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0108_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0108_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceConnectionChangeTriggerDetails */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("B8578C0C-BBC1-484B-BFFA-7B31DCC200B2")
                    IDeviceConnectionChangeTriggerDetails : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceConnectionChangeTriggerDetails = __uuidof(IDeviceConnectionChangeTriggerDetails);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetailsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_get_DeviceId(This,value)	\
    ( (This)->lpVtbl -> get_DeviceId(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceConnectionChangeTriggerDetails_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0109 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceDisconnectButtonClickedEventArgs[] = L"Windows.Devices.Enumeration.IDeviceDisconnectButtonClickedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0109 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0109_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0109_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceDisconnectButtonClickedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("8E44B56D-F902-4A00-B536-F37992E6A2A7")
                    IDeviceDisconnectButtonClickedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Device( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceDisconnectButtonClickedEventArgs = __uuidof(IDeviceDisconnectButtonClickedEventArgs);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_get_Device(This,value)	\
    ( (This)->lpVtbl -> get_Device(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceDisconnectButtonClickedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0110 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformation[] = L"Windows.Devices.Enumeration.IDeviceInformation";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0110 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0110_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0110_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("ABA0FB95-4398-489D-8E44-E6130927011F")
                    IDeviceInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEnabled( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsDefault( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnclosureLocation( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IEnclosureLocation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Update( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate *updateInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetThumbnailAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetGlyphThumbnailAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail **asyncOp) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformation = __uuidof(IDeviceInformation);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * 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_CEnumeration_CIDeviceInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEnabled )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefault )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnclosureLocation )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **value);
        
        HRESULT ( STDMETHODCALLTYPE *Update )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate *updateInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetThumbnailAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *GetGlyphThumbnailAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceThumbnail **asyncOp);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_get_IsEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsEnabled(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_get_IsDefault(This,value)	\
    ( (This)->lpVtbl -> get_IsDefault(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_get_EnclosureLocation(This,value)	\
    ( (This)->lpVtbl -> get_EnclosureLocation(This,value) ) 

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

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_Update(This,updateInfo)	\
    ( (This)->lpVtbl -> Update(This,updateInfo) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_GetThumbnailAsync(This,asyncOp)	\
    ( (This)->lpVtbl -> GetThumbnailAsync(This,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_GetGlyphThumbnailAsync(This,asyncOp)	\
    ( (This)->lpVtbl -> GetGlyphThumbnailAsync(This,asyncOp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0111 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformation2[] = L"Windows.Devices.Enumeration.IDeviceInformation2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0111 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0111_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0111_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformation2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("F156A638-7997-48D9-A10C-269D46533F48")
                    IDeviceInformation2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceInformationKind *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pairing( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformationPairing **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformation2 = __uuidof(IDeviceInformation2);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_get_Kind(This,value)	\
    ( (This)->lpVtbl -> get_Kind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_get_Pairing(This,value)	\
    ( (This)->lpVtbl -> get_Pairing(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0112 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationCustomPairing[] = L"Windows.Devices.Enumeration.IDeviceInformationCustomPairing";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0112 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0112_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0112_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationCustomPairing */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("85138C02-4EE6-4914-8370-107A39144C0E")
                    IDeviceInformationCustomPairing : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE PairAsync( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PairWithProtectionLevelAsync( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PairWithProtectionLevelAndSettingsAsync( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel,
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePairingSettings *devicePairingSettings,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_PairingRequested( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_PairingRequested( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationCustomPairing = __uuidof(IDeviceInformationCustomPairing);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * 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_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *PairAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds pairingKindsSupported,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        HRESULT ( STDMETHODCALLTYPE *PairWithProtectionLevelAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds pairingKindsSupported,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel minProtectionLevel,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        HRESULT ( STDMETHODCALLTYPE *PairWithProtectionLevelAndSettingsAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds pairingKindsSupported,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel minProtectionLevel,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings *devicePairingSettings,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        HRESULT ( STDMETHODCALLTYPE *add_PairingRequested )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceInformationCustomPairing_Windows__CDevices__CEnumeration__CDevicePairingRequestedEventArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_PairingRequested )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairingVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_PairAsync(This,pairingKindsSupported,result)	\
    ( (This)->lpVtbl -> PairAsync(This,pairingKindsSupported,result) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_PairWithProtectionLevelAsync(This,pairingKindsSupported,minProtectionLevel,result)	\
    ( (This)->lpVtbl -> PairWithProtectionLevelAsync(This,pairingKindsSupported,minProtectionLevel,result) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_PairWithProtectionLevelAndSettingsAsync(This,pairingKindsSupported,minProtectionLevel,devicePairingSettings,result)	\
    ( (This)->lpVtbl -> PairWithProtectionLevelAndSettingsAsync(This,pairingKindsSupported,minProtectionLevel,devicePairingSettings,result) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_add_PairingRequested(This,handler,token)	\
    ( (This)->lpVtbl -> add_PairingRequested(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_remove_PairingRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PairingRequested(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0113 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationPairing[] = L"Windows.Devices.Enumeration.IDeviceInformationPairing";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0113 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0113_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0113_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationPairing */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("2C4769F5-F684-40D5-8469-E8DBAAB70485")
                    IDeviceInformationPairing : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaired( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CanPair( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PairAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PairWithProtectionLevelAsync( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationPairing = __uuidof(IDeviceInformationPairing);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * 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_CEnumeration_CIDeviceInformationPairing * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaired )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanPair )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        HRESULT ( STDMETHODCALLTYPE *PairAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        HRESULT ( STDMETHODCALLTYPE *PairWithProtectionLevelAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel minProtectionLevel,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_get_IsPaired(This,value)	\
    ( (This)->lpVtbl -> get_IsPaired(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_get_CanPair(This,value)	\
    ( (This)->lpVtbl -> get_CanPair(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_PairAsync(This,result)	\
    ( (This)->lpVtbl -> PairAsync(This,result) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_PairWithProtectionLevelAsync(This,minProtectionLevel,result)	\
    ( (This)->lpVtbl -> PairWithProtectionLevelAsync(This,minProtectionLevel,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0114 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationPairing2[] = L"Windows.Devices.Enumeration.IDeviceInformationPairing2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0114 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0114_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0114_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationPairing2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("F68612FD-0AEE-4328-85CC-1C742BB1790D")
                    IDeviceInformationPairing2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProtectionLevel( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Custom( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformationCustomPairing **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PairWithProtectionLevelAndSettingsAsync( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel,
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDevicePairingSettings *devicePairingSettings,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE UnpairAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationPairing2 = __uuidof(IDeviceInformationPairing2);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * 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_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectionLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Custom )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationCustomPairing **value);
        
        HRESULT ( STDMETHODCALLTYPE *PairWithProtectionLevelAndSettingsAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel minProtectionLevel,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings *devicePairingSettings,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDevicePairingResult **result);
        
        HRESULT ( STDMETHODCALLTYPE *UnpairAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceUnpairingResult **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2Vtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_get_ProtectionLevel(This,value)	\
    ( (This)->lpVtbl -> get_ProtectionLevel(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_get_Custom(This,value)	\
    ( (This)->lpVtbl -> get_Custom(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_PairWithProtectionLevelAndSettingsAsync(This,minProtectionLevel,devicePairingSettings,result)	\
    ( (This)->lpVtbl -> PairWithProtectionLevelAndSettingsAsync(This,minProtectionLevel,devicePairingSettings,result) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_UnpairAsync(This,result)	\
    ( (This)->lpVtbl -> UnpairAsync(This,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairing2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0115 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationPairingStatics[] = L"Windows.Devices.Enumeration.IDeviceInformationPairingStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0115 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0115_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0115_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationPairingStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("E915C408-36D4-49A1-BF13-514173799B6B")
                    IDeviceInformationPairingStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE TryRegisterForAllInboundPairingRequests( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported,
                            /* [out][retval] */ __RPC__out boolean *result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationPairingStatics = __uuidof(IDeviceInformationPairingStatics);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * 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_CEnumeration_CIDeviceInformationPairingStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *TryRegisterForAllInboundPairingRequests )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds pairingKindsSupported,
            /* [out][retval] */ __RPC__out boolean *result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_TryRegisterForAllInboundPairingRequests(This,pairingKindsSupported,result)	\
    ( (This)->lpVtbl -> TryRegisterForAllInboundPairingRequests(This,pairingKindsSupported,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationPairingStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0116 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationStatics[] = L"Windows.Devices.Enumeration.IDeviceInformationStatics";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0116 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0116_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0116_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("C17F100E-3A46-4A78-8013-769DC9B97390")
                    IDeviceInformationStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateFromIdAsync( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFromIdAsyncAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FindAllAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FindAllAsyncDeviceClass( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceClass deviceClass,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FindAllAsyncAqsFilter( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FindAllAsyncAqsFilterAndAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWatcher( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher **watcher) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWatcherDeviceClass( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceClass deviceClass,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher **watcher) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWatcherAqsFilter( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher **watcher) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWatcherAqsFilterAndAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher **watcher) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationStatics = __uuidof(IDeviceInformationStatics);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * 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_CEnumeration_CIDeviceInformationStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromIdAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromIdAsyncAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *FindAllAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *FindAllAsyncDeviceClass )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass deviceClass,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *FindAllAsyncAqsFilter )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *FindAllAsyncAqsFilterAndAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWatcher )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher **watcher);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWatcherDeviceClass )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass deviceClass,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher **watcher);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWatcherAqsFilter )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher **watcher);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWatcherAqsFilterAndAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher **watcher);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateFromIdAsync(This,deviceId,asyncOp)	\
    ( (This)->lpVtbl -> CreateFromIdAsync(This,deviceId,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateFromIdAsyncAdditionalProperties(This,deviceId,additionalProperties,asyncOp)	\
    ( (This)->lpVtbl -> CreateFromIdAsyncAdditionalProperties(This,deviceId,additionalProperties,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FindAllAsync(This,asyncOp)	\
    ( (This)->lpVtbl -> FindAllAsync(This,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FindAllAsyncDeviceClass(This,deviceClass,asyncOp)	\
    ( (This)->lpVtbl -> FindAllAsyncDeviceClass(This,deviceClass,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FindAllAsyncAqsFilter(This,aqsFilter,asyncOp)	\
    ( (This)->lpVtbl -> FindAllAsyncAqsFilter(This,aqsFilter,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_FindAllAsyncAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,asyncOp)	\
    ( (This)->lpVtbl -> FindAllAsyncAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateWatcher(This,watcher)	\
    ( (This)->lpVtbl -> CreateWatcher(This,watcher) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateWatcherDeviceClass(This,deviceClass,watcher)	\
    ( (This)->lpVtbl -> CreateWatcherDeviceClass(This,deviceClass,watcher) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateWatcherAqsFilter(This,aqsFilter,watcher)	\
    ( (This)->lpVtbl -> CreateWatcherAqsFilter(This,aqsFilter,watcher) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_CreateWatcherAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,watcher)	\
    ( (This)->lpVtbl -> CreateWatcherAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,watcher) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0117 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationStatics2[] = L"Windows.Devices.Enumeration.IDeviceInformationStatics2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0117 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0117_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0117_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationStatics2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("493B4F34-A84F-45FD-9167-15D1CB1BD1F9")
                    IDeviceInformationStatics2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetAqsFilterFromDeviceClass( 
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceClass deviceClass,
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *aqsFilter) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateFromIdAsyncWithKindAndAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING deviceId,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceInformationKind kind,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FindAllAsyncWithKindAqsFilterAndAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceInformationKind kind,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateWatcherWithKindAqsFilterAndAdditionalProperties( 
                            /* [in] */ __RPC__in HSTRING aqsFilter,
                            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DeviceInformationKind kind,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceWatcher **watcher) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationStatics2 = __uuidof(IDeviceInformationStatics2);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * 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_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAqsFilterFromDeviceClass )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceClass deviceClass,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *aqsFilter);
        
        HRESULT ( STDMETHODCALLTYPE *CreateFromIdAsyncWithKindAndAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [in] */ __RPC__in HSTRING deviceId,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind kind,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *FindAllAsyncWithKindAqsFilterAndAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind kind,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformationCollection **asyncOp);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWatcherWithKindAqsFilterAndAdditionalProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2 * This,
            /* [in] */ __RPC__in HSTRING aqsFilter,
            /* [in] */ __RPC__in_opt __FIIterable_1_HSTRING *additionalProperties,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDeviceInformationKind kind,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher **watcher);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2Vtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_GetAqsFilterFromDeviceClass(This,deviceClass,aqsFilter)	\
    ( (This)->lpVtbl -> GetAqsFilterFromDeviceClass(This,deviceClass,aqsFilter) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_CreateFromIdAsyncWithKindAndAdditionalProperties(This,deviceId,additionalProperties,kind,asyncOp)	\
    ( (This)->lpVtbl -> CreateFromIdAsyncWithKindAndAdditionalProperties(This,deviceId,additionalProperties,kind,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_FindAllAsyncWithKindAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,kind,asyncOp)	\
    ( (This)->lpVtbl -> FindAllAsyncWithKindAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,kind,asyncOp) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_CreateWatcherWithKindAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,kind,watcher)	\
    ( (This)->lpVtbl -> CreateWatcherWithKindAqsFilterAndAdditionalProperties(This,aqsFilter,additionalProperties,kind,watcher) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationStatics2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0118 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationUpdate[] = L"Windows.Devices.Enumeration.IDeviceInformationUpdate";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0118 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0118_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0118_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("8F315305-D972-44B7-A37E-9E822C78213B")
                    IDeviceInformationUpdate : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationUpdate = __uuidof(IDeviceInformationUpdate);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0119 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceInformationUpdate2[] = L"Windows.Devices.Enumeration.IDeviceInformationUpdate2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0119 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0119_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0119_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("5D9D148C-A873-485E-BAA6-AA620788E3CC")
                    IDeviceInformationUpdate2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceInformationKind *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceInformationUpdate2 = __uuidof(IDeviceInformationUpdate2);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_get_Kind(This,value)	\
    ( (This)->lpVtbl -> get_Kind(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0120 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePairingRequestedEventArgs[] = L"Windows.Devices.Enumeration.IDevicePairingRequestedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0120 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0120_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0120_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePairingRequestedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("F717FC56-DE6B-487F-8376-0180ACA69963")
                    IDevicePairingRequestedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceInformation( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PairingKind( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DevicePairingKinds *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pin( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Accept( void) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE AcceptWithPin( 
                            /* [in] */ __RPC__in HSTRING pin) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IDeferral **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePairingRequestedEventArgs = __uuidof(IDevicePairingRequestedEventArgs);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * 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_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceInformation )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PairingKind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingKinds *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pin )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        HRESULT ( STDMETHODCALLTYPE *Accept )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *AcceptWithPin )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [in] */ __RPC__in HSTRING pin);
        
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIDeferral **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_get_DeviceInformation(This,value)	\
    ( (This)->lpVtbl -> get_DeviceInformation(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_get_PairingKind(This,value)	\
    ( (This)->lpVtbl -> get_PairingKind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_get_Pin(This,value)	\
    ( (This)->lpVtbl -> get_Pin(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_Accept(This)	\
    ( (This)->lpVtbl -> Accept(This) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_AcceptWithPin(This,pin)	\
    ( (This)->lpVtbl -> AcceptWithPin(This,pin) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingRequestedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0121 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePairingResult[] = L"Windows.Devices.Enumeration.IDevicePairingResult";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0121 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0121_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0121_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePairingResult */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("072B02BF-DD95-4025-9B37-DE51ADBA37B7")
                    IDevicePairingResult : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DevicePairingResultStatus *status) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProtectionLevelUsed( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DevicePairingProtectionLevel *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePairingResult = __uuidof(IDevicePairingResult);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * 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_CEnumeration_CIDevicePairingResult * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingResultStatus *status);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectionLevelUsed )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDevicePairingProtectionLevel *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResultVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_get_Status(This,status)	\
    ( (This)->lpVtbl -> get_Status(This,status) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_get_ProtectionLevelUsed(This,value)	\
    ( (This)->lpVtbl -> get_ProtectionLevelUsed(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0122 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePairingSettings[] = L"Windows.Devices.Enumeration.IDevicePairingSettings";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0122 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0122_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0122_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePairingSettings */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("482CB27C-83BB-420E-BE51-6602B222DE54")
                    IDevicePairingSettings : public IInspectable
                    {
                    public:
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePairingSettings = __uuidof(IDevicePairingSettings);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePairingSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0123 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePicker[] = L"Windows.Devices.Enumeration.IDevicePicker";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0123 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0123_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0123_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePicker */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("84997AA2-034A-4440-8813-7D0BD479BF5A")
                    IDevicePicker : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filter( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDevicePickerFilter **filter) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Appearance( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDevicePickerAppearance **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestedProperties( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_DeviceSelected( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_DeviceSelected( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_DisconnectButtonClicked( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_DisconnectButtonClicked( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_DevicePickerDismissed( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_DevicePickerDismissed( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Show( 
                            /* [in] */ ABI::Windows::Foundation::Rect selection) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ShowWithPlacement( 
                            /* [in] */ ABI::Windows::Foundation::Rect selection,
                            /* [in] */ ABI::Windows::UI::Popups::Placement placement) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PickSingleDeviceAsync( 
                            /* [in] */ ABI::Windows::Foundation::Rect selection,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE PickSingleDeviceAsyncWithPlacement( 
                            /* [in] */ ABI::Windows::Foundation::Rect selection,
                            /* [in] */ ABI::Windows::UI::Popups::Placement placement,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Hide( void) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetDisplayStatus( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Devices::Enumeration::IDeviceInformation *device,
                            /* [in] */ __RPC__in HSTRING status,
                            /* [in] */ ABI::Windows::Devices::Enumeration::DevicePickerDisplayStatusOptions options) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePicker = __uuidof(IDevicePicker);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * 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_CEnumeration_CIDevicePicker * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter **filter);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Appearance )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestedProperties )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        HRESULT ( STDMETHODCALLTYPE *add_DeviceSelected )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceSelectedEventArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_DeviceSelected )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_DisconnectButtonClicked )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_Windows__CDevices__CEnumeration__CDeviceDisconnectButtonClickedEventArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_DisconnectButtonClicked )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_DevicePickerDismissed )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDevicePicker_IInspectable *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_DevicePickerDismissed )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *Show )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CRect selection);
        
        HRESULT ( STDMETHODCALLTYPE *ShowWithPlacement )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CRect selection,
            /* [in] */ __x_ABI_CWindows_CUI_CPopups_CPlacement placement);
        
        HRESULT ( STDMETHODCALLTYPE *PickSingleDeviceAsync )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CRect selection,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **operation);
        
        HRESULT ( STDMETHODCALLTYPE *PickSingleDeviceAsyncWithPlacement )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CRect selection,
            /* [in] */ __x_ABI_CWindows_CUI_CPopups_CPlacement placement,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CEnumeration__CDeviceInformation **operation);
        
        HRESULT ( STDMETHODCALLTYPE *Hide )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetDisplayStatus )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation *device,
            /* [in] */ __RPC__in HSTRING status,
            /* [in] */ __x_ABI_CWindows_CDevices_CEnumeration_CDevicePickerDisplayStatusOptions options);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_get_Filter(This,filter)	\
    ( (This)->lpVtbl -> get_Filter(This,filter) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_get_Appearance(This,value)	\
    ( (This)->lpVtbl -> get_Appearance(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_get_RequestedProperties(This,value)	\
    ( (This)->lpVtbl -> get_RequestedProperties(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_add_DeviceSelected(This,handler,token)	\
    ( (This)->lpVtbl -> add_DeviceSelected(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_remove_DeviceSelected(This,token)	\
    ( (This)->lpVtbl -> remove_DeviceSelected(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_add_DisconnectButtonClicked(This,handler,token)	\
    ( (This)->lpVtbl -> add_DisconnectButtonClicked(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_remove_DisconnectButtonClicked(This,token)	\
    ( (This)->lpVtbl -> remove_DisconnectButtonClicked(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_add_DevicePickerDismissed(This,handler,token)	\
    ( (This)->lpVtbl -> add_DevicePickerDismissed(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_remove_DevicePickerDismissed(This,token)	\
    ( (This)->lpVtbl -> remove_DevicePickerDismissed(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_Show(This,selection)	\
    ( (This)->lpVtbl -> Show(This,selection) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_ShowWithPlacement(This,selection,placement)	\
    ( (This)->lpVtbl -> ShowWithPlacement(This,selection,placement) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_PickSingleDeviceAsync(This,selection,operation)	\
    ( (This)->lpVtbl -> PickSingleDeviceAsync(This,selection,operation) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_PickSingleDeviceAsyncWithPlacement(This,selection,placement,operation)	\
    ( (This)->lpVtbl -> PickSingleDeviceAsyncWithPlacement(This,selection,placement,operation) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_Hide(This)	\
    ( (This)->lpVtbl -> Hide(This) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_SetDisplayStatus(This,device,status,options)	\
    ( (This)->lpVtbl -> SetDisplayStatus(This,device,status,options) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePicker_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0124 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePickerAppearance[] = L"Windows.Devices.Enumeration.IDevicePickerAppearance";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0124 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0124_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0124_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePickerAppearance */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("E69A12C6-E627-4ED8-9B6C-460AF445E56D")
                    IDevicePickerAppearance : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AccentColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AccentColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedForegroundColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SelectedForegroundColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedBackgroundColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SelectedBackgroundColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedAccentColor( 
                            /* [out][retval] */ __RPC__out ABI::Windows::UI::Color *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SelectedAccentColor( 
                            /* [in] */ ABI::Windows::UI::Color value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePickerAppearance = __uuidof(IDevicePickerAppearance);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * 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_CEnumeration_CIDevicePickerAppearance * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccentColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AccentColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedForegroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedForegroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedBackgroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedBackgroundColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedAccentColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CUI_CColor *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedAccentColor )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance * This,
            /* [in] */ __x_ABI_CWindows_CUI_CColor value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearanceVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_Title(This,value)	\
    ( (This)->lpVtbl -> get_Title(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_Title(This,value)	\
    ( (This)->lpVtbl -> put_Title(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_ForegroundColor(This,value)	\
    ( (This)->lpVtbl -> get_ForegroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_ForegroundColor(This,value)	\
    ( (This)->lpVtbl -> put_ForegroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_BackgroundColor(This,value)	\
    ( (This)->lpVtbl -> get_BackgroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_BackgroundColor(This,value)	\
    ( (This)->lpVtbl -> put_BackgroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_AccentColor(This,value)	\
    ( (This)->lpVtbl -> get_AccentColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_AccentColor(This,value)	\
    ( (This)->lpVtbl -> put_AccentColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_SelectedForegroundColor(This,value)	\
    ( (This)->lpVtbl -> get_SelectedForegroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_SelectedForegroundColor(This,value)	\
    ( (This)->lpVtbl -> put_SelectedForegroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_SelectedBackgroundColor(This,value)	\
    ( (This)->lpVtbl -> get_SelectedBackgroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_SelectedBackgroundColor(This,value)	\
    ( (This)->lpVtbl -> put_SelectedBackgroundColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_get_SelectedAccentColor(This,value)	\
    ( (This)->lpVtbl -> get_SelectedAccentColor(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_put_SelectedAccentColor(This,value)	\
    ( (This)->lpVtbl -> put_SelectedAccentColor(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerAppearance_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0125 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDevicePickerFilter[] = L"Windows.Devices.Enumeration.IDevicePickerFilter";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0125 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0125_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0125_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDevicePickerFilter */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("91DB92A2-57CB-48F1-9B59-A59B7A1F02A2")
                    IDevicePickerFilter : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedDeviceClasses( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CDevices__CEnumeration__CDeviceClass **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedDeviceSelectors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePickerFilter = __uuidof(IDevicePickerFilter);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_get_SupportedDeviceClasses(This,value)	\
    ( (This)->lpVtbl -> get_SupportedDeviceClasses(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_get_SupportedDeviceSelectors(This,value)	\
    ( (This)->lpVtbl -> get_SupportedDeviceSelectors(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDevicePickerFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0126 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceSelectedEventArgs[] = L"Windows.Devices.Enumeration.IDeviceSelectedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0126 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0126_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0126_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceSelectedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("269EDADE-1D2F-4940-8402-4156B81D3C77")
                    IDeviceSelectedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedDevice( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceSelectedEventArgs = __uuidof(IDeviceSelectedEventArgs);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_get_SelectedDevice(This,value)	\
    ( (This)->lpVtbl -> get_SelectedDevice(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceSelectedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0127 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceUnpairingResult[] = L"Windows.Devices.Enumeration.IDeviceUnpairingResult";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0127 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0127_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0127_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceUnpairingResult */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("66F44AD3-79D9-444B-92CF-A92EF72571C7")
                    IDeviceUnpairingResult : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceUnpairingResultStatus *status) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceUnpairingResult = __uuidof(IDeviceUnpairingResult);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_get_Status(This,status)	\
    ( (This)->lpVtbl -> get_Status(This,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceUnpairingResult_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0128 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceWatcher[] = L"Windows.Devices.Enumeration.IDeviceWatcher";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0128 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0128_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0128_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceWatcher */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("C9EAB97D-8F6B-4F96-A9F4-ABC814E22271")
                    IDeviceWatcher : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_Added( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Added( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_Updated( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Updated( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_Removed( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Removed( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_EnumerationCompleted( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_EnumerationCompleted( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_Stopped( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Stopped( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceWatcherStatus *status) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceWatcher = __uuidof(IDeviceWatcher);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * 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_CEnumeration_CIDeviceWatcher * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_Added )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformation *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Added )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_Updated )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Updated )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_Removed )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_Windows__CDevices__CEnumeration__CDeviceInformationUpdate *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Removed )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_EnumerationCompleted )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_EnumerationCompleted )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_Stopped )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CEnumeration__CDeviceWatcher_IInspectable *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Stopped )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [in] */ EventRegistrationToken token);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherStatus *status);
        
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This);
        
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_add_Added(This,handler,token)	\
    ( (This)->lpVtbl -> add_Added(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_remove_Added(This,token)	\
    ( (This)->lpVtbl -> remove_Added(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_add_Updated(This,handler,token)	\
    ( (This)->lpVtbl -> add_Updated(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_remove_Updated(This,token)	\
    ( (This)->lpVtbl -> remove_Updated(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_add_Removed(This,handler,token)	\
    ( (This)->lpVtbl -> add_Removed(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_remove_Removed(This,token)	\
    ( (This)->lpVtbl -> remove_Removed(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_add_EnumerationCompleted(This,handler,token)	\
    ( (This)->lpVtbl -> add_EnumerationCompleted(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_remove_EnumerationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_EnumerationCompleted(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_add_Stopped(This,handler,token)	\
    ( (This)->lpVtbl -> add_Stopped(This,handler,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_remove_Stopped(This,token)	\
    ( (This)->lpVtbl -> remove_Stopped(This,token) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_get_Status(This,status)	\
    ( (This)->lpVtbl -> get_Status(This,status) ) 

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0129 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceWatcher2[] = L"Windows.Devices.Enumeration.IDeviceWatcher2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0129 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0129_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0129_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceWatcher2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("FF08456E-ED14-49E9-9A69-8117C54AE971")
                    IDeviceWatcher2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetBackgroundTrigger( 
                            /* [in] */ __RPC__in_opt __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind *requestedEventKinds,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::ApplicationModel::Background::IDeviceWatcherTrigger **trigger) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceWatcher2 = __uuidof(IDeviceWatcher2);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * 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_CEnumeration_CIDeviceWatcher2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetBackgroundTrigger )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2 * This,
            /* [in] */ __RPC__in_opt __FIIterable_1_Windows__CDevices__CEnumeration__CDeviceWatcherEventKind *requestedEventKinds,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CApplicationModel_CBackground_CIDeviceWatcherTrigger **trigger);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2Vtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_GetBackgroundTrigger(This,requestedEventKinds,trigger)	\
    ( (This)->lpVtbl -> GetBackgroundTrigger(This,requestedEventKinds,trigger) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcher2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0130 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceWatcherEvent[] = L"Windows.Devices.Enumeration.IDeviceWatcherEvent";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0130 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0130_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0130_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceWatcherEvent */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("74AA9C0B-1DBD-47FD-B635-3CC556D0FF8B")
                    IDeviceWatcherEvent : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::DeviceWatcherEventKind *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceInformation( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceInformationUpdate( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Devices::Enumeration::IDeviceInformationUpdate **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceWatcherEvent = __uuidof(IDeviceWatcherEvent);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * 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_CEnumeration_CIDeviceWatcherEvent * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CDeviceWatcherEventKind *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceInformation )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceInformationUpdate )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceInformationUpdate **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEventVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_get_Kind(This,value)	\
    ( (This)->lpVtbl -> get_Kind(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_get_DeviceInformation(This,value)	\
    ( (This)->lpVtbl -> get_DeviceInformation(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_get_DeviceInformationUpdate(This,value)	\
    ( (This)->lpVtbl -> get_DeviceInformationUpdate(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0131 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IDeviceWatcherTriggerDetails[] = L"Windows.Devices.Enumeration.IDeviceWatcherTriggerDetails";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0131 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0131_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0131_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IDeviceWatcherTriggerDetails */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("38808119-4CB7-4E57-A56D-776D07CBFEF9")
                    IDeviceWatcherTriggerDetails : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceWatcherEvents( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CEnumeration__CDeviceWatcherEvent **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceWatcherTriggerDetails = __uuidof(IDeviceWatcherTriggerDetails);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetailsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_get_DeviceWatcherEvents(This,value)	\
    ( (This)->lpVtbl -> get_DeviceWatcherEvents(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIDeviceWatcherTriggerDetails_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0132 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IEnclosureLocation[] = L"Windows.Devices.Enumeration.IEnclosureLocation";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0132 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0132_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0132_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IEnclosureLocation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("42340A27-5810-459C-AABB-C65E1F813ECF")
                    IEnclosureLocation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InDock( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InLid( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Panel( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Devices::Enumeration::Panel *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IEnclosureLocation = __uuidof(IEnclosureLocation);

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

    typedef struct __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * 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_CEnumeration_CIEnclosureLocation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InDock )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InLid )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Panel )( 
            __RPC__in __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CDevices_CEnumeration_CPanel *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocationVtbl;

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_get_InDock(This,value)	\
    ( (This)->lpVtbl -> get_InDock(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_get_InLid(This,value)	\
    ( (This)->lpVtbl -> get_InLid(This,value) ) 

#define __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_get_Panel(This,value)	\
    ( (This)->lpVtbl -> get_Panel(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0133 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_Enumeration_IEnclosureLocation2[] = L"Windows.Devices.Enumeration.IEnclosureLocation2";
#endif /* !defined(____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0133 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0133_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0133_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Devices::Enumeration::IEnclosureLocation2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Devices {
                namespace Enumeration {
                    
                    MIDL_INTERFACE("2885995B-E07D-485D-8A9E-BDF29AEF4F66")
                    IEnclosureLocation2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RotationAngleInDegreesClockwise( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IEnclosureLocation2 = __uuidof(IEnclosureLocation2);

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

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

    interface __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_get_RotationAngleInDegreesClockwise(This,value)	\
    ( (This)->lpVtbl -> get_RotationAngleInDegreesClockwise(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CDevices_CEnumeration_CIEnclosureLocation2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0134 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceAccessChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceAccessChangedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceAccessChangedEventArgs[] = L"Windows.Devices.Enumeration.DeviceAccessChangedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceAccessInformation_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceAccessInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceAccessInformation[] = L"Windows.Devices.Enumeration.DeviceAccessInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceConnectionChangeTriggerDetails_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceConnectionChangeTriggerDetails_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceConnectionChangeTriggerDetails[] = L"Windows.Devices.Enumeration.DeviceConnectionChangeTriggerDetails";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceDisconnectButtonClickedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceDisconnectButtonClickedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceDisconnectButtonClickedEventArgs[] = L"Windows.Devices.Enumeration.DeviceDisconnectButtonClickedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformation_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceInformation[] = L"Windows.Devices.Enumeration.DeviceInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationCollection_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationCollection_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceInformationCollection[] = L"Windows.Devices.Enumeration.DeviceInformationCollection";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationCustomPairing_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationCustomPairing_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceInformationCustomPairing[] = L"Windows.Devices.Enumeration.DeviceInformationCustomPairing";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationPairing_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationPairing_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceInformationPairing[] = L"Windows.Devices.Enumeration.DeviceInformationPairing";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationUpdate_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceInformationUpdate_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceInformationUpdate[] = L"Windows.Devices.Enumeration.DeviceInformationUpdate";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DevicePairingRequestedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DevicePairingRequestedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DevicePairingRequestedEventArgs[] = L"Windows.Devices.Enumeration.DevicePairingRequestedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DevicePairingResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DevicePairingResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DevicePairingResult[] = L"Windows.Devices.Enumeration.DevicePairingResult";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DevicePicker_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DevicePicker_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DevicePicker[] = L"Windows.Devices.Enumeration.DevicePicker";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DevicePickerAppearance_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DevicePickerAppearance_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DevicePickerAppearance[] = L"Windows.Devices.Enumeration.DevicePickerAppearance";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DevicePickerFilter_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DevicePickerFilter_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DevicePickerFilter[] = L"Windows.Devices.Enumeration.DevicePickerFilter";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceSelectedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceSelectedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceSelectedEventArgs[] = L"Windows.Devices.Enumeration.DeviceSelectedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceThumbnail_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceThumbnail_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceThumbnail[] = L"Windows.Devices.Enumeration.DeviceThumbnail";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceUnpairingResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceUnpairingResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceUnpairingResult[] = L"Windows.Devices.Enumeration.DeviceUnpairingResult";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcher_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcher_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceWatcher[] = L"Windows.Devices.Enumeration.DeviceWatcher";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcherEvent_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcherEvent_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceWatcherEvent[] = L"Windows.Devices.Enumeration.DeviceWatcherEvent";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcherTriggerDetails_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_DeviceWatcherTriggerDetails_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_DeviceWatcherTriggerDetails[] = L"Windows.Devices.Enumeration.DeviceWatcherTriggerDetails";
#endif
#ifndef RUNTIMECLASS_Windows_Devices_Enumeration_EnclosureLocation_DEFINED
#define RUNTIMECLASS_Windows_Devices_Enumeration_EnclosureLocation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_Enumeration_EnclosureLocation[] = L"Windows.Devices.Enumeration.EnclosureLocation";
#endif


/* interface __MIDL_itf_windows2Edevices2Eenumeration_0000_0134 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0134_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Edevices2Eenumeration_0000_0134_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


