text: // WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.201113.7
  
  #ifndef WINRT_Windows_Media_Devices_1_H
  #define WINRT_Windows_Media_Devices_1_H
  #include "winrt/impl/Windows.Media.Devices.0.h"
  WINRT_EXPORT 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
  