// C++/WinRT v2.0.190620.2

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#ifndef WINRT_Windows_Media_Devices_1_H
#define WINRT_Windows_Media_Devices_1_H
#include "Windows.Media.Devices.0.h"
namespace winrt::Windows::Media::Devices
{
    struct __declspec(empty_bases) IAdvancedPhotoCaptureSettings :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedPhotoCaptureSettings>
    {
        IAdvancedPhotoCaptureSettings(std::nullptr_t = nullptr) noexcept {}
        IAdvancedPhotoCaptureSettings(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedPhotoControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedPhotoControl>
    {
        IAdvancedPhotoControl(std::nullptr_t = nullptr) noexcept {}
        IAdvancedPhotoControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController>
    {
        IAdvancedVideoCaptureDeviceController(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController2>
    {
        IAdvancedVideoCaptureDeviceController2(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController3 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController3>
    {
        IAdvancedVideoCaptureDeviceController3(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController3(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController4 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController4>
    {
        IAdvancedVideoCaptureDeviceController4(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController4(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController5 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController5>
    {
        IAdvancedVideoCaptureDeviceController5(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController5(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController6 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController6>
    {
        IAdvancedVideoCaptureDeviceController6(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController6(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController7 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController7>
    {
        IAdvancedVideoCaptureDeviceController7(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController7(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAdvancedVideoCaptureDeviceController8 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAdvancedVideoCaptureDeviceController8>
    {
        IAdvancedVideoCaptureDeviceController8(std::nullptr_t = nullptr) noexcept {}
        IAdvancedVideoCaptureDeviceController8(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAudioDeviceController :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAudioDeviceController>,
        impl::require<Windows::Media::Devices::IAudioDeviceController, Windows::Media::Devices::IMediaDeviceController>
    {
        IAudioDeviceController(std::nullptr_t = nullptr) noexcept {}
        IAudioDeviceController(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAudioDeviceModule :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAudioDeviceModule>
    {
        IAudioDeviceModule(std::nullptr_t = nullptr) noexcept {}
        IAudioDeviceModule(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAudioDeviceModuleNotificationEventArgs :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAudioDeviceModuleNotificationEventArgs>
    {
        IAudioDeviceModuleNotificationEventArgs(std::nullptr_t = nullptr) noexcept {}
        IAudioDeviceModuleNotificationEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAudioDeviceModulesManager :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAudioDeviceModulesManager>
    {
        IAudioDeviceModulesManager(std::nullptr_t = nullptr) noexcept {}
        IAudioDeviceModulesManager(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IAudioDeviceModulesManagerFactory :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAudioDeviceModulesManagerFactory>
    {
        IAudioDeviceModulesManagerFactory(std::nullptr_t = nullptr) noexcept {}
        IAudioDeviceModulesManagerFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ICallControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<ICallControl>
    {
        ICallControl(std::nullptr_t = nullptr) noexcept {}
        ICallControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ICallControlStatics :
        Windows::Foundation::IInspectable,
        impl::consume_t<ICallControlStatics>
    {
        ICallControlStatics(std::nullptr_t = nullptr) noexcept {}
        ICallControlStatics(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IDefaultAudioDeviceChangedEventArgs :
        Windows::Foundation::IInspectable,
        impl::consume_t<IDefaultAudioDeviceChangedEventArgs>
    {
        IDefaultAudioDeviceChangedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IDefaultAudioDeviceChangedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IDialRequestedEventArgs :
        Windows::Foundation::IInspectable,
        impl::consume_t<IDialRequestedEventArgs>
    {
        IDialRequestedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IDialRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IExposureCompensationControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IExposureCompensationControl>
    {
        IExposureCompensationControl(std::nullptr_t = nullptr) noexcept {}
        IExposureCompensationControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IExposureControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IExposureControl>
    {
        IExposureControl(std::nullptr_t = nullptr) noexcept {}
        IExposureControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IExposurePriorityVideoControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IExposurePriorityVideoControl>
    {
        IExposurePriorityVideoControl(std::nullptr_t = nullptr) noexcept {}
        IExposurePriorityVideoControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IFlashControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IFlashControl>
    {
        IFlashControl(std::nullptr_t = nullptr) noexcept {}
        IFlashControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IFlashControl2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IFlashControl2>
    {
        IFlashControl2(std::nullptr_t = nullptr) noexcept {}
        IFlashControl2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IFocusControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IFocusControl>
    {
        IFocusControl(std::nullptr_t = nullptr) noexcept {}
        IFocusControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IFocusControl2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IFocusControl2>
    {
        IFocusControl2(std::nullptr_t = nullptr) noexcept {}
        IFocusControl2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IFocusSettings :
        Windows::Foundation::IInspectable,
        impl::consume_t<IFocusSettings>
    {
        IFocusSettings(std::nullptr_t = nullptr) noexcept {}
        IFocusSettings(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IHdrVideoControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IHdrVideoControl>
    {
        IHdrVideoControl(std::nullptr_t = nullptr) noexcept {}
        IHdrVideoControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IInfraredTorchControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IInfraredTorchControl>
    {
        IInfraredTorchControl(std::nullptr_t = nullptr) noexcept {}
        IInfraredTorchControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IIsoSpeedControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IIsoSpeedControl>
    {
        IIsoSpeedControl(std::nullptr_t = nullptr) noexcept {}
        IIsoSpeedControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IIsoSpeedControl2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IIsoSpeedControl2>
    {
        IIsoSpeedControl2(std::nullptr_t = nullptr) noexcept {}
        IIsoSpeedControl2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IKeypadPressedEventArgs :
        Windows::Foundation::IInspectable,
        impl::consume_t<IKeypadPressedEventArgs>
    {
        IKeypadPressedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IKeypadPressedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ILowLagPhotoControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<ILowLagPhotoControl>
    {
        ILowLagPhotoControl(std::nullptr_t = nullptr) noexcept {}
        ILowLagPhotoControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ILowLagPhotoSequenceControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<ILowLagPhotoSequenceControl>
    {
        ILowLagPhotoSequenceControl(std::nullptr_t = nullptr) noexcept {}
        ILowLagPhotoSequenceControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IMediaDeviceControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IMediaDeviceControl>
    {
        IMediaDeviceControl(std::nullptr_t = nullptr) noexcept {}
        IMediaDeviceControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IMediaDeviceControlCapabilities :
        Windows::Foundation::IInspectable,
        impl::consume_t<IMediaDeviceControlCapabilities>
    {
        IMediaDeviceControlCapabilities(std::nullptr_t = nullptr) noexcept {}
        IMediaDeviceControlCapabilities(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IMediaDeviceController :
        Windows::Foundation::IInspectable,
        impl::consume_t<IMediaDeviceController>
    {
        IMediaDeviceController(std::nullptr_t = nullptr) noexcept {}
        IMediaDeviceController(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IMediaDeviceStatics :
        Windows::Foundation::IInspectable,
        impl::consume_t<IMediaDeviceStatics>
    {
        IMediaDeviceStatics(std::nullptr_t = nullptr) noexcept {}
        IMediaDeviceStatics(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IModuleCommandResult :
        Windows::Foundation::IInspectable,
        impl::consume_t<IModuleCommandResult>
    {
        IModuleCommandResult(std::nullptr_t = nullptr) noexcept {}
        IModuleCommandResult(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IOpticalImageStabilizationControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IOpticalImageStabilizationControl>
    {
        IOpticalImageStabilizationControl(std::nullptr_t = nullptr) noexcept {}
        IOpticalImageStabilizationControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IPanelBasedOptimizationControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IPanelBasedOptimizationControl>
    {
        IPanelBasedOptimizationControl(std::nullptr_t = nullptr) noexcept {}
        IPanelBasedOptimizationControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IPhotoConfirmationControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IPhotoConfirmationControl>
    {
        IPhotoConfirmationControl(std::nullptr_t = nullptr) noexcept {}
        IPhotoConfirmationControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IRedialRequestedEventArgs :
        Windows::Foundation::IInspectable,
        impl::consume_t<IRedialRequestedEventArgs>
    {
        IRedialRequestedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IRedialRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IRegionOfInterest :
        Windows::Foundation::IInspectable,
        impl::consume_t<IRegionOfInterest>
    {
        IRegionOfInterest(std::nullptr_t = nullptr) noexcept {}
        IRegionOfInterest(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IRegionOfInterest2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IRegionOfInterest2>
    {
        IRegionOfInterest2(std::nullptr_t = nullptr) noexcept {}
        IRegionOfInterest2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IRegionsOfInterestControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IRegionsOfInterestControl>
    {
        IRegionsOfInterestControl(std::nullptr_t = nullptr) noexcept {}
        IRegionsOfInterestControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISceneModeControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISceneModeControl>
    {
        ISceneModeControl(std::nullptr_t = nullptr) noexcept {}
        ISceneModeControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITorchControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITorchControl>
    {
        ITorchControl(std::nullptr_t = nullptr) noexcept {}
        ITorchControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IVideoDeviceController :
        Windows::Foundation::IInspectable,
        impl::consume_t<IVideoDeviceController>,
        impl::require<Windows::Media::Devices::IVideoDeviceController, Windows::Media::Devices::IMediaDeviceController>
    {
        IVideoDeviceController(std::nullptr_t = nullptr) noexcept {}
        IVideoDeviceController(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IVideoDeviceControllerGetDevicePropertyResult :
        Windows::Foundation::IInspectable,
        impl::consume_t<IVideoDeviceControllerGetDevicePropertyResult>
    {
        IVideoDeviceControllerGetDevicePropertyResult(std::nullptr_t = nullptr) noexcept {}
        IVideoDeviceControllerGetDevicePropertyResult(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IVideoTemporalDenoisingControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IVideoTemporalDenoisingControl>
    {
        IVideoTemporalDenoisingControl(std::nullptr_t = nullptr) noexcept {}
        IVideoTemporalDenoisingControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IWhiteBalanceControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IWhiteBalanceControl>
    {
        IWhiteBalanceControl(std::nullptr_t = nullptr) noexcept {}
        IWhiteBalanceControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IZoomControl :
        Windows::Foundation::IInspectable,
        impl::consume_t<IZoomControl>
    {
        IZoomControl(std::nullptr_t = nullptr) noexcept {}
        IZoomControl(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IZoomControl2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<IZoomControl2>
    {
        IZoomControl2(std::nullptr_t = nullptr) noexcept {}
        IZoomControl2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IZoomSettings :
        Windows::Foundation::IInspectable,
        impl::consume_t<IZoomSettings>
    {
        IZoomSettings(std::nullptr_t = nullptr) noexcept {}
        IZoomSettings(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
