// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.Media.Capture.h"
#include "Windows.Media.Devices.Core.h"
#include "Windows.Media.MediaProperties.h"
#include "Windows.Storage.Streams.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_FWD_DEFINED__

    #ifndef ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_FWD_DEFINED__

    #ifndef ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_FWD_DEFINED__

    #ifndef ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_FWD_DEFINED__

    #ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7 __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CICallControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CICallControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CICallControl __x_ABI_CWindows_CMedia_CDevices_CICallControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CICallControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CICallControlStatics __x_ABI_CWindows_CMedia_CDevices_CICallControlStatics;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIExposureControl __x_ABI_CWindows_CMedia_CDevices_CIExposureControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIFlashControl __x_ABI_CWindows_CMedia_CDevices_CIFlashControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2 __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIFocusControl __x_ABI_CWindows_CMedia_CDevices_CIFocusControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2 __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIFocusSettings __x_ABI_CWindows_CMedia_CDevices_CIFocusSettings;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2 __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2 __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CISceneModeControl __x_ABI_CWindows_CMedia_CDevices_CISceneModeControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CITorchControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CITorchControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CITorchControl __x_ABI_CWindows_CMedia_CDevices_CITorchControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CITorchControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIZoomControl __x_ABI_CWindows_CMedia_CDevices_CIZoomControl;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2 __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CIZoomSettings __x_ABI_CWindows_CMedia_CDevices_CIZoomSettings;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult;

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
        __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult** result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult;

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* This,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode __x_ABI_CWindows_CMedia_CDevices_CFocusMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset __x_ABI_CWindows_CMedia_CDevices_CFocusPreset;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
        __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterestVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties;

#endif // ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRangeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPresetVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        UINT32 index,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionModeVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        UINT32 index,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingPropertiesVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIReference_1_UINT32_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIReference_1_UINT32_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIReference_1_UINT32 __x_ABI_C__FIReference_1_UINT32;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIReference_1_UINT32;

    typedef struct __x_ABI_C__FIReference_1_UINT32Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIReference_1_UINT32* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIReference_1_UINT32* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIReference_1_UINT32* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIReference_1_UINT32* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIReference_1_UINT32* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIReference_1_UINT32* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_C__FIReference_1_UINT32* This,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIReference_1_UINT32Vtbl;

    interface __x_ABI_C__FIReference_1_UINT32
    {
        CONST_VTBL struct __x_ABI_C__FIReference_1_UINT32Vtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIReference_1_UINT32_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance;

    typedef struct __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance* result);

        END_INTERFACE
    } __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl;

    interface __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance
    {
        CONST_VTBL struct __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistanceVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs* This,
        IInspectable* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs* This,
        IInspectable* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CFoundation_CIPropertyValue_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIPropertyValue_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIPropertyValue __x_ABI_CWindows_CFoundation_CIPropertyValue;

#endif // ____x_ABI_CWindows_CFoundation_CIPropertyValue_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;

typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;

typedef enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType;

typedef enum __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency;

#ifndef ____x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController __x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController;

#endif // ____x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPixelFormat __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPixelFormat;

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio;

#endif // ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat;

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CCaptureUse __x_ABI_CWindows_CMedia_CDevices_CCaptureUse;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus;

typedef enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus;

enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode_Standard = 1,
    __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode_Hdr = 2,
    __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode_LowLight = 3,
};

enum __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole
    {
        __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole_Default = 0,
    __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole_Communications = 1,
};

enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange
    {
        __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange_FullRange = 0,
    __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange_Macro = 1,
    __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange_Normal = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CCameraStreamState
    {
        __x_ABI_CWindows_CMedia_CDevices_CCameraStreamState_NotStreaming = 0,
    __x_ABI_CWindows_CMedia_CDevices_CCameraStreamState_Streaming = 1,
    __x_ABI_CWindows_CMedia_CDevices_CCameraStreamState_BlockedForPrivacy = 2,
    __x_ABI_CWindows_CMedia_CDevices_CCameraStreamState_Shutdown = 3,
};

enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Manual = 1,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Macro = 2,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Portrait = 3,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Sport = 4,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Snow = 5,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Night = 6,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Beach = 7,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Sunset = 8,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Candlelight = 9,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Landscape = 10,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_NightPortrait = 11,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode_Backlit = 12,
};

enum __x_ABI_CWindows_CMedia_CDevices_CCaptureUse
    {
        __x_ABI_CWindows_CMedia_CDevices_CCaptureUse_None = 0,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureUse_Photo = 1,
    __x_ABI_CWindows_CMedia_CDevices_CCaptureUse_Video = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset
    {
        __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Manual = 1,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Cloudy = 2,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Daylight = 3,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Flash = 4,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Fluorescent = 5,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Tungsten = 6,
    __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset_Candlelight = 7,
};

enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CFocusMode_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CFocusMode_Single = 1,
    __x_ABI_CWindows_CMedia_CDevices_CFocusMode_Continuous = 2,
    __x_ABI_CWindows_CMedia_CDevices_CFocusMode_Manual = 3,
};

enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset
    {
        __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_Manual = 1,
    __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_AutoMacro = 2,
    __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_AutoNormal = 3,
    __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_AutoInfinity = 4,
    __x_ABI_CWindows_CMedia_CDevices_CFocusPreset_AutoHyperfocal = 5,
};

enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode_Off = 0,
    __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode_On = 1,
    __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode_Auto = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode_Off = 0,
    __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode_On = 1,
    __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode_AlternatingFrameIllumination = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset
    {
        __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso50 = 1,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso80 = 2,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso100 = 3,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso200 = 4,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso400 = 5,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso800 = 6,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso1600 = 7,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso3200 = 8,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso6400 = 9,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso12800 = 10,
    __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset_Iso25600 = 11,
};

enum __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance
    {
        __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance_Infinity = 0,
    __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance_Hyperfocal = 1,
    __x_ABI_CWindows_CMedia_CDevices_CManualFocusDistance_Nearest = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState
    {
        __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState_Uninitialized = 0,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState_Lost = 1,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState_Searching = 2,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState_Focused = 3,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState_Failed = 4,
};

enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization
    {
        __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_Default = 0,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_Quality = 1,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_Latency = 2,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_Power = 3,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_LatencyThenQuality = 4,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_LatencyThenPower = 5,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization_PowerAndQuality = 6,
};

enum __x_ABI_CWindows_CMedia_CDevices_CMediaCapturePauseBehavior
    {
        __x_ABI_CWindows_CMedia_CDevices_CMediaCapturePauseBehavior_RetainHardwareResources = 0,
    __x_ABI_CWindows_CMedia_CDevices_CMediaCapturePauseBehavior_ReleaseHardwareResources = 1,
};

enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode
    {
        __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode_Off = 0,
    __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode_On = 1,
    __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode_Auto = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType
    {
        __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType_Unknown = 0,
    __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType_Face = 1,
};

enum __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus
    {
        __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus_Success = 0,
    __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus_DeviceNotAvailable = 1,
};

enum __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey
    {
        __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D0 = 0,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D1 = 1,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D2 = 2,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D3 = 3,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D4 = 4,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D5 = 5,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D6 = 6,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D7 = 7,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D8 = 8,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D9 = 9,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_Star = 10,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_Pound = 11,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_A = 12,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_B = 13,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_C = 14,
    __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey_D = 15,
};

enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus
    {
        __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_Success = 0,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_UnknownFailure = 1,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_BufferTooSmall = 2,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_NotSupported = 3,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_DeviceNotAvailable = 4,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_MaxPropertyValueSizeTooSmall = 5,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus_MaxPropertyValueSizeRequired = 6,
};

enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus
    {
        __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_Success = 0,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_UnknownFailure = 1,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_NotSupported = 2,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_InvalidValue = 3,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_DeviceNotAvailable = 4,
    __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus_NotInControl = 5,
};

enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode_Off = 0,
    __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode_On = 1,
    __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode_Auto = 2,
};

enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode
    {
        __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode_Auto = 0,
    __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode_Direct = 1,
    __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode_Smooth = 2,
};

#if !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandlerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl* sender);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandlerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler;
    #endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandlerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* e);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandlerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler;
    #endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandlerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* e);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandlerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler;
    #endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandlerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl* sender,
        __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* e);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandlerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler;
    #endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettingsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettingsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAdvancedPhotoMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAdvancedPhotoMode* value);
    HRESULT (STDMETHODCALLTYPE* Configure)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoCaptureSettings* settings);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* SetDeviceProperty)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
        HSTRING propertyId,
        IInspectable* propertyValue);
    HRESULT (STDMETHODCALLTYPE* GetDeviceProperty)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController* This,
        HSTRING propertyId,
        IInspectable** propertyValue);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceControllerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_LowLagPhotoSequence)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_LowLagPhoto)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl** value);
    HRESULT (STDMETHODCALLTYPE* get_SceneModeControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CISceneModeControl** value);
    HRESULT (STDMETHODCALLTYPE* get_TorchControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CITorchControl** value);
    HRESULT (STDMETHODCALLTYPE* get_FlashControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIFlashControl** value);
    HRESULT (STDMETHODCALLTYPE* get_WhiteBalanceControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_ExposureControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIExposureControl** value);
    HRESULT (STDMETHODCALLTYPE* get_FocusControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIFocusControl** value);
    HRESULT (STDMETHODCALLTYPE* get_ExposureCompensationControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl** value);
    HRESULT (STDMETHODCALLTYPE* get_IsoSpeedControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl** value);
    HRESULT (STDMETHODCALLTYPE* get_RegionsOfInterestControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl** value);
    HRESULT (STDMETHODCALLTYPE* get_PrimaryUse)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureUse* value);
    HRESULT (STDMETHODCALLTYPE* put_PrimaryUse)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureUse value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_VariablePhotoSequenceController)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
        __x_ABI_CWindows_CMedia_CDevices_CCore_CIVariablePhotoSequenceController** value);
    HRESULT (STDMETHODCALLTYPE* get_PhotoConfirmationControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
        __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl** value);
    HRESULT (STDMETHODCALLTYPE* get_ZoomControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3* This,
        __x_ABI_CWindows_CMedia_CDevices_CIZoomControl** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController3_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ExposurePriorityVideoControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl** value);
    HRESULT (STDMETHODCALLTYPE* get_DesiredOptimization)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization* value);
    HRESULT (STDMETHODCALLTYPE* put_DesiredOptimization)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureOptimization value);
    HRESULT (STDMETHODCALLTYPE* get_HdrVideoControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl** value);
    HRESULT (STDMETHODCALLTYPE* get_OpticalImageStabilizationControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl** value);
    HRESULT (STDMETHODCALLTYPE* get_AdvancedPhotoControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAdvancedPhotoControl** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController4_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Id)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* GetDevicePropertyById)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
        HSTRING propertyId,
        __x_ABI_C__FIReference_1_UINT32* maxPropertyValueSize,
        __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult** value);
    HRESULT (STDMETHODCALLTYPE* SetDevicePropertyById)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
        HSTRING propertyId,
        IInspectable* propertyValue,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus* value);
    HRESULT (STDMETHODCALLTYPE* GetDevicePropertyByExtendedId)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
        UINT32 extendedPropertyIdLength,
        BYTE* extendedPropertyId,
        __x_ABI_C__FIReference_1_UINT32* maxPropertyValueSize,
        __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult** value);
    HRESULT (STDMETHODCALLTYPE* SetDevicePropertyByExtendedId)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5* This,
        UINT32 extendedPropertyIdLength,
        BYTE* extendedPropertyId,
        UINT32 propertyValueLength,
        BYTE* propertyValue,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerSetDevicePropertyStatus* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController5_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_VideoTemporalDenoisingControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6* This,
        __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController6_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_InfraredTorchControl)(__x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7* This,
        __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAdvancedVideoCaptureDeviceController7_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Muted)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_Muted)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_VolumePercent)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
        FLOAT value);
    HRESULT (STDMETHODCALLTYPE* get_VolumePercent)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController* This,
        FLOAT* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceControllerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ClassId)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_DisplayName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_InstanceId)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MajorVersion)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MinorVersion)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* SendCommandAsync)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer* Command,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CMedia__CDevices__CModuleCommandResult** operation);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Module)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModule** value);
    HRESULT (STDMETHODCALLTYPE* get_NotificationData)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModuleNotificationEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_ModuleNotificationReceived)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModulesManager___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModuleNotificationEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_ModuleNotificationReceived)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* FindAllById)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
        HSTRING moduleId,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule** modules);
    HRESULT (STDMETHODCALLTYPE* FindAll)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAudioDeviceModule** modules);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Create)(__x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory* This,
        HSTRING deviceId,
        __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManager** result);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactoryVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceModulesManagerFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CICallControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CICallControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* IndicateNewIncomingCall)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        boolean enableRinger,
        HSTRING callerId,
        UINT64* callToken);
    HRESULT (STDMETHODCALLTYPE* IndicateNewOutgoingCall)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        UINT64* callToken);
    HRESULT (STDMETHODCALLTYPE* IndicateActiveCall)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        UINT64 callToken);
    HRESULT (STDMETHODCALLTYPE* EndCall)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        UINT64 callToken);
    HRESULT (STDMETHODCALLTYPE* get_HasRinger)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* add_AnswerRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_AnswerRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_HangUpRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_HangUpRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_DialRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_DialRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_RedialRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_RedialRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_KeypadPressed)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_KeypadPressed)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* add_AudioTransferRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControlEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_AudioTransferRequested)(__x_ABI_CWindows_CMedia_CDevices_CICallControl* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CICallControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CICallControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CICallControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CICallControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CICallControlStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetDefault)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl** callControl);
    HRESULT (STDMETHODCALLTYPE* FromId)(__x_ABI_CWindows_CMedia_CDevices_CICallControlStatics* This,
        HSTRING deviceId,
        __x_ABI_CWindows_CMedia_CDevices_CICallControl** callControl);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CICallControlStaticsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CICallControlStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CICallControlStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CICallControlStatics;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CICallControlStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Id)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_Role)(__x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIDefaultAudioDeviceChangedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Handled)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This);
    HRESULT (STDMETHODCALLTYPE* get_Contact)(__x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs* This,
        IInspectable** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIDialRequestedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl* This,
        FLOAT value,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposureCompensationControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIExposureControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Auto)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* SetAutoAsync)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        boolean value,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CIExposureControl* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan shutterDuration,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIExposureControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIExposureControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIExposureControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIExposureControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposureControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl* This,
        boolean value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIExposurePriorityVideoControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIFlashControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_PowerSupported)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_RedEyeReductionSupported)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_Auto)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Auto)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_RedEyeReduction)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_RedEyeReduction)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_PowerPercent)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* put_PowerPercent)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl* This,
        FLOAT value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIFlashControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIFlashControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIFlashControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIFlashControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIFlashControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AssistantLightSupported)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_AssistantLightEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AssistantLightEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIFlashControl2* This,
        boolean value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIFlashControl2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIFlashControl2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIFlashControl2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIFocusControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedPresets)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusPreset** value);
    HRESULT (STDMETHODCALLTYPE* get_Preset)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset* value);
    HRESULT (STDMETHODCALLTYPE* SetPresetAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset preset,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* SetPresetWithCompletionOptionAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusPreset preset,
        boolean completeBeforeFocus,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        UINT32 focus,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* FocusAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl* This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIFocusControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIFocusControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIFocusControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIFocusControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_FocusChangedSupported)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_WaitForFocusSupported)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedFocusModes)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CFocusMode** value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedFocusDistances)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance** value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedFocusRanges)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CAutoFocusRange** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* value);
    HRESULT (STDMETHODCALLTYPE* get_FocusState)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CMediaCaptureFocusState* value);
    HRESULT (STDMETHODCALLTYPE* UnlockAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* LockAsync)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* Configure)(__x_ABI_CWindows_CMedia_CDevices_CIFocusControl2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* settings);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIFocusControl2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIFocusControl2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusControl2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIFocusSettingsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CFocusMode value);
    HRESULT (STDMETHODCALLTYPE* get_AutoFocusRange)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoFocusRange)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAutoFocusRange value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        __x_ABI_C__FIReference_1_UINT32** value);
    HRESULT (STDMETHODCALLTYPE* put_Value)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        __x_ABI_C__FIReference_1_UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Distance)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance** value);
    HRESULT (STDMETHODCALLTYPE* put_Distance)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        __x_ABI_C__FIReference_1___x_ABI_CWindows__CMedia__CDevices__CManualFocusDistance* value);
    HRESULT (STDMETHODCALLTYPE* get_WaitForFocus)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_WaitForFocus)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_DisableDriverFallback)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_DisableDriverFallback)(__x_ABI_CWindows_CMedia_CDevices_CIFocusSettings* This,
        boolean value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIFocusSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIFocusSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIFocusSettingsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIFocusSettings;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIFocusSettings_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CHdrVideoMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CHdrVideoMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIHdrVideoControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_IsSupported)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CInfraredTorchMode** value);
    HRESULT (STDMETHODCALLTYPE* get_CurrentMode)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode* value);
    HRESULT (STDMETHODCALLTYPE* put_CurrentMode)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CInfraredTorchMode value);
    HRESULT (STDMETHODCALLTYPE* get_MinPower)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxPower)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_PowerStep)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Power)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Power)(__x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl* This,
        INT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIInfraredTorchControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedPresets)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CIsoSpeedPreset** value);
    HRESULT (STDMETHODCALLTYPE* get_Preset)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset* value);
    HRESULT (STDMETHODCALLTYPE* SetPresetAsync)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CIsoSpeedPreset preset,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        UINT32 isoSpeed,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* get_Auto)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* SetAutoAsync)(__x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2* This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIIsoSpeedControl2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_TelephonyKey)(__x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CTelephonyKey* telephonyKey);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIKeypadPressedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetHighestConcurrentFrameRate)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* captureProperties,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio** value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentFrameRate)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio** value);
    HRESULT (STDMETHODCALLTYPE* get_ThumbnailEnabled)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_ThumbnailEnabled)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_ThumbnailFormat)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat* value);
    HRESULT (STDMETHODCALLTYPE* put_ThumbnailFormat)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat value);
    HRESULT (STDMETHODCALLTYPE* get_DesiredThumbnailSize)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_DesiredThumbnailSize)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_HardwareAcceleratedThumbnailSupported)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl* This,
        UINT32* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxPastPhotos)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxPhotosPerSecond)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_PastPhotoLimit)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_PastPhotoLimit)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_PhotosPerSecondLimit)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* put_PhotosPerSecondLimit)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        FLOAT value);
    HRESULT (STDMETHODCALLTYPE* GetHighestConcurrentFrameRate)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* captureProperties,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio** value);
    HRESULT (STDMETHODCALLTYPE* GetCurrentFrameRate)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio** value);
    HRESULT (STDMETHODCALLTYPE* get_ThumbnailEnabled)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_ThumbnailEnabled)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_ThumbnailFormat)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat* value);
    HRESULT (STDMETHODCALLTYPE* put_ThumbnailFormat)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaThumbnailFormat value);
    HRESULT (STDMETHODCALLTYPE* get_DesiredThumbnailSize)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_DesiredThumbnailSize)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_HardwareAcceleratedThumbnailSupported)(__x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl* This,
        UINT32* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CILowLagPhotoSequenceControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Capabilities)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities** value);
    HRESULT (STDMETHODCALLTYPE* TryGetValue)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
        DOUBLE* value,
        boolean* succeeded);
    HRESULT (STDMETHODCALLTYPE* TrySetValue)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
        DOUBLE value,
        boolean* succeeded);
    HRESULT (STDMETHODCALLTYPE* TryGetAuto)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
        boolean* value,
        boolean* succeeded);
    HRESULT (STDMETHODCALLTYPE* TrySetAuto)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl* This,
        boolean value,
        boolean* succeeded);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilitiesVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* get_Default)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        DOUBLE* value);
    HRESULT (STDMETHODCALLTYPE* get_AutoModeSupported)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities* This,
        boolean* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilitiesVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilitiesVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControlCapabilities_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAvailableMediaStreamProperties)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
        enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CMediaProperties__CIMediaEncodingProperties** value);
    HRESULT (STDMETHODCALLTYPE* GetMediaStreamProperties)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
        enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties** value);
    HRESULT (STDMETHODCALLTYPE* SetMediaStreamPropertiesAsync)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController* This,
        enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* mediaEncodingProperties,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControllerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAudioCaptureSelector)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        HSTRING* selector);
    HRESULT (STDMETHODCALLTYPE* GetAudioRenderSelector)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        HSTRING* selector);
    HRESULT (STDMETHODCALLTYPE* GetVideoCaptureSelector)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        HSTRING* selector);
    HRESULT (STDMETHODCALLTYPE* GetDefaultAudioCaptureId)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole role,
        HSTRING* deviceId);
    HRESULT (STDMETHODCALLTYPE* GetDefaultAudioRenderId)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CAudioDeviceRole role,
        HSTRING* deviceId);
    HRESULT (STDMETHODCALLTYPE* add_DefaultAudioCaptureDeviceChanged)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioCaptureDeviceChangedEventArgs* handler,
        EventRegistrationToken* cookie);
    HRESULT (STDMETHODCALLTYPE* remove_DefaultAudioCaptureDeviceChanged)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        EventRegistrationToken cookie);
    HRESULT (STDMETHODCALLTYPE* add_DefaultAudioRenderDeviceChanged)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        __x_ABI_C__FITypedEventHandler_2_IInspectable___x_ABI_CWindows__CMedia__CDevices__CDefaultAudioRenderDeviceChangedEventArgs* handler,
        EventRegistrationToken* cookie);
    HRESULT (STDMETHODCALLTYPE* remove_DefaultAudioRenderDeviceChanged)(__x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics* This,
        EventRegistrationToken cookie);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStaticsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Status)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CSendCommandStatus* value);
    HRESULT (STDMETHODCALLTYPE* get_Result)(__x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResultVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIModuleCommandResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__COpticalImageStabilizationMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_COpticalImageStabilizationMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIOpticalImageStabilizationControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
        boolean* pbSupported);
    HRESULT (STDMETHODCALLTYPE* get_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_PixelFormat)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPixelFormat* format);
    HRESULT (STDMETHODCALLTYPE* put_PixelFormat)(__x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl* This,
        enum __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPixelFormat format);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIPhotoConfirmationControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Handled)(__x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs* This);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIRedialRequestedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterestVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AutoFocusEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoFocusEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_AutoWhiteBalanceEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoWhiteBalanceEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_AutoExposureEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoExposureEnabled)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_Bounds)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        struct __x_ABI_CWindows_CFoundation_CRect* value);
    HRESULT (STDMETHODCALLTYPE* put_Bounds)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest* This,
        struct __x_ABI_CWindows_CFoundation_CRect value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterestVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterestVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Type)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType* value);
    HRESULT (STDMETHODCALLTYPE* put_Type)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CRegionOfInterestType value);
    HRESULT (STDMETHODCALLTYPE* get_BoundsNormalized)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_BoundsNormalized)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_Weight)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Weight)(__x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2* This,
        UINT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionOfInterest2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_MaxRegions)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* SetRegionsAsync)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* regions,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* SetRegionsWithLockAsync)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CMedia__CDevices__CRegionOfInterest* regions,
        boolean lockValues,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* ClearRegionsAsync)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* get_AutoFocusSupported)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_AutoWhiteBalanceSupported)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_AutoExposureSupported)(__x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl* This,
        boolean* value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIRegionsOfInterestControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CISceneModeControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CCaptureSceneMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CISceneModeControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CCaptureSceneMode sceneMode,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CISceneModeControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CISceneModeControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CISceneModeControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CISceneModeControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CISceneModeControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CITorchControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CITorchControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CITorchControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_PowerSupported)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Enabled)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_PowerPercent)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* put_PowerPercent)(__x_ABI_CWindows_CMedia_CDevices_CITorchControl* This,
        FLOAT value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CITorchControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CITorchControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CITorchControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CITorchControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CITorchControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Brightness)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Contrast)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Hue)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_WhiteBalance)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_BacklightCompensation)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Pan)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Tilt)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Zoom)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Roll)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Exposure)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* get_Focus)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        __x_ABI_CWindows_CMedia_CDevices_CIMediaDeviceControl** value);
    HRESULT (STDMETHODCALLTYPE* TrySetPowerlineFrequency)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        enum __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency value,
        boolean* succeeded);
    HRESULT (STDMETHODCALLTYPE* TryGetPowerlineFrequency)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController* This,
        enum __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency* value,
        boolean* succeeded);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Status)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoDeviceControllerGetDevicePropertyStatus* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult* This,
        IInspectable** value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResultVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceControllerGetDevicePropertyResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CVideoTemporalDenoisingMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CVideoTemporalDenoisingMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIVideoTemporalDenoisingControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Preset)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset* value);
    HRESULT (STDMETHODCALLTYPE* SetPresetAsync)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CColorTemperaturePreset preset,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* SetValueAsync)(__x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl* This,
        UINT32 temperature,
        __x_ABI_CWindows_CFoundation_CIAsyncAction** asyncInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIWhiteBalanceControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIZoomControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Supported)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Min)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Max)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Step)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* put_Value)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl* This,
        FLOAT value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIZoomControlVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIZoomControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIZoomControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIZoomControl;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SupportedModes)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CMedia__CDevices__CZoomTransitionMode** value);
    HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* value);
    HRESULT (STDMETHODCALLTYPE* Configure)(__x_ABI_CWindows_CMedia_CDevices_CIZoomControl2* This,
        __x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* settings);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2Vtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIZoomControl2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIZoomControl2;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomControl2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CMedia_CDevices_CIZoomSettingsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode* value);
    HRESULT (STDMETHODCALLTYPE* put_Mode)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
        enum __x_ABI_CWindows_CMedia_CDevices_CZoomTransitionMode value);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
        FLOAT* value);
    HRESULT (STDMETHODCALLTYPE* put_Value)(__x_ABI_CWindows_CMedia_CDevices_CIZoomSettings* This,
        FLOAT value);

        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CDevices_CIZoomSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CDevices_CIZoomSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CDevices_CIZoomSettingsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CDevices_CIZoomSettings;
#endif /* !defined(____x_ABI_CWindows_CMedia_CDevices_CIZoomSettings_INTERFACE_DEFINED__) */
    
