//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Devices.Enumeration.idl";
import "Windows.Graphics.DirectX.Direct3D11.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Media.idl";
import "Windows.Media.Capture.Core.idl";
import "Windows.Media.Capture.Frames.idl";
import "Windows.Media.Core.idl";
import "Windows.Media.Devices.idl";
import "Windows.Media.Effects.idl";
import "Windows.Media.MediaProperties.idl";
import "Windows.Security.Authentication.Web.idl";
import "Windows.Security.Credentials.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";
import "Windows.System.idl";
import "Windows.UI.WindowManagement.idl";

// Forward Declare
namespace Windows
{
    namespace Devices
    {
        namespace Enumeration
        {
            typedef enum Panel Panel;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        interface IClosable;

        typedef struct Rect Rect;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            namespace Direct3D11
            {
                interface IDirect3DDevice;
            }
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            typedef enum BitmapAlphaMode BitmapAlphaMode;

            typedef enum BitmapPixelFormat BitmapPixelFormat;

            runtimeclass BitmapPropertySet;

            typedef struct BitmapSize BitmapSize;

            runtimeclass SoftwareBitmap;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        typedef enum AudioProcessing AudioProcessing;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            namespace Core
            {
                runtimeclass VariablePhotoSequenceCapture;
            }
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            namespace Frames
            {
                runtimeclass MediaFrameReader;

                runtimeclass MediaFrameSource;

                runtimeclass MediaFrameSourceGroup;

                runtimeclass MediaFrameSourceInfo;

                runtimeclass MultiSourceMediaFrameReader;
            }
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Core
        {
            interface IMediaSource;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            typedef enum AdvancedPhotoMode AdvancedPhotoMode;

            runtimeclass AudioDeviceController;

            typedef enum CameraStreamState CameraStreamState;

            typedef enum CaptureSceneMode CaptureSceneMode;

            typedef enum MediaCaptureFocusState MediaCaptureFocusState;

            typedef enum MediaCapturePauseBehavior MediaCapturePauseBehavior;

            runtimeclass VideoDeviceController;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Effects
        {
            interface IAudioEffectDefinition;

            interface IVideoEffectDefinition;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        interface IMediaExtension;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            interface IMediaEncodingProperties;

            runtimeclass ImageEncodingProperties;

            runtimeclass MediaEncodingProfile;

            runtimeclass MediaPropertySet;

            runtimeclass MediaRatio;

            runtimeclass VideoEncodingProperties;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        runtimeclass VideoFrame;
    }
}
namespace Windows
{
    namespace Security
    {
        namespace Authentication
        {
            namespace Web
            {
                runtimeclass WebAuthenticationResult;
            }
        }
    }
}
namespace Windows
{
    namespace Security
    {
        namespace Credentials
        {
            runtimeclass PasswordCredential;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;

        runtimeclass StorageFile;

        runtimeclass StorageFolder;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IContentTypeProvider;

            interface IInputStream;

            interface IOutputStream;

            interface IRandomAccessStream;

            interface IRandomAccessStreamReference;

            interface IRandomAccessStreamWithContentType;
        }
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;

        typedef enum VirtualKey VirtualKey;

        typedef enum VirtualKeyModifiers VirtualKeyModifiers;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace WindowManagement
        {
            runtimeclass DisplayRegion;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            apicontract AppBroadcastContract;

            apicontract AppCaptureContract;

            apicontract AppCaptureMetadataContract;

            apicontract CameraCaptureUIContract;

            apicontract GameBarContract;

            typedef enum AppBroadcastCameraCaptureState AppBroadcastCameraCaptureState;

            typedef enum AppBroadcastCameraOverlayLocation AppBroadcastCameraOverlayLocation;

            typedef enum AppBroadcastCameraOverlaySize AppBroadcastCameraOverlaySize;

            typedef enum AppBroadcastCaptureTargetType AppBroadcastCaptureTargetType;

            typedef enum AppBroadcastExitBroadcastModeReason AppBroadcastExitBroadcastModeReason;

            typedef enum AppBroadcastMicrophoneCaptureState AppBroadcastMicrophoneCaptureState;

            typedef enum AppBroadcastPlugInState AppBroadcastPlugInState;

            typedef enum AppBroadcastPreviewState AppBroadcastPreviewState;

            typedef enum AppBroadcastSignInResult AppBroadcastSignInResult;

            typedef enum AppBroadcastSignInState AppBroadcastSignInState;

            typedef enum AppBroadcastStreamState AppBroadcastStreamState;

            typedef enum AppBroadcastTerminationReason AppBroadcastTerminationReason;

            typedef enum AppBroadcastVideoEncodingBitrateMode AppBroadcastVideoEncodingBitrateMode;

            typedef enum AppBroadcastVideoEncodingResolutionMode AppBroadcastVideoEncodingResolutionMode;

            typedef enum AppCaptureHistoricalBufferLengthUnit AppCaptureHistoricalBufferLengthUnit;

            typedef enum AppCaptureMetadataPriority AppCaptureMetadataPriority;

            typedef enum AppCaptureMicrophoneCaptureState AppCaptureMicrophoneCaptureState;

            typedef enum AppCaptureRecordingState AppCaptureRecordingState;

            typedef enum AppCaptureVideoEncodingBitrateMode AppCaptureVideoEncodingBitrateMode;

            typedef enum AppCaptureVideoEncodingFrameRateMode AppCaptureVideoEncodingFrameRateMode;

            typedef enum AppCaptureVideoEncodingResolutionMode AppCaptureVideoEncodingResolutionMode;

            typedef enum CameraCaptureUIMaxPhotoResolution CameraCaptureUIMaxPhotoResolution;

            typedef enum CameraCaptureUIMaxVideoResolution CameraCaptureUIMaxVideoResolution;

            typedef enum CameraCaptureUIMode CameraCaptureUIMode;

            typedef enum CameraCaptureUIPhotoFormat CameraCaptureUIPhotoFormat;

            typedef enum CameraCaptureUIVideoFormat CameraCaptureUIVideoFormat;

            typedef enum ForegroundActivationArgument ForegroundActivationArgument;

            typedef enum GameBarCommand GameBarCommand;

            typedef enum GameBarCommandOrigin GameBarCommandOrigin;

            typedef enum GameBarServicesDisplayMode GameBarServicesDisplayMode;

            typedef enum GameBarTargetCapturePolicy GameBarTargetCapturePolicy;

            typedef enum KnownVideoProfile KnownVideoProfile;

            typedef enum MediaCaptureDeviceExclusiveControlReleaseMode MediaCaptureDeviceExclusiveControlReleaseMode;

            typedef enum MediaCaptureDeviceExclusiveControlStatus MediaCaptureDeviceExclusiveControlStatus;

            typedef enum MediaCaptureMemoryPreference MediaCaptureMemoryPreference;

            typedef enum MediaCaptureSharingMode MediaCaptureSharingMode;

            typedef enum MediaCaptureThermalStatus MediaCaptureThermalStatus;

            typedef enum MediaCategory MediaCategory;

            typedef enum MediaStreamType MediaStreamType;

            typedef enum PhotoCaptureSource PhotoCaptureSource;

            typedef enum PowerlineFrequency PowerlineFrequency;

            typedef enum StreamingCaptureMode StreamingCaptureMode;

            typedef enum VideoDeviceCharacteristic VideoDeviceCharacteristic;

            typedef enum VideoRotation VideoRotation;

            typedef struct WhiteBalanceGain WhiteBalanceGain;

            delegate MediaCaptureFailedEventHandler;

            delegate RecordLimitationExceededEventHandler;

            interface IAdvancedCapturedPhoto;

            interface IAdvancedCapturedPhoto2;

            interface IAdvancedPhotoCapture;

            interface IAppBroadcastBackgroundService;

            interface IAppBroadcastBackgroundService2;

            interface IAppBroadcastBackgroundServiceSignInInfo;

            interface IAppBroadcastBackgroundServiceSignInInfo2;

            interface IAppBroadcastBackgroundServiceStreamInfo;

            interface IAppBroadcastBackgroundServiceStreamInfo2;

            interface IAppBroadcastCameraCaptureStateChangedEventArgs;

            interface IAppBroadcastGlobalSettings;

            interface IAppBroadcastHeartbeatRequestedEventArgs;

            interface IAppBroadcastManagerStatics;

            interface IAppBroadcastMicrophoneCaptureStateChangedEventArgs;

            interface IAppBroadcastPlugIn;

            interface IAppBroadcastPlugInManager;

            interface IAppBroadcastPlugInManagerStatics;

            interface IAppBroadcastPlugInStateChangedEventArgs;

            interface IAppBroadcastPreview;

            interface IAppBroadcastPreviewStateChangedEventArgs;

            interface IAppBroadcastPreviewStreamReader;

            interface IAppBroadcastPreviewStreamVideoFrame;

            interface IAppBroadcastPreviewStreamVideoHeader;

            interface IAppBroadcastProviderSettings;

            interface IAppBroadcastServices;

            interface IAppBroadcastSignInStateChangedEventArgs;

            interface IAppBroadcastState;

            interface IAppBroadcastStreamAudioFrame;

            interface IAppBroadcastStreamAudioHeader;

            interface IAppBroadcastStreamReader;

            interface IAppBroadcastStreamStateChangedEventArgs;

            interface IAppBroadcastStreamVideoFrame;

            interface IAppBroadcastStreamVideoHeader;

            interface IAppBroadcastTriggerDetails;

            interface IAppBroadcastViewerCountChangedEventArgs;

            interface IAppCapture;

            interface IAppCaptureAlternateShortcutKeys;

            interface IAppCaptureAlternateShortcutKeys2;

            interface IAppCaptureAlternateShortcutKeys3;

            interface IAppCaptureDurationGeneratedEventArgs;

            interface IAppCaptureFileGeneratedEventArgs;

            interface IAppCaptureManagerStatics;

            interface IAppCaptureMetadataWriter;

            interface IAppCaptureMicrophoneCaptureStateChangedEventArgs;

            interface IAppCaptureRecordOperation;

            interface IAppCaptureRecordingStateChangedEventArgs;

            interface IAppCaptureServices;

            interface IAppCaptureSettings;

            interface IAppCaptureSettings2;

            interface IAppCaptureSettings3;

            interface IAppCaptureSettings4;

            interface IAppCaptureSettings5;

            interface IAppCaptureState;

            interface IAppCaptureStatics;

            interface IAppCaptureStatics2;

            interface ICameraCaptureUI;

            interface ICameraCaptureUIPhotoCaptureSettings;

            interface ICameraCaptureUIVideoCaptureSettings;

            interface ICameraOptionsUIStatics;

            interface ICapturedFrame;

            interface ICapturedFrame2;

            interface ICapturedFrameControlValues;

            interface ICapturedFrameControlValues2;

            interface ICapturedFrameWithSoftwareBitmap;

            interface ICapturedPhoto;

            interface IGameBarServices;

            interface IGameBarServicesCommandEventArgs;

            interface IGameBarServicesManager;

            interface IGameBarServicesManagerGameBarServicesCreatedEventArgs;

            interface IGameBarServicesManagerStatics;

            interface IGameBarServicesTargetInfo;

            interface ILowLagMediaRecording;

            interface ILowLagMediaRecording2;

            interface ILowLagMediaRecording3;

            interface ILowLagPhotoCapture;

            interface ILowLagPhotoSequenceCapture;

            interface IMediaCapture;

            interface IMediaCapture2;

            interface IMediaCapture3;

            interface IMediaCapture4;

            interface IMediaCapture5;

            interface IMediaCapture6;

            interface IMediaCapture7;

            interface IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs;

            interface IMediaCaptureFailedEventArgs;

            interface IMediaCaptureFocusChangedEventArgs;

            interface IMediaCaptureInitializationSettings;

            interface IMediaCaptureInitializationSettings2;

            interface IMediaCaptureInitializationSettings3;

            interface IMediaCaptureInitializationSettings4;

            interface IMediaCaptureInitializationSettings5;

            interface IMediaCaptureInitializationSettings6;

            interface IMediaCaptureInitializationSettings7;

            interface IMediaCapturePauseResult;

            interface IMediaCaptureRelativePanelWatcher;

            interface IMediaCaptureSettings;

            interface IMediaCaptureSettings2;

            interface IMediaCaptureSettings3;

            interface IMediaCaptureStatics;

            interface IMediaCaptureStopResult;

            interface IMediaCaptureVideoPreview;

            interface IMediaCaptureVideoProfile;

            interface IMediaCaptureVideoProfile2;

            interface IMediaCaptureVideoProfileMediaDescription;

            interface IMediaCaptureVideoProfileMediaDescription2;

            interface IOptionalReferencePhotoCapturedEventArgs;

            interface IPhotoCapturedEventArgs;

            interface IPhotoConfirmationCapturedEventArgs;

            interface IVideoStreamConfiguration;

            runtimeclass AdvancedCapturedPhoto;

            runtimeclass AdvancedPhotoCapture;

            runtimeclass AppBroadcastBackgroundService;

            runtimeclass AppBroadcastBackgroundServiceSignInInfo;

            runtimeclass AppBroadcastBackgroundServiceStreamInfo;

            runtimeclass AppBroadcastCameraCaptureStateChangedEventArgs;

            runtimeclass AppBroadcastGlobalSettings;

            runtimeclass AppBroadcastHeartbeatRequestedEventArgs;

            runtimeclass AppBroadcastManager;

            runtimeclass AppBroadcastMicrophoneCaptureStateChangedEventArgs;

            runtimeclass AppBroadcastPlugIn;

            runtimeclass AppBroadcastPlugInManager;

            runtimeclass AppBroadcastPlugInStateChangedEventArgs;

            runtimeclass AppBroadcastPreview;

            runtimeclass AppBroadcastPreviewStateChangedEventArgs;

            runtimeclass AppBroadcastPreviewStreamReader;

            runtimeclass AppBroadcastPreviewStreamVideoFrame;

            runtimeclass AppBroadcastPreviewStreamVideoHeader;

            runtimeclass AppBroadcastProviderSettings;

            runtimeclass AppBroadcastServices;

            runtimeclass AppBroadcastSignInStateChangedEventArgs;

            runtimeclass AppBroadcastState;

            runtimeclass AppBroadcastStreamAudioFrame;

            runtimeclass AppBroadcastStreamAudioHeader;

            runtimeclass AppBroadcastStreamReader;

            runtimeclass AppBroadcastStreamStateChangedEventArgs;

            runtimeclass AppBroadcastStreamVideoFrame;

            runtimeclass AppBroadcastStreamVideoHeader;

            runtimeclass AppBroadcastTriggerDetails;

            runtimeclass AppBroadcastViewerCountChangedEventArgs;

            runtimeclass AppCapture;

            runtimeclass AppCaptureAlternateShortcutKeys;

            runtimeclass AppCaptureDurationGeneratedEventArgs;

            runtimeclass AppCaptureFileGeneratedEventArgs;

            runtimeclass AppCaptureManager;

            runtimeclass AppCaptureMetadataWriter;

            runtimeclass AppCaptureMicrophoneCaptureStateChangedEventArgs;

            runtimeclass AppCaptureRecordOperation;

            runtimeclass AppCaptureRecordingStateChangedEventArgs;

            runtimeclass AppCaptureServices;

            runtimeclass AppCaptureSettings;

            runtimeclass AppCaptureState;

            runtimeclass CameraCaptureUI;

            runtimeclass CameraCaptureUIPhotoCaptureSettings;

            runtimeclass CameraCaptureUIVideoCaptureSettings;

            runtimeclass CameraOptionsUI;

            runtimeclass CapturedFrame;

            runtimeclass CapturedFrameControlValues;

            runtimeclass CapturedPhoto;

            runtimeclass GameBarServices;

            runtimeclass GameBarServicesCommandEventArgs;

            runtimeclass GameBarServicesManager;

            runtimeclass GameBarServicesManagerGameBarServicesCreatedEventArgs;

            runtimeclass GameBarServicesTargetInfo;

            runtimeclass LowLagMediaRecording;

            runtimeclass LowLagPhotoCapture;

            runtimeclass LowLagPhotoSequenceCapture;

            runtimeclass MediaCapture;

            runtimeclass MediaCaptureDeviceExclusiveControlStatusChangedEventArgs;

            runtimeclass MediaCaptureFailedEventArgs;

            runtimeclass MediaCaptureFocusChangedEventArgs;

            runtimeclass MediaCaptureInitializationSettings;

            runtimeclass MediaCapturePauseResult;

            runtimeclass MediaCaptureRelativePanelWatcher;

            runtimeclass MediaCaptureSettings;

            runtimeclass MediaCaptureStopResult;

            runtimeclass MediaCaptureVideoProfile;

            runtimeclass MediaCaptureVideoProfileMediaDescription;

            runtimeclass OptionalReferencePhotoCapturedEventArgs;

            runtimeclass PhotoCapturedEventArgs;

            runtimeclass PhotoConfirmationCapturedEventArgs;

            runtimeclass VideoStreamConfiguration;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Media.Capture.AppBroadcastPlugIn*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Capture.MediaCaptureVideoProfile*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Capture.AppBroadcastPlugIn*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Capture.MediaCaptureVideoProfile*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.AppBroadcastPlugIn*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfile*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.AdvancedCapturedPhoto*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.AdvancedPhotoCapture*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.CapturedPhoto*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagMediaRecording*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagPhotoCapture*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagPhotoSequenceCapture*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCapturePauseResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCaptureStopResult*>;

                interface Windows.Foundation.IReference<Windows.Media.Capture.WhiteBalanceGain>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AdvancedPhotoCapture*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AdvancedPhotoCapture*, Windows.Media.Capture.OptionalReferencePhotoCapturedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, Windows.Media.Capture.AppBroadcastHeartbeatRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo*, Windows.Media.Capture.AppBroadcastSignInStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo*, Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastPreview*, Windows.Media.Capture.AppBroadcastPreviewStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastPreviewStreamReader*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastCameraCaptureStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastMicrophoneCaptureStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastPlugInStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastViewerCountChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastStreamReader*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCapture*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureMetadataWriter*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureDurationGeneratedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureFileGeneratedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureRecordingStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureState*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureState*, Windows.Media.Capture.AppCaptureMicrophoneCaptureStateChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.GameBarServices*, Windows.Media.Capture.GameBarServicesCommandEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.GameBarServicesManager*, Windows.Media.Capture.GameBarServicesManagerGameBarServicesCreatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.LowLagPhotoSequenceCapture*, Windows.Media.Capture.PhotoCapturedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatusChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.MediaCaptureFocusChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.PhotoConfirmationCapturedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCaptureRelativePanelWatcher*, IInspectable*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Capture
        {
            [contractversion(2.0)]
            apicontract AppBroadcastContract
            {
            }

            [contractversion(4.0)]
            apicontract AppCaptureContract
            {
            }

            [contractversion(1.0)]
            apicontract AppCaptureMetadataContract
            {
            }

            [contractversion(1.0)]
            apicontract CameraCaptureUIContract
            {
            }

            [contractversion(1.0)]
            apicontract GameBarContract
            {
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastCameraCaptureState
            {
                Stopped = 0,
                Started = 1,
                Failed  = 2
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastCameraOverlayLocation
            {
                TopLeft      = 0,
                TopCenter    = 1,
                TopRight     = 2,
                MiddleLeft   = 3,
                MiddleCenter = 4,
                MiddleRight  = 5,
                BottomLeft   = 6,
                BottomCenter = 7,
                BottomRight  = 8
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastCameraOverlaySize
            {
                Small  = 0,
                Medium = 1,
                Large  = 2
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastCaptureTargetType
            {
                AppView       = 0,
                EntireDisplay = 1
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastExitBroadcastModeReason
            {
                NormalExit             = 0,
                UserCanceled           = 1,
                AuthorizationFail      = 2,
                ForegroundAppActivated = 3
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastMicrophoneCaptureState
            {
                Stopped = 0,
                Started = 1,
                Failed  = 2
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastPlugInState
            {
                Unknown                 = 0,
                Initialized             = 1,
                MicrosoftSignInRequired = 2,
                OAuthSignInRequired     = 3,
                ProviderSignInRequired  = 4,
                InBandwidthTest         = 5,
                ReadyToBroadcast        = 6
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastPreviewState
            {
                Started = 0,
                Stopped = 1,
                Failed  = 2
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastSignInResult
            {
                Success              = 0,
                AuthenticationFailed = 1,
                Unauthorized         = 2,
                ServiceUnavailable   = 3,
                Unknown              = 4
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastSignInState
            {
                NotSignedIn               = 0,
                MicrosoftSignInInProgress = 1,
                MicrosoftSignInComplete   = 2,
                OAuthSignInInProgress     = 3,
                OAuthSignInComplete       = 4
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastStreamState
            {
                Initializing = 0,
                StreamReady  = 1,
                Started      = 2,
                Paused       = 3,
                Terminated   = 4
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastTerminationReason
            {
                NormalTermination          = 0,
                LostConnectionToService    = 1,
                NoNetworkConnectivity      = 2,
                ServiceAbort               = 3,
                ServiceError               = 4,
                ServiceUnavailable         = 5,
                InternalError              = 6,
                UnsupportedFormat          = 7,
                BackgroundTaskTerminated   = 8,
                BackgroundTaskUnresponsive = 9
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastVideoEncodingBitrateMode
            {
                Custom = 0,
                Auto   = 1
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum AppBroadcastVideoEncodingResolutionMode
            {
                Custom = 0,
                Auto   = 1
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            enum AppCaptureHistoricalBufferLengthUnit
            {
                Megabytes = 0,
                Seconds   = 1
            };

            [contract(Windows.Media.Capture.AppCaptureMetadataContract, 1.0)]
            enum AppCaptureMetadataPriority
            {
                Informational = 0,
                Important     = 1
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            enum AppCaptureMicrophoneCaptureState
            {
                Stopped = 0,
                Started = 1,
                Failed  = 2
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            enum AppCaptureRecordingState
            {
                InProgress = 0,
                Completed  = 1,
                Failed     = 2
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            enum AppCaptureVideoEncodingBitrateMode
            {
                Custom   = 0,
                High     = 1,
                Standard = 2
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 3.0)]
            enum AppCaptureVideoEncodingFrameRateMode
            {
                Standard = 0,
                High     = 1
            };

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            enum AppCaptureVideoEncodingResolutionMode
            {
                Custom   = 0,
                High     = 1,
                Standard = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CameraCaptureUIMaxPhotoResolution
            {
                HighestAvailable = 0,
                VerySmallQvga    = 1,
                SmallVga         = 2,
                MediumXga        = 3,
                Large3M          = 4,
                VeryLarge5M      = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CameraCaptureUIMaxVideoResolution
            {
                HighestAvailable   = 0,
                LowDefinition      = 1,
                StandardDefinition = 2,
                HighDefinition     = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CameraCaptureUIMode
            {
                PhotoOrVideo = 0,
                Photo        = 1,
                Video        = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CameraCaptureUIPhotoFormat
            {
                Jpeg   = 0,
                Png    = 1,
                JpegXR = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CameraCaptureUIVideoFormat
            {
                Mp4 = 0,
                Wmv = 1
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum ForegroundActivationArgument
            {
                SignInRequired = 0,
                MoreSettings   = 1
            };

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            enum GameBarCommand
            {
                OpenGameBar              = 0,
                RecordHistoricalBuffer   = 1,
                ToggleStartStopRecord    = 2,
                StartRecord              = 3,
                StopRecord               = 4,
                TakeScreenshot           = 5,
                StartBroadcast           = 6,
                StopBroadcast            = 7,
                PauseBroadcast           = 8,
                ResumeBroadcast          = 9,
                ToggleStartStopBroadcast = 10,
                ToggleMicrophoneCapture  = 11,
                ToggleCameraCapture      = 12,
                ToggleRecordingIndicator = 13
            };

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            enum GameBarCommandOrigin
            {
                ShortcutKey = 0,
                Cortana     = 1,
                AppCommand  = 2
            };

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            enum GameBarServicesDisplayMode
            {
                Windowed            = 0,
                FullScreenExclusive = 1
            };

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            enum GameBarTargetCapturePolicy
            {
                EnabledBySystem       = 0,
                EnabledByUser         = 1,
                NotEnabled            = 2,
                ProhibitedBySystem    = 3,
                ProhibitedByPublisher = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum KnownVideoProfile
            {
                VideoRecording        = 0,
                HighQualityPhoto      = 1,
                BalancedVideoAndPhoto = 2,
                VideoConferencing     = 3,
                PhotoSequence         = 4,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                HighFrameRate         = 5,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                VariablePhotoSequence = 6,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                HdrWithWcgVideo       = 7,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                HdrWithWcgPhoto       = 8,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                VideoHdr8             = 9,
                [contract(Windows.Foundation.UniversalApiContract, 11.0)]
                CompressedCamera      = 10
            };

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            enum MediaCaptureDeviceExclusiveControlReleaseMode
            {
                OnDispose           = 0,
                OnAllStreamsStopped = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum MediaCaptureDeviceExclusiveControlStatus
            {
                ExclusiveControlAvailable = 0,
                SharedReadOnlyAvailable   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum MediaCaptureMemoryPreference
            {
                Auto = 0,
                Cpu  = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum MediaCaptureSharingMode
            {
                ExclusiveControl = 0,
                SharedReadOnly   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaCaptureThermalStatus
            {
                Normal     = 0,
                Overheated = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaCategory
            {
                Other          = 0,
                Communications = 1,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Media          = 2,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                GameChat       = 3,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Speech         = 4,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                FarFieldSpeech = 5,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                UniformSpeech  = 6,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                VoiceTyping    = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MediaStreamType
            {
                VideoPreview = 0,
                VideoRecord  = 1,
                Audio        = 2,
                Photo        = 3,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                Metadata     = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhotoCaptureSource
            {
                Auto         = 0,
                VideoPreview = 1,
                Photo        = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PowerlineFrequency
            {
                Disabled   = 0,
                FiftyHertz = 1,
                SixtyHertz = 2,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                Auto       = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum StreamingCaptureMode
            {
                AudioAndVideo = 0,
                Audio         = 1,
                Video         = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum VideoDeviceCharacteristic
            {
                AllStreamsIndependent         = 0,
                PreviewRecordStreamsIdentical = 1,
                PreviewPhotoStreamsIdentical  = 2,
                RecordPhotoStreamsIdentical   = 3,
                AllStreamsIdentical           = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum VideoRotation
            {
                None                = 0,
                Clockwise90Degrees  = 1,
                Clockwise180Degrees = 2,
                Clockwise270Degrees = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct WhiteBalanceGain
            {
                DOUBLE R;
                DOUBLE G;
                DOUBLE B;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(2014EFFB-5CD8-4F08-A314-0D360DA59F14)]
            delegate
                HRESULT MediaCaptureFailedEventHandler([in] Windows.Media.Capture.MediaCapture* sender, [in] Windows.Media.Capture.MediaCaptureFailedEventArgs* errorEventArgs);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(3FAE8F2E-4FE1-4FFD-AABA-E1F1337D4E53)]
            delegate
                HRESULT RecordLimitationExceededEventHandler([in] Windows.Media.Capture.MediaCapture* sender);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AdvancedCapturedPhoto)]
            [uuid(F072728B-B292-4491-9D41-99807A550BBF)]
            interface IAdvancedCapturedPhoto : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT Mode([out] [retval] Windows.Media.Devices.AdvancedPhotoMode* value);
                [propget] HRESULT Context([out] [retval] IInspectable** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.AdvancedCapturedPhoto)]
            [uuid(18CF6CD8-CFFE-42D8-8104-017BB318F4A1)]
            interface IAdvancedCapturedPhoto2 : IInspectable
            {
                [propget] HRESULT FrameBoundsRelativeToReferencePhoto([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Rect>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AdvancedPhotoCapture)]
            [uuid(83FFAAFA-6667-44DC-973C-A6BCE596AA0F)]
            interface IAdvancedPhotoCapture : IInspectable
            {
                [overload("CaptureAsync")] HRESULT CaptureAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.AdvancedCapturedPhoto*>** operation);
                [overload("CaptureAsync")] HRESULT CaptureWithContextAsync([in] IInspectable* context, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.AdvancedCapturedPhoto*>** operation);
                [eventadd] HRESULT OptionalReferencePhotoCaptured([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AdvancedPhotoCapture*, Windows.Media.Capture.OptionalReferencePhotoCapturedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OptionalReferencePhotoCaptured([in] EventRegistrationToken token);
                [eventadd] HRESULT AllPhotosCaptured([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AdvancedPhotoCapture*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AllPhotosCaptured([in] EventRegistrationToken token);
                HRESULT FinishAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundService)]
            [uuid(BAD1E72A-FA94-46F9-95FC-D71511CDA70B)]
            interface IAppBroadcastBackgroundService : IInspectable
            {
                [propput] HRESULT PlugInState([in] Windows.Media.Capture.AppBroadcastPlugInState value);
                [propget] HRESULT PlugInState([out] [retval] Windows.Media.Capture.AppBroadcastPlugInState* value);
                [propput] HRESULT SignInInfo([in] Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo* value);
                [propget] HRESULT SignInInfo([out] [retval] Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo** value);
                [propput] HRESULT StreamInfo([in] Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo* value);
                [propget] HRESULT StreamInfo([out] [retval] Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo** value);
                [propget] HRESULT AppId([out] [retval] HSTRING* value);
                [propget] HRESULT BroadcastTitle([out] [retval] HSTRING* value);
                [propput] HRESULT ViewerCount([in] UINT32 value);
                [propget] HRESULT ViewerCount([out] [retval] UINT32* value);
                HRESULT TerminateBroadcast([in] Windows.Media.Capture.AppBroadcastTerminationReason reason, [in] UINT32 providerSpecificReason);
                [eventadd] HRESULT HeartbeatRequested([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, Windows.Media.Capture.AppBroadcastHeartbeatRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT HeartbeatRequested([in] EventRegistrationToken token);
                [propget] HRESULT TitleId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundService)]
            [uuid(FC8CCBBF-5549-4B87-959F-23CA401FD473)]
            interface IAppBroadcastBackgroundService2 : IInspectable
            {
                [propput] HRESULT BroadcastTitle([in] HSTRING value);
                [propget] HRESULT BroadcastLanguage([out] [retval] HSTRING* value);
                [propput] HRESULT BroadcastLanguage([in] HSTRING value);
                [propget] HRESULT BroadcastChannel([out] [retval] HSTRING* value);
                [propput] HRESULT BroadcastChannel([in] HSTRING value);
                [eventadd] HRESULT BroadcastTitleChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT BroadcastTitleChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT BroadcastLanguageChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT BroadcastLanguageChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT BroadcastChannelChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundService*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT BroadcastChannelChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo)]
            [uuid(5E735275-88C8-4ECA-89BA-4825985DB880)]
            interface IAppBroadcastBackgroundServiceSignInInfo : IInspectable
            {
                [propget] HRESULT SignInState([out] [retval] Windows.Media.Capture.AppBroadcastSignInState* value);
                [propput] HRESULT OAuthRequestUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT OAuthRequestUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT OAuthCallbackUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT OAuthCallbackUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT AuthenticationResult([out] [retval] Windows.Security.Authentication.Web.WebAuthenticationResult** value);
                [propput] HRESULT UserName([in] HSTRING value);
                [propget] HRESULT UserName([out] [retval] HSTRING* value);
                [eventadd] HRESULT SignInStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo*, Windows.Media.Capture.AppBroadcastSignInStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT SignInStateChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo)]
            [uuid(9104285C-62CF-4A3C-A7EE-AEB507404645)]
            interface IAppBroadcastBackgroundServiceSignInInfo2 : IInspectable
            {
                [eventadd] HRESULT UserNameChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT UserNameChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo)]
            [uuid(31DC02BC-990A-4904-AA96-FE364381F136)]
            interface IAppBroadcastBackgroundServiceStreamInfo : IInspectable
            {
                [propget] HRESULT StreamState([out] [retval] Windows.Media.Capture.AppBroadcastStreamState* value);
                [propput] HRESULT DesiredVideoEncodingBitrate([in] UINT64 value);
                [propget] HRESULT DesiredVideoEncodingBitrate([out] [retval] UINT64* value);
                [propput] HRESULT BandwidthTestBitrate([in] UINT64 value);
                [propget] HRESULT BandwidthTestBitrate([out] [retval] UINT64* value);
                [propput] HRESULT AudioCodec([in] HSTRING value);
                [propget] HRESULT AudioCodec([out] [retval] HSTRING* value);
                [propget] HRESULT BroadcastStreamReader([out] [retval] Windows.Media.Capture.AppBroadcastStreamReader** value);
                [eventadd] HRESULT StreamStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo*, Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StreamStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT VideoEncodingResolutionChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VideoEncodingResolutionChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT VideoEncodingBitrateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VideoEncodingBitrateChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo)]
            [uuid(BD1E9F6D-94DC-4FCE-9541-A9F129596334)]
            interface IAppBroadcastBackgroundServiceStreamInfo2 : IInspectable
            {
                HRESULT ReportProblemWithStream();
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastCameraCaptureStateChangedEventArgs)]
            [uuid(1E334CD0-B882-4B88-8692-05999ACEB70F)]
            interface IAppBroadcastCameraCaptureStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppBroadcastCameraCaptureState* value);
                [propget] HRESULT ErrorCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastGlobalSettings)]
            [uuid(B2CB27A5-70FC-4E17-80BD-6BA0FD3FF3A0)]
            interface IAppBroadcastGlobalSettings : IInspectable
            {
                [propget] HRESULT IsBroadcastEnabled([out] [retval] boolean* value);
                [propget] HRESULT IsDisabledByPolicy([out] [retval] boolean* value);
                [propget] HRESULT IsGpuConstrained([out] [retval] boolean* value);
                [propget] HRESULT HasHardwareEncoder([out] [retval] boolean* value);
                [propput] HRESULT IsAudioCaptureEnabled([in] boolean value);
                [propget] HRESULT IsAudioCaptureEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsMicrophoneCaptureEnabledByDefault([in] boolean value);
                [propget] HRESULT IsMicrophoneCaptureEnabledByDefault([out] [retval] boolean* value);
                [propput] HRESULT IsEchoCancellationEnabled([in] boolean value);
                [propget] HRESULT IsEchoCancellationEnabled([out] [retval] boolean* value);
                [propput] HRESULT SystemAudioGain([in] DOUBLE value);
                [propget] HRESULT SystemAudioGain([out] [retval] DOUBLE* value);
                [propput] HRESULT MicrophoneGain([in] DOUBLE value);
                [propget] HRESULT MicrophoneGain([out] [retval] DOUBLE* value);
                [propput] HRESULT IsCameraCaptureEnabledByDefault([in] boolean value);
                [propget] HRESULT IsCameraCaptureEnabledByDefault([out] [retval] boolean* value);
                [propput] HRESULT SelectedCameraId([in] HSTRING value);
                [propget] HRESULT SelectedCameraId([out] [retval] HSTRING* value);
                [propput] HRESULT CameraOverlayLocation([in] Windows.Media.Capture.AppBroadcastCameraOverlayLocation value);
                [propget] HRESULT CameraOverlayLocation([out] [retval] Windows.Media.Capture.AppBroadcastCameraOverlayLocation* value);
                [propput] HRESULT CameraOverlaySize([in] Windows.Media.Capture.AppBroadcastCameraOverlaySize value);
                [propget] HRESULT CameraOverlaySize([out] [retval] Windows.Media.Capture.AppBroadcastCameraOverlaySize* value);
                [propput] HRESULT IsCursorImageCaptureEnabled([in] boolean value);
                [propget] HRESULT IsCursorImageCaptureEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastHeartbeatRequestedEventArgs)]
            [uuid(CEA54283-EE51-4DBF-9472-79A9ED4E2165)]
            interface IAppBroadcastHeartbeatRequestedEventArgs : IInspectable
            {
                [propput] HRESULT Handled([in] boolean value);
                [propget] HRESULT Handled([out] [retval] boolean* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastManager)]
            [uuid(364E018B-1E4E-411F-AB3E-92959844C156)]
            interface IAppBroadcastManagerStatics : IInspectable
            {
                HRESULT GetGlobalSettings([out] [retval] Windows.Media.Capture.AppBroadcastGlobalSettings** value);
                HRESULT ApplyGlobalSettings([in] Windows.Media.Capture.AppBroadcastGlobalSettings* value);
                HRESULT GetProviderSettings([out] [retval] Windows.Media.Capture.AppBroadcastProviderSettings** value);
                HRESULT ApplyProviderSettings([in] Windows.Media.Capture.AppBroadcastProviderSettings* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastMicrophoneCaptureStateChangedEventArgs)]
            [uuid(A86AD5E9-9440-4908-9D09-65B7E315D795)]
            interface IAppBroadcastMicrophoneCaptureStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppBroadcastMicrophoneCaptureState* value);
                [propget] HRESULT ErrorCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPlugIn)]
            [uuid(520C1E66-6513-4574-AC54-23B79729615B)]
            interface IAppBroadcastPlugIn : IInspectable
            {
                [propget] HRESULT AppId([out] [retval] HSTRING* value);
                [propget] HRESULT ProviderSettings([out] [retval] Windows.Media.Capture.AppBroadcastProviderSettings** value);
                [propget] HRESULT Logo([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPlugInManager)]
            [uuid(E550D979-27A1-49A7-BBF4-D7A9E9D07668)]
            interface IAppBroadcastPlugInManager : IInspectable
            {
                [propget] HRESULT IsBroadcastProviderAvailable([out] [retval] boolean* value);
                [propget] HRESULT PlugInList([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.AppBroadcastPlugIn*>** value);
                [propget] HRESULT DefaultPlugIn([out] [retval] Windows.Media.Capture.AppBroadcastPlugIn** value);
                [propput] HRESULT DefaultPlugIn([in] Windows.Media.Capture.AppBroadcastPlugIn* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPlugInManager)]
            [uuid(F2645C20-5C76-4CDC-9364-82FE9EB6534D)]
            interface IAppBroadcastPlugInManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Media.Capture.AppBroadcastPlugInManager** ppInstance);
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.Media.Capture.AppBroadcastPlugInManager** ppInstance);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPlugInStateChangedEventArgs)]
            [uuid(4881D0F2-ABC5-4FC6-84B0-89370BB47212)]
            interface IAppBroadcastPlugInStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT PlugInState([out] [retval] Windows.Media.Capture.AppBroadcastPlugInState* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPreview)]
            [uuid(14B60F5A-6E4A-4B80-A14F-67EE77D153E7)]
            interface IAppBroadcastPreview : IInspectable
            {
                HRESULT StopPreview();
                [propget] HRESULT PreviewState([out] [retval] Windows.Media.Capture.AppBroadcastPreviewState* value);
                [propget] HRESULT ErrorCode([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [eventadd] HRESULT PreviewStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastPreview*, Windows.Media.Capture.AppBroadcastPreviewStateChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PreviewStateChanged([in] EventRegistrationToken token);
                [propget] HRESULT PreviewStreamReader([out] [retval] Windows.Media.Capture.AppBroadcastPreviewStreamReader** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPreviewStateChangedEventArgs)]
            [uuid(5A57F2DE-8DEA-4E86-90AD-03FC26B9653C)]
            interface IAppBroadcastPreviewStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT PreviewState([out] [retval] Windows.Media.Capture.AppBroadcastPreviewState* value);
                [propget] HRESULT ErrorCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPreviewStreamReader)]
            [uuid(92228D50-DB3F-40A8-8CD4-F4E371DDAB37)]
            interface IAppBroadcastPreviewStreamReader : IInspectable
            {
                [propget] HRESULT VideoWidth([out] [retval] UINT32* value);
                [propget] HRESULT VideoHeight([out] [retval] UINT32* value);
                [propget] HRESULT VideoStride([out] [retval] UINT32* value);
                [propget] HRESULT VideoBitmapPixelFormat([out] [retval] Windows.Graphics.Imaging.BitmapPixelFormat* value);
                [propget] HRESULT VideoBitmapAlphaMode([out] [retval] Windows.Graphics.Imaging.BitmapAlphaMode* value);
                HRESULT TryGetNextVideoFrame([out] [retval] Windows.Media.Capture.AppBroadcastPreviewStreamVideoFrame** frame);
                [eventadd] HRESULT VideoFrameArrived([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastPreviewStreamReader*, IInspectable*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VideoFrameArrived([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPreviewStreamVideoFrame)]
            [uuid(010FBEA1-94FE-4499-B8C0-8D244279FB12)]
            interface IAppBroadcastPreviewStreamVideoFrame : IInspectable
            {
                [propget] HRESULT VideoHeader([out] [retval] Windows.Media.Capture.AppBroadcastPreviewStreamVideoHeader** value);
                [propget] HRESULT VideoBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastPreviewStreamVideoHeader)]
            [uuid(8BEF6113-DA84-4499-A7AB-87118CB4A157)]
            interface IAppBroadcastPreviewStreamVideoHeader : IInspectable
            {
                [propget] HRESULT AbsoluteTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT RelativeTimestamp([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT FrameId([out] [retval] UINT64* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastProviderSettings)]
            [uuid(C30BDF62-9948-458F-AD50-AA06EC03DA08)]
            interface IAppBroadcastProviderSettings : IInspectable
            {
                [propput] HRESULT DefaultBroadcastTitle([in] HSTRING value);
                [propget] HRESULT DefaultBroadcastTitle([out] [retval] HSTRING* value);
                [propput] HRESULT AudioEncodingBitrate([in] UINT32 value);
                [propget] HRESULT AudioEncodingBitrate([out] [retval] UINT32* value);
                [propput] HRESULT CustomVideoEncodingBitrate([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingBitrate([out] [retval] UINT32* value);
                [propput] HRESULT CustomVideoEncodingHeight([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingHeight([out] [retval] UINT32* value);
                [propput] HRESULT CustomVideoEncodingWidth([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingWidth([out] [retval] UINT32* value);
                [propput] HRESULT VideoEncodingBitrateMode([in] Windows.Media.Capture.AppBroadcastVideoEncodingBitrateMode value);
                [propget] HRESULT VideoEncodingBitrateMode([out] [retval] Windows.Media.Capture.AppBroadcastVideoEncodingBitrateMode* value);
                [propput] HRESULT VideoEncodingResolutionMode([in] Windows.Media.Capture.AppBroadcastVideoEncodingResolutionMode value);
                [propget] HRESULT VideoEncodingResolutionMode([out] [retval] Windows.Media.Capture.AppBroadcastVideoEncodingResolutionMode* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastServices)]
            [uuid(8660B4D6-969B-4E3C-AC3A-8B042EE4EE63)]
            interface IAppBroadcastServices : IInspectable
            {
                [propget] HRESULT CaptureTargetType([out] [retval] Windows.Media.Capture.AppBroadcastCaptureTargetType* value);
                [propput] HRESULT CaptureTargetType([in] Windows.Media.Capture.AppBroadcastCaptureTargetType value);
                [propget] HRESULT BroadcastTitle([out] [retval] HSTRING* value);
                [propput] HRESULT BroadcastTitle([in] HSTRING value);
                [propget] HRESULT BroadcastLanguage([out] [retval] HSTRING* value);
                [propput] HRESULT BroadcastLanguage([in] HSTRING value);
                [propget] HRESULT UserName([out] [retval] HSTRING* value);
                [propget] HRESULT CanCapture([out] [retval] boolean* value);
                HRESULT EnterBroadcastModeAsync([in] Windows.Media.Capture.AppBroadcastPlugIn* plugIn, [out] [retval] Windows.Foundation.IAsyncOperation<UINT32>** operation);
                HRESULT ExitBroadcastMode([in] Windows.Media.Capture.AppBroadcastExitBroadcastModeReason reason);
                HRESULT StartBroadcast();
                HRESULT PauseBroadcast();
                HRESULT ResumeBroadcast();
                HRESULT StartPreview([in] Windows.Foundation.Size desiredSize, [out] [retval] Windows.Media.Capture.AppBroadcastPreview** preview);
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppBroadcastState** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastSignInStateChangedEventArgs)]
            [uuid(02B692A4-5919-4A9E-8D5E-C9BB0DD3377A)]
            interface IAppBroadcastSignInStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT SignInState([out] [retval] Windows.Media.Capture.AppBroadcastSignInState* value);
                [propget] HRESULT Result([out] [retval] Windows.Media.Capture.AppBroadcastSignInResult* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastState)]
            [uuid(EE08056D-8099-4DDD-922E-C56DAC58ABFB)]
            interface IAppBroadcastState : IInspectable
            {
                [propget] HRESULT IsCaptureTargetRunning([out] [retval] boolean* value);
                [propget] HRESULT ViewerCount([out] [retval] UINT32* value);
                [propget] HRESULT ShouldCaptureMicrophone([out] [retval] boolean* value);
                [propput] HRESULT ShouldCaptureMicrophone([in] boolean value);
                HRESULT RestartMicrophoneCapture();
                [propget] HRESULT ShouldCaptureCamera([out] [retval] boolean* value);
                [propput] HRESULT ShouldCaptureCamera([in] boolean value);
                HRESULT RestartCameraCapture();
                [propget] HRESULT EncodedVideoSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT MicrophoneCaptureState([out] [retval] Windows.Media.Capture.AppBroadcastMicrophoneCaptureState* value);
                [propget] HRESULT MicrophoneCaptureError([out] [retval] UINT32* value);
                [propget] HRESULT CameraCaptureState([out] [retval] Windows.Media.Capture.AppBroadcastCameraCaptureState* value);
                [propget] HRESULT CameraCaptureError([out] [retval] UINT32* value);
                [propget] HRESULT StreamState([out] [retval] Windows.Media.Capture.AppBroadcastStreamState* value);
                [propget] HRESULT PlugInState([out] [retval] Windows.Media.Capture.AppBroadcastPlugInState* value);
                [propget] HRESULT OAuthRequestUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT OAuthCallbackUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT AuthenticationResult([out] [retval] Windows.Security.Authentication.Web.WebAuthenticationResult** value);
                [propput] HRESULT AuthenticationResult([in] Windows.Security.Authentication.Web.WebAuthenticationResult* value);
                [propput] HRESULT SignInState([in] Windows.Media.Capture.AppBroadcastSignInState value);
                [propget] HRESULT SignInState([out] [retval] Windows.Media.Capture.AppBroadcastSignInState* value);
                [propget] HRESULT TerminationReason([out] [retval] Windows.Media.Capture.AppBroadcastTerminationReason* value);
                [propget] HRESULT TerminationReasonPlugInSpecific([out] [retval] UINT32* value);
                [eventadd] HRESULT ViewerCountChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastViewerCountChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ViewerCountChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT MicrophoneCaptureStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastMicrophoneCaptureStateChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MicrophoneCaptureStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT CameraCaptureStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastCameraCaptureStateChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CameraCaptureStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT PlugInStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastPlugInStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PlugInStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT StreamStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StreamStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT CaptureTargetClosed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastState*, IInspectable*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CaptureTargetClosed([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamAudioFrame)]
            [uuid(EFAB4AC8-21BA-453F-8BB7-5E938A2E9A74)]
            interface IAppBroadcastStreamAudioFrame : IInspectable
            {
                [propget] HRESULT AudioHeader([out] [retval] Windows.Media.Capture.AppBroadcastStreamAudioHeader** value);
                [propget] HRESULT AudioBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamAudioHeader)]
            [uuid(BF21A570-6B78-4216-9F07-5AFF5256F1B7)]
            interface IAppBroadcastStreamAudioHeader : IInspectable
            {
                [propget] HRESULT AbsoluteTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT RelativeTimestamp([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT HasDiscontinuity([out] [retval] boolean* value);
                [propget] HRESULT FrameId([out] [retval] UINT64* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamReader)]
            [uuid(B338BCF9-3364-4460-B5F1-3CC2796A8AA2)]
            interface IAppBroadcastStreamReader : IInspectable
            {
                [propget] HRESULT AudioChannels([out] [retval] UINT32* value);
                [propget] HRESULT AudioSampleRate([out] [retval] UINT32* value);
                [propget] HRESULT AudioAacSequence([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT AudioBitrate([out] [retval] UINT32* value);
                HRESULT TryGetNextAudioFrame([out] [retval] Windows.Media.Capture.AppBroadcastStreamAudioFrame** frame);
                [propget] HRESULT VideoWidth([out] [retval] UINT32* value);
                [propget] HRESULT VideoHeight([out] [retval] UINT32* value);
                [propget] HRESULT VideoBitrate([out] [retval] UINT32* value);
                HRESULT TryGetNextVideoFrame([out] [retval] Windows.Media.Capture.AppBroadcastStreamVideoFrame** frame);
                [eventadd] HRESULT AudioFrameArrived([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastStreamReader*, IInspectable*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AudioFrameArrived([in] EventRegistrationToken token);
                [eventadd] HRESULT VideoFrameArrived([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppBroadcastStreamReader*, IInspectable*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VideoFrameArrived([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs)]
            [uuid(5108A733-D008-4A89-93BE-58AED961374E)]
            interface IAppBroadcastStreamStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT StreamState([out] [retval] Windows.Media.Capture.AppBroadcastStreamState* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamVideoFrame)]
            [uuid(0F97CF2B-C9E4-4E88-8194-D814CBD585D8)]
            interface IAppBroadcastStreamVideoFrame : IInspectable
            {
                [propget] HRESULT VideoHeader([out] [retval] Windows.Media.Capture.AppBroadcastStreamVideoHeader** value);
                [propget] HRESULT VideoBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastStreamVideoHeader)]
            [uuid(0B9EBECE-7E32-432D-8CA2-36BF10B9F462)]
            interface IAppBroadcastStreamVideoHeader : IInspectable
            {
                [propget] HRESULT AbsoluteTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT RelativeTimestamp([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT IsKeyFrame([out] [retval] boolean* value);
                [propget] HRESULT HasDiscontinuity([out] [retval] boolean* value);
                [propget] HRESULT FrameId([out] [retval] UINT64* value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastTriggerDetails)]
            [uuid(DEEBAB35-EC5E-4D8F-B1C0-5DA6E8C75638)]
            interface IAppBroadcastTriggerDetails : IInspectable
            {
                [propget] HRESULT BackgroundService([out] [retval] Windows.Media.Capture.AppBroadcastBackgroundService** value);
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppBroadcastViewerCountChangedEventArgs)]
            [uuid(E6E11825-5401-4ADE-8BD2-C14ECEE6807D)]
            interface IAppBroadcastViewerCountChangedEventArgs : IInspectable
            {
                [propget] HRESULT ViewerCount([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppCapture)]
            [uuid(9749D453-A29A-45ED-8F29-22D09942CFF7)]
            interface IAppCapture : IInspectable
            {
                [propget] HRESULT IsCapturingAudio([out] [retval] boolean* value);
                [propget] HRESULT IsCapturingVideo([out] [retval] boolean* value);
                [eventadd] HRESULT CapturingChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCapture*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CapturingChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureAlternateShortcutKeys)]
            [uuid(19E8E0EF-236C-40F9-B38F-9B7DD65D1CCC)]
            interface IAppCaptureAlternateShortcutKeys : IInspectable
            {
                [propput] HRESULT ToggleGameBarKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleGameBarKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleGameBarKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleGameBarKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                [propput] HRESULT SaveHistoricalVideoKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT SaveHistoricalVideoKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT SaveHistoricalVideoKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT SaveHistoricalVideoKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                [propput] HRESULT ToggleRecordingKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleRecordingKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleRecordingKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleRecordingKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                [propput] HRESULT TakeScreenshotKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT TakeScreenshotKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT TakeScreenshotKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT TakeScreenshotKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                [propput] HRESULT ToggleRecordingIndicatorKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleRecordingIndicatorKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleRecordingIndicatorKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleRecordingIndicatorKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureAlternateShortcutKeys)]
            [uuid(C3669090-DD17-47F0-95E5-CE42286CF338)]
            interface IAppCaptureAlternateShortcutKeys2 : IInspectable
            {
                [propput] HRESULT ToggleMicrophoneCaptureKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleMicrophoneCaptureKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleMicrophoneCaptureKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleMicrophoneCaptureKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureAlternateShortcutKeys)]
            [uuid(7B81448C-418E-469C-A49A-45B597C826B6)]
            interface IAppCaptureAlternateShortcutKeys3 : IInspectable
            {
                [propput] HRESULT ToggleCameraCaptureKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleCameraCaptureKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleCameraCaptureKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleCameraCaptureKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                [propput] HRESULT ToggleBroadcastKey([in] Windows.System.VirtualKey value);
                [propget] HRESULT ToggleBroadcastKey([out] [retval] Windows.System.VirtualKey* value);
                [propput] HRESULT ToggleBroadcastKeyModifiers([in] Windows.System.VirtualKeyModifiers value);
                [propget] HRESULT ToggleBroadcastKeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureDurationGeneratedEventArgs)]
            [uuid(C1F5563B-FFA1-44C9-975F-27FBEB553B35)]
            interface IAppCaptureDurationGeneratedEventArgs : IInspectable
            {
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureFileGeneratedEventArgs)]
            [uuid(4189FBF4-465E-45BF-907F-165B3FB23758)]
            interface IAppCaptureFileGeneratedEventArgs : IInspectable
            {
                [propget] HRESULT File([out] [retval] Windows.Storage.StorageFile** value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureManager)]
            [uuid(7D9E3EA7-6282-4735-8D4E-AA45F90F6723)]
            interface IAppCaptureManagerStatics : IInspectable
            {
                HRESULT GetCurrentSettings([out] [retval] Windows.Media.Capture.AppCaptureSettings** value);
                HRESULT ApplySettings([in] Windows.Media.Capture.AppCaptureSettings* appCaptureSettings);
            }

            [contract(Windows.Media.Capture.AppCaptureMetadataContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureMetadataWriter)]
            [uuid(E0CE4877-9AAF-46B4-AD31-6A60B441C780)]
            interface IAppCaptureMetadataWriter : IInspectable
            {
                HRESULT AddStringEvent([in] HSTRING name, [in] HSTRING value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT AddInt32Event([in] HSTRING name, [in] INT32 value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT AddDoubleEvent([in] HSTRING name, [in] DOUBLE value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT StartStringState([in] HSTRING name, [in] HSTRING value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT StartInt32State([in] HSTRING name, [in] INT32 value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT StartDoubleState([in] HSTRING name, [in] DOUBLE value, [in] Windows.Media.Capture.AppCaptureMetadataPriority priority);
                HRESULT StopState([in] HSTRING name);
                HRESULT StopAllStates();
                [propget] HRESULT RemainingStorageBytesAvailable([out] [retval] UINT64* value);
                [eventadd] HRESULT MetadataPurged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureMetadataWriter*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MetadataPurged([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureMicrophoneCaptureStateChangedEventArgs)]
            [uuid(324D249E-45BC-4C35-BC35-E469FC7A69E0)]
            interface IAppCaptureMicrophoneCaptureStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppCaptureMicrophoneCaptureState* value);
                [propget] HRESULT ErrorCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureRecordOperation)]
            [uuid(C66020A9-1538-495C-9BBB-2BA870EC5861)]
            interface IAppCaptureRecordOperation : IInspectable
            {
                HRESULT StopRecording();
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppCaptureRecordingState* value);
                [propget] HRESULT ErrorCode([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propget] HRESULT File([out] [retval] Windows.Storage.StorageFile** value);
                [propget] HRESULT IsFileTruncated([out] [retval] Windows.Foundation.IReference<boolean>** value);
                [eventadd] HRESULT StateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureRecordingStateChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT DurationGenerated([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureDurationGeneratedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT DurationGenerated([in] EventRegistrationToken token);
                [eventadd] HRESULT FileGenerated([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureRecordOperation*, Windows.Media.Capture.AppCaptureFileGeneratedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT FileGenerated([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureRecordingStateChangedEventArgs)]
            [uuid(24FC8712-E305-490D-B415-6B1C9049736B)]
            interface IAppCaptureRecordingStateChangedEventArgs : IInspectable
            {
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppCaptureRecordingState* value);
                [propget] HRESULT ErrorCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureServices)]
            [uuid(44FEC0B5-34F5-4F18-AE8C-B9123ABBFC0D)]
            interface IAppCaptureServices : IInspectable
            {
                HRESULT Record([out] [retval] Windows.Media.Capture.AppCaptureRecordOperation** operation);
                HRESULT RecordTimeSpan([in] Windows.Foundation.DateTime startTime, [in] Windows.Foundation.TimeSpan duration, [out] [retval] Windows.Media.Capture.AppCaptureRecordOperation** operation);
                [propget] HRESULT CanCapture([out] [retval] boolean* value);
                [propget] HRESULT State([out] [retval] Windows.Media.Capture.AppCaptureState** value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureSettings)]
            [uuid(14683A86-8807-48D3-883A-970EE4532A39)]
            interface IAppCaptureSettings : IInspectable
            {
                [propput] HRESULT AppCaptureDestinationFolder([in] Windows.Storage.StorageFolder* value);
                [propget] HRESULT AppCaptureDestinationFolder([out] [retval] Windows.Storage.StorageFolder** value);
                [propput] HRESULT AudioEncodingBitrate([in] UINT32 value);
                [propget] HRESULT AudioEncodingBitrate([out] [retval] UINT32* value);
                [propput] HRESULT IsAudioCaptureEnabled([in] boolean value);
                [propget] HRESULT IsAudioCaptureEnabled([out] [retval] boolean* value);
                [propput] HRESULT CustomVideoEncodingBitrate([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingBitrate([out] [retval] UINT32* value);
                [propput] HRESULT CustomVideoEncodingHeight([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingHeight([out] [retval] UINT32* value);
                [propput] HRESULT CustomVideoEncodingWidth([in] UINT32 value);
                [propget] HRESULT CustomVideoEncodingWidth([out] [retval] UINT32* value);
                [propput] HRESULT HistoricalBufferLength([in] UINT32 value);
                [propget] HRESULT HistoricalBufferLength([out] [retval] UINT32* value);
                [propput] HRESULT HistoricalBufferLengthUnit([in] Windows.Media.Capture.AppCaptureHistoricalBufferLengthUnit value);
                [propget] HRESULT HistoricalBufferLengthUnit([out] [retval] Windows.Media.Capture.AppCaptureHistoricalBufferLengthUnit* value);
                [propput] HRESULT IsHistoricalCaptureEnabled([in] boolean value);
                [propget] HRESULT IsHistoricalCaptureEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsHistoricalCaptureOnBatteryAllowed([in] boolean value);
                [propget] HRESULT IsHistoricalCaptureOnBatteryAllowed([out] [retval] boolean* value);
                [propput] HRESULT IsHistoricalCaptureOnWirelessDisplayAllowed([in] boolean value);
                [propget] HRESULT IsHistoricalCaptureOnWirelessDisplayAllowed([out] [retval] boolean* value);
                [propput] HRESULT MaximumRecordLength([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT MaximumRecordLength([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT ScreenshotDestinationFolder([in] Windows.Storage.StorageFolder* value);
                [propget] HRESULT ScreenshotDestinationFolder([out] [retval] Windows.Storage.StorageFolder** value);
                [propput] HRESULT VideoEncodingBitrateMode([in] Windows.Media.Capture.AppCaptureVideoEncodingBitrateMode value);
                [propget] HRESULT VideoEncodingBitrateMode([out] [retval] Windows.Media.Capture.AppCaptureVideoEncodingBitrateMode* value);
                [propput] HRESULT VideoEncodingResolutionMode([in] Windows.Media.Capture.AppCaptureVideoEncodingResolutionMode value);
                [propget] HRESULT VideoEncodingResolutionMode([out] [retval] Windows.Media.Capture.AppCaptureVideoEncodingResolutionMode* value);
                [propput] HRESULT IsAppCaptureEnabled([in] boolean value);
                [propget] HRESULT IsAppCaptureEnabled([out] [retval] boolean* value);
                [propget] HRESULT IsCpuConstrained([out] [retval] boolean* value);
                [propget] HRESULT IsDisabledByPolicy([out] [retval] boolean* value);
                [propget] HRESULT IsMemoryConstrained([out] [retval] boolean* value);
                [propget] HRESULT HasHardwareEncoder([out] [retval] boolean* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureSettings)]
            [uuid(FCB8CEE7-E26B-476F-9B1A-EC342D2A8FDE)]
            interface IAppCaptureSettings2 : IInspectable
            {
                [propget] HRESULT IsGpuConstrained([out] [retval] boolean* value);
                [propget] HRESULT AlternateShortcutKeys([out] [retval] Windows.Media.Capture.AppCaptureAlternateShortcutKeys** value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureSettings)]
            [uuid(A93502FE-88C2-42D6-AAAA-40FEFFD75AEC)]
            interface IAppCaptureSettings3 : IInspectable
            {
                [propput] HRESULT IsMicrophoneCaptureEnabled([in] boolean value);
                [propget] HRESULT IsMicrophoneCaptureEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureSettings)]
            [uuid(07C2774C-1A81-482F-A244-049D95F25B0B)]
            interface IAppCaptureSettings4 : IInspectable
            {
                [propput] HRESULT IsMicrophoneCaptureEnabledByDefault([in] boolean value);
                [propget] HRESULT IsMicrophoneCaptureEnabledByDefault([out] [retval] boolean* value);
                [propput] HRESULT SystemAudioGain([in] DOUBLE value);
                [propget] HRESULT SystemAudioGain([out] [retval] DOUBLE* value);
                [propput] HRESULT MicrophoneGain([in] DOUBLE value);
                [propget] HRESULT MicrophoneGain([out] [retval] DOUBLE* value);
                [propput] HRESULT VideoEncodingFrameRateMode([in] Windows.Media.Capture.AppCaptureVideoEncodingFrameRateMode value);
                [propget] HRESULT VideoEncodingFrameRateMode([out] [retval] Windows.Media.Capture.AppCaptureVideoEncodingFrameRateMode* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureSettings)]
            [uuid(18894522-B0E8-4BA0-8F13-3EAA5FA4013B)]
            interface IAppCaptureSettings5 : IInspectable
            {
                [propput] HRESULT IsEchoCancellationEnabled([in] boolean value);
                [propget] HRESULT IsEchoCancellationEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsCursorImageCaptureEnabled([in] boolean value);
                [propget] HRESULT IsCursorImageCaptureEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.AppCaptureState)]
            [uuid(73134372-D4EB-44CE-9538-465F506AC4EA)]
            interface IAppCaptureState : IInspectable
            {
                [propget] HRESULT IsTargetRunning([out] [retval] boolean* value);
                [propget] HRESULT IsHistoricalCaptureEnabled([out] [retval] boolean* value);
                [propget] HRESULT ShouldCaptureMicrophone([out] [retval] boolean* value);
                [propput] HRESULT ShouldCaptureMicrophone([in] boolean value);
                HRESULT RestartMicrophoneCapture();
                [propget] HRESULT MicrophoneCaptureState([out] [retval] Windows.Media.Capture.AppCaptureMicrophoneCaptureState* value);
                [propget] HRESULT MicrophoneCaptureError([out] [retval] UINT32* value);
                [eventadd] HRESULT MicrophoneCaptureStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureState*, Windows.Media.Capture.AppCaptureMicrophoneCaptureStateChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MicrophoneCaptureStateChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT CaptureTargetClosed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.AppCaptureState*, IInspectable*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CaptureTargetClosed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.Media.Capture.AppCapture)]
            [uuid(F922DD6C-0A7E-4E74-8B20-9C1F902D08A1)]
            interface IAppCaptureStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.Media.Capture.AppCapture** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Media.Capture.AppCapture)]
            [uuid(B2D881D4-836C-4DA4-AFD7-FACC041E1CF3)]
            interface IAppCaptureStatics2 : IInspectable
            {
                HRESULT SetAllowedAsync([in] boolean allowed, [out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CameraCaptureUI)]
            [uuid(48587540-6F93-4BB4-B8F3-E89E48948C91)]
            interface ICameraCaptureUI : IInspectable
            {
                [propget] HRESULT PhotoSettings([out] [retval] Windows.Media.Capture.CameraCaptureUIPhotoCaptureSettings** value);
                [propget] HRESULT VideoSettings([out] [retval] Windows.Media.Capture.CameraCaptureUIVideoCaptureSettings** value);
                HRESULT CaptureFileAsync([in] Windows.Media.Capture.CameraCaptureUIMode mode, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile*>** asyncInfo);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CameraCaptureUIPhotoCaptureSettings)]
            [uuid(B9F5BE97-3472-46A8-8A9E-04CE42CCC97D)]
            interface ICameraCaptureUIPhotoCaptureSettings : IInspectable
            {
                [propget] HRESULT Format([out] [retval] Windows.Media.Capture.CameraCaptureUIPhotoFormat* value);
                [propput] HRESULT Format([in] Windows.Media.Capture.CameraCaptureUIPhotoFormat value);
                [propget] HRESULT MaxResolution([out] [retval] Windows.Media.Capture.CameraCaptureUIMaxPhotoResolution* value);
                [propput] HRESULT MaxResolution([in] Windows.Media.Capture.CameraCaptureUIMaxPhotoResolution value);
                [propget] HRESULT CroppedSizeInPixels([out] [retval] Windows.Foundation.Size* value);
                [propput] HRESULT CroppedSizeInPixels([in] Windows.Foundation.Size value);
                [propget] HRESULT CroppedAspectRatio([out] [retval] Windows.Foundation.Size* value);
                [propput] HRESULT CroppedAspectRatio([in] Windows.Foundation.Size value);
                [propget] HRESULT AllowCropping([out] [retval] boolean* value);
                [propput] HRESULT AllowCropping([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CameraCaptureUIVideoCaptureSettings)]
            [uuid(64E92D1F-A28D-425A-B84F-E568335FF24E)]
            interface ICameraCaptureUIVideoCaptureSettings : IInspectable
            {
                [propget] HRESULT Format([out] [retval] Windows.Media.Capture.CameraCaptureUIVideoFormat* value);
                [propput] HRESULT Format([in] Windows.Media.Capture.CameraCaptureUIVideoFormat value);
                [propget] HRESULT MaxResolution([out] [retval] Windows.Media.Capture.CameraCaptureUIMaxVideoResolution* value);
                [propput] HRESULT MaxResolution([in] Windows.Media.Capture.CameraCaptureUIMaxVideoResolution value);
                [propget] HRESULT MaxDurationInSeconds([out] [retval] FLOAT* value);
                [propput] HRESULT MaxDurationInSeconds([in] FLOAT value);
                [propget] HRESULT AllowTrimming([out] [retval] boolean* value);
                [propput] HRESULT AllowTrimming([in] boolean value);
            }

            [contract(Windows.Media.Capture.CameraCaptureUIContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CameraOptionsUI)]
            [uuid(3B0D5E34-3906-4B7D-946C-7BDE844499AE)]
            interface ICameraOptionsUIStatics : IInspectable
            {
                HRESULT Show([in] Windows.Media.Capture.MediaCapture* mediaCapture);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CapturedFrame)]
            [uuid(1DD2DE1F-571B-44D8-8E80-A08A1578766E)]
            interface ICapturedFrame : IInspectable
                requires
                    Windows.Storage.Streams.IRandomAccessStreamWithContentType,
                    Windows.Storage.Streams.IRandomAccessStream,
                    Windows.Foundation.IClosable,
                    Windows.Storage.Streams.IInputStream,
                    Windows.Storage.Streams.IOutputStream,
                    Windows.Storage.Streams.IContentTypeProvider
            {
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Capture.CapturedFrame)]
            [uuid(543FA6D1-BD78-4866-ADDA-24314BC65DEA)]
            interface ICapturedFrame2 : IInspectable
            {
                [propget] HRESULT ControlValues([out] [retval] Windows.Media.Capture.CapturedFrameControlValues** value);
                [propget] HRESULT BitmapProperties([out] [retval] Windows.Graphics.Imaging.BitmapPropertySet** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CapturedFrameControlValues)]
            [uuid(90C65B7F-4E0D-4CA4-882D-7A144FED0A90)]
            interface ICapturedFrameControlValues : IInspectable
            {
                [propget] HRESULT Exposure([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propget] HRESULT ExposureCompensation([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                [propget] HRESULT IsoSpeed([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT Focus([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT SceneMode([out] [retval] Windows.Foundation.IReference<Windows.Media.Devices.CaptureSceneMode>** value);
                [propget] HRESULT Flashed([out] [retval] Windows.Foundation.IReference<boolean>** value);
                [propget] HRESULT FlashPowerPercent([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                [propget] HRESULT WhiteBalance([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT ZoomFactor([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CapturedFrameControlValues)]
            [uuid(500B2B88-06D2-4AA7-A7DB-D37AF73321D8)]
            interface ICapturedFrameControlValues2 : IInspectable
            {
                [propget] HRESULT FocusState([out] [retval] Windows.Foundation.IReference<Windows.Media.Devices.MediaCaptureFocusState>** value);
                [propget] HRESULT IsoDigitalGain([out] [retval] Windows.Foundation.IReference<DOUBLE>** value);
                [propget] HRESULT IsoAnalogGain([out] [retval] Windows.Foundation.IReference<DOUBLE>** value);
                [propget] HRESULT SensorFrameRate([out] [retval] Windows.Media.MediaProperties.MediaRatio** value);
                [propget] HRESULT WhiteBalanceGain([out] [retval] Windows.Foundation.IReference<Windows.Media.Capture.WhiteBalanceGain>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CapturedFrame)]
            [uuid(B58E8B6E-8503-49B5-9E86-897D26A3FF3D)]
            interface ICapturedFrameWithSoftwareBitmap : IInspectable
            {
                [propget] HRESULT SoftwareBitmap([out] [retval] Windows.Graphics.Imaging.SoftwareBitmap** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.CapturedPhoto)]
            [uuid(B0CE7E5A-CFCC-4D6C-8AD1-0869208ACA16)]
            interface ICapturedPhoto : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT Thumbnail([out] [retval] Windows.Media.Capture.CapturedFrame** value);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServices)]
            [uuid(2DBEAD57-50A6-499E-8C6C-D330A7311796)]
            interface IGameBarServices : IInspectable
            {
                [propget] HRESULT TargetCapturePolicy([out] [retval] Windows.Media.Capture.GameBarTargetCapturePolicy* value);
                HRESULT EnableCapture();
                HRESULT DisableCapture();
                [propget] HRESULT TargetInfo([out] [retval] Windows.Media.Capture.GameBarServicesTargetInfo** value);
                [propget] HRESULT SessionId([out] [retval] HSTRING* value);
                [propget] HRESULT AppBroadcastServices([out] [retval] Windows.Media.Capture.AppBroadcastServices** value);
                [propget] HRESULT AppCaptureServices([out] [retval] Windows.Media.Capture.AppCaptureServices** value);
                [eventadd] HRESULT CommandReceived([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.GameBarServices*, Windows.Media.Capture.GameBarServicesCommandEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CommandReceived([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServicesCommandEventArgs)]
            [uuid(A74226B2-F176-4FCF-8FBB-CF698B2EB8E0)]
            interface IGameBarServicesCommandEventArgs : IInspectable
            {
                [propget] HRESULT Command([out] [retval] Windows.Media.Capture.GameBarCommand* value);
                [propget] HRESULT Origin([out] [retval] Windows.Media.Capture.GameBarCommandOrigin* value);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServicesManager)]
            [uuid(3A4B9CFA-7F8B-4C60-9DBB-0BCD262DFFC6)]
            interface IGameBarServicesManager : IInspectable
            {
                [eventadd] HRESULT GameBarServicesCreated([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.GameBarServicesManager*, Windows.Media.Capture.GameBarServicesManagerGameBarServicesCreatedEventArgs*>* value, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT GameBarServicesCreated([in] EventRegistrationToken token);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServicesManagerGameBarServicesCreatedEventArgs)]
            [uuid(EDEDBD9C-143E-49A3-A5EA-0B1995C8D46E)]
            interface IGameBarServicesManagerGameBarServicesCreatedEventArgs : IInspectable
            {
                [propget] HRESULT GameBarServices([out] [retval] Windows.Media.Capture.GameBarServices** value);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServicesManager)]
            [uuid(34C1B616-FF25-4792-98F2-D3753F15AC13)]
            interface IGameBarServicesManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Media.Capture.GameBarServicesManager** ppInstance);
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.GameBarServicesTargetInfo)]
            [uuid(B4202F92-1611-4E05-B6EF-DFD737AE33B0)]
            interface IGameBarServicesTargetInfo : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT AppId([out] [retval] HSTRING* value);
                [propget] HRESULT TitleId([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayMode([out] [retval] Windows.Media.Capture.GameBarServicesDisplayMode* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.LowLagMediaRecording)]
            [uuid(41C8BAF7-FF3F-49F0-A477-F195E3CE5108)]
            interface ILowLagMediaRecording : IInspectable
            {
                HRESULT StartAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT StopAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT FinishAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.LowLagMediaRecording)]
            [uuid(6369C758-5644-41E2-97AF-8EF56A25E225)]
            interface ILowLagMediaRecording2 : IInspectable
            {
                HRESULT PauseAsync([in] Windows.Media.Devices.MediaCapturePauseBehavior behavior, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT ResumeAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.LowLagMediaRecording)]
            [uuid(5C33AB12-48F7-47DA-B41E-90880A5FE0EC)]
            interface ILowLagMediaRecording3 : IInspectable
            {
                HRESULT PauseWithResultAsync([in] Windows.Media.Devices.MediaCapturePauseBehavior behavior, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCapturePauseResult*>** operation);
                HRESULT StopWithResultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCaptureStopResult*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.LowLagPhotoCapture)]
            [uuid(A37251B7-6B44-473D-8F24-F703D6C0EC44)]
            interface ILowLagPhotoCapture : IInspectable
            {
                HRESULT CaptureAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.CapturedPhoto*>** operation);
                HRESULT FinishAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.LowLagPhotoSequenceCapture)]
            [uuid(7CC346BB-B9A9-4C91-8FFA-287E9C668669)]
            interface ILowLagPhotoSequenceCapture : IInspectable
            {
                HRESULT StartAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT StopAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT FinishAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                [eventadd] HRESULT PhotoCaptured([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.LowLagPhotoSequenceCapture*, Windows.Media.Capture.PhotoCapturedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PhotoCaptured([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(C61AFBB4-FB10-4A34-AC18-CA80D9C8E7EE)]
            interface IMediaCapture : IInspectable
            {
                [overload("InitializeAsync")] HRESULT InitializeAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [overload("InitializeAsync")] HRESULT InitializeWithSettingsAsync([in] Windows.Media.Capture.MediaCaptureInitializationSettings* mediaCaptureInitializationSettings, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT StartRecordToStorageFileAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT StartRecordToStreamAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Storage.Streams.IRandomAccessStream* stream, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [overload("StartRecordToCustomSinkAsync")] HRESULT StartRecordToCustomSinkAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Media.IMediaExtension* customMediaSink, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [overload("StartRecordToCustomSinkAsync")] HRESULT StartRecordToCustomSinkIdAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] HSTRING customSinkActivationId, [in] Windows.Foundation.Collections.IPropertySet* customSinkSettings, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT StopRecordAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT CapturePhotoToStorageFileAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* type, [in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT CapturePhotoToStreamAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* type, [in] Windows.Storage.Streams.IRandomAccessStream* stream, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [deprecated("AddEffectAsync might not be available in future versions of Windows. Starting with Windows Threshold, use AddAudioEffectAsync and AddVideoEffectAsync instead", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT AddEffectAsync([in] Windows.Media.Capture.MediaStreamType mediaStreamType, [in] HSTRING effectActivationID, [in] Windows.Foundation.Collections.IPropertySet* effectSettings, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT ClearEffectsAsync([in] Windows.Media.Capture.MediaStreamType mediaStreamType, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT SetEncoderProperty([in] Windows.Media.Capture.MediaStreamType mediaStreamType, [in] GUID propertyId, [in] IInspectable* propertyValue);
                HRESULT GetEncoderProperty([in] Windows.Media.Capture.MediaStreamType mediaStreamType, [in] GUID propertyId, [out] [retval] IInspectable** propertyValue);
                [eventadd] HRESULT Failed([in] Windows.Media.Capture.MediaCaptureFailedEventHandler* errorEventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT Failed([in] EventRegistrationToken eventCookie);
                [eventadd] HRESULT RecordLimitationExceeded([in] Windows.Media.Capture.RecordLimitationExceededEventHandler* recordLimitationExceededEventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT RecordLimitationExceeded([in] EventRegistrationToken eventCookie);
                [propget] HRESULT MediaCaptureSettings([out] [retval] Windows.Media.Capture.MediaCaptureSettings** value);
                [propget] HRESULT AudioDeviceController([out] [retval] Windows.Media.Devices.AudioDeviceController** value);
                [propget] HRESULT VideoDeviceController([out] [retval] Windows.Media.Devices.VideoDeviceController** value);
                HRESULT SetPreviewMirroring([in] boolean value);
                HRESULT GetPreviewMirroring([out] [retval] boolean* value);
                HRESULT SetPreviewRotation([in] Windows.Media.Capture.VideoRotation value);
                HRESULT GetPreviewRotation([out] [retval] Windows.Media.Capture.VideoRotation* value);
                HRESULT SetRecordRotation([in] Windows.Media.Capture.VideoRotation value);
                HRESULT GetRecordRotation([out] [retval] Windows.Media.Capture.VideoRotation* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(9CC68260-7DA1-4043-B652-21B8878DAFF9)]
            interface IMediaCapture2 : IInspectable
            {
                HRESULT PrepareLowLagRecordToStorageFileAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagMediaRecording*>** operation);
                HRESULT PrepareLowLagRecordToStreamAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Storage.Streams.IRandomAccessStream* stream, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagMediaRecording*>** operation);
                [overload("PrepareLowLagRecordToCustomSinkAsync")] HRESULT PrepareLowLagRecordToCustomSinkAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Media.IMediaExtension* customMediaSink, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagMediaRecording*>** operation);
                [overload("PrepareLowLagRecordToCustomSinkAsync")] HRESULT PrepareLowLagRecordToCustomSinkIdAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] HSTRING customSinkActivationId, [in] Windows.Foundation.Collections.IPropertySet* customSinkSettings, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagMediaRecording*>** operation);
                HRESULT PrepareLowLagPhotoCaptureAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* type, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagPhotoCapture*>** operation);
                HRESULT PrepareLowLagPhotoSequenceCaptureAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* type, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.LowLagPhotoSequenceCapture*>** operation);
                HRESULT SetEncodingPropertiesAsync([in] Windows.Media.Capture.MediaStreamType mediaStreamType, [in] Windows.Media.MediaProperties.IMediaEncodingProperties* mediaEncodingProperties, [in] Windows.Media.MediaProperties.MediaPropertySet* encoderProperties, [out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(D4136F30-1564-466E-BC0A-AF94E02AB016)]
            interface IMediaCapture3 : IInspectable
            {
                HRESULT PrepareVariablePhotoSequenceCaptureAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* type, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.Core.VariablePhotoSequenceCapture*>** operation);
                [eventadd] HRESULT FocusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.MediaCaptureFocusChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT FocusChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT PhotoConfirmationCaptured([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.PhotoConfirmationCapturedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT PhotoConfirmationCaptured([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(BACD6FD6-FB08-4947-AEA2-CE14EFF0CE13)]
            interface IMediaCapture4 : IInspectable
            {
                HRESULT AddAudioEffectAsync([in] Windows.Media.Effects.IAudioEffectDefinition* definition, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.IMediaExtension*>** op);
                HRESULT AddVideoEffectAsync([in] Windows.Media.Effects.IVideoEffectDefinition* definition, [in] Windows.Media.Capture.MediaStreamType mediaStreamType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.IMediaExtension*>** op);
                HRESULT PauseRecordAsync([in] Windows.Media.Devices.MediaCapturePauseBehavior behavior, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT ResumeRecordAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [eventadd] HRESULT CameraStreamStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CameraStreamStateChanged([in] EventRegistrationToken token);
                [propget] HRESULT CameraStreamState([out] [retval] Windows.Media.Devices.CameraStreamState* streamState);
                [overload("GetPreviewFrameAsync")] HRESULT GetPreviewFrameAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.VideoFrame*>** operation);
                [overload("GetPreviewFrameAsync")] HRESULT GetPreviewFrameCopyAsync([in] Windows.Media.VideoFrame* destination, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.VideoFrame*>** operation);
                [eventadd] HRESULT ThermalStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ThermalStatusChanged([in] EventRegistrationToken token);
                [propget] HRESULT ThermalStatus([out] [retval] Windows.Media.Capture.MediaCaptureThermalStatus* value);
                HRESULT PrepareAdvancedPhotoCaptureAsync([in] Windows.Media.MediaProperties.ImageEncodingProperties* encodingProperties, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.AdvancedPhotoCapture*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(DA787C22-3A9B-4720-A71E-97900A316E5A)]
            interface IMediaCapture5 : IInspectable
            {
                HRESULT RemoveEffectAsync([in] Windows.Media.IMediaExtension* effect, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT PauseRecordWithResultAsync([in] Windows.Media.Devices.MediaCapturePauseBehavior behavior, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCapturePauseResult*>** operation);
                HRESULT StopRecordWithResultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.MediaCaptureStopResult*>** operation);
                [propget] HRESULT FrameSources([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.Media.Capture.Frames.MediaFrameSource*>** value);
                [overload("CreateFrameReaderAsync")] HRESULT CreateFrameReaderAsync([in] Windows.Media.Capture.Frames.MediaFrameSource* inputSource, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.Frames.MediaFrameReader*>** value);
                [overload("CreateFrameReaderAsync")] HRESULT CreateFrameReaderWithSubtypeAsync([in] Windows.Media.Capture.Frames.MediaFrameSource* inputSource, [in] HSTRING outputSubtype, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.Frames.MediaFrameReader*>** value);
                [overload("CreateFrameReaderAsync")] HRESULT CreateFrameReaderWithSubtypeAndSizeAsync([in] Windows.Media.Capture.Frames.MediaFrameSource* inputSource, [in] HSTRING outputSubtype, [in] Windows.Graphics.Imaging.BitmapSize outputSize, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.Frames.MediaFrameReader*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(228948BD-4B20-4BB1-9FD6-A583212A1012)]
            interface IMediaCapture6 : IInspectable
            {
                [eventadd] HRESULT CaptureDeviceExclusiveControlStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCapture*, Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatusChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CaptureDeviceExclusiveControlStatusChanged([in] EventRegistrationToken token);
                HRESULT CreateMultiSourceFrameReaderAsync([in] Windows.Foundation.Collections.IIterable<Windows.Media.Capture.Frames.MediaFrameSource*>* inputSources, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Media.Capture.Frames.MultiSourceMediaFrameReader*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(9169F102-8888-541A-95BC-24E4D462542A)]
            interface IMediaCapture7 : IInspectable
            {
                HRESULT CreateRelativePanelWatcher([in] Windows.Media.Capture.StreamingCaptureMode captureMode, [in] Windows.UI.WindowManagement.DisplayRegion* displayRegion, [out] [retval] Windows.Media.Capture.MediaCaptureRelativePanelWatcher** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatusChangedEventArgs)]
            [uuid(9D2F920D-A588-43C6-89D6-5AD322AF006A)]
            interface IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Status([out] [retval] Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureFailedEventArgs)]
            [uuid(80FDE3F4-54C4-42C0-8D19-CEA1A87CA18B)]
            interface IMediaCaptureFailedEventArgs : IInspectable
            {
                [propget] HRESULT Message([out] [retval] HSTRING* value);
                [propget] HRESULT Code([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureFocusChangedEventArgs)]
            [uuid(81E1BC7F-2277-493E-ABEE-D3F44FF98C04)]
            interface IMediaCaptureFocusChangedEventArgs : IInspectable
            {
                [propget] HRESULT FocusState([out] [retval] Windows.Media.Devices.MediaCaptureFocusState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(9782BA70-EA65-4900-9356-8CA887726884)]
            interface IMediaCaptureInitializationSettings : IInspectable
            {
                [propput] HRESULT AudioDeviceId([in] HSTRING value);
                [propget] HRESULT AudioDeviceId([out] [retval] HSTRING* value);
                [propput] HRESULT VideoDeviceId([in] HSTRING value);
                [propget] HRESULT VideoDeviceId([out] [retval] HSTRING* value);
                [propput] HRESULT StreamingCaptureMode([in] Windows.Media.Capture.StreamingCaptureMode value);
                [propget] HRESULT StreamingCaptureMode([out] [retval] Windows.Media.Capture.StreamingCaptureMode* value);
                [propput] HRESULT PhotoCaptureSource([in] Windows.Media.Capture.PhotoCaptureSource value);
                [propget] HRESULT PhotoCaptureSource([out] [retval] Windows.Media.Capture.PhotoCaptureSource* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(404E0626-C9DC-43E9-AEE4-E6BF1B57B44C)]
            interface IMediaCaptureInitializationSettings2 : IInspectable
            {
                [propput] HRESULT MediaCategory([in] Windows.Media.Capture.MediaCategory value);
                [propget] HRESULT MediaCategory([out] [retval] Windows.Media.Capture.MediaCategory* value);
                [propput] HRESULT AudioProcessing([in] Windows.Media.AudioProcessing value);
                [propget] HRESULT AudioProcessing([out] [retval] Windows.Media.AudioProcessing* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(4160519D-BE48-4730-8104-0CF6E9E97948)]
            interface IMediaCaptureInitializationSettings3 : IInspectable
            {
                [propput] HRESULT AudioSource([in] Windows.Media.Core.IMediaSource* value);
                [propget] HRESULT AudioSource([out] [retval] Windows.Media.Core.IMediaSource** value);
                [propput] HRESULT VideoSource([in] Windows.Media.Core.IMediaSource* value);
                [propget] HRESULT VideoSource([out] [retval] Windows.Media.Core.IMediaSource** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(F502A537-4CB7-4D28-95ED-4F9F012E0518)]
            interface IMediaCaptureInitializationSettings4 : IInspectable
            {
                [propget] HRESULT VideoProfile([out] [retval] Windows.Media.Capture.MediaCaptureVideoProfile** value);
                [propput] HRESULT VideoProfile([in] Windows.Media.Capture.MediaCaptureVideoProfile* value);
                [propget] HRESULT PreviewMediaDescription([out] [retval] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription** value);
                [propput] HRESULT PreviewMediaDescription([in] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription* value);
                [propget] HRESULT RecordMediaDescription([out] [retval] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription** value);
                [propput] HRESULT RecordMediaDescription([in] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription* value);
                [propget] HRESULT PhotoMediaDescription([out] [retval] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription** value);
                [propput] HRESULT PhotoMediaDescription([in] Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(D5A2E3B8-2626-4E94-B7B3-5308A0F64B1A)]
            interface IMediaCaptureInitializationSettings5 : IInspectable
            {
                [propget] HRESULT SourceGroup([out] [retval] Windows.Media.Capture.Frames.MediaFrameSourceGroup** value);
                [propput] HRESULT SourceGroup([in] Windows.Media.Capture.Frames.MediaFrameSourceGroup* value);
                [propget] HRESULT SharingMode([out] [retval] Windows.Media.Capture.MediaCaptureSharingMode* value);
                [propput] HRESULT SharingMode([in] Windows.Media.Capture.MediaCaptureSharingMode value);
                [propget] HRESULT MemoryPreference([out] [retval] Windows.Media.Capture.MediaCaptureMemoryPreference* value);
                [propput] HRESULT MemoryPreference([in] Windows.Media.Capture.MediaCaptureMemoryPreference value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(B2E26B47-3DB1-4D33-AB63-0FFA09056585)]
            interface IMediaCaptureInitializationSettings6 : IInspectable
            {
                [propget] HRESULT AlwaysPlaySystemShutterSound([out] [retval] boolean* value);
                [propput] HRESULT AlwaysPlaySystemShutterSound([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureInitializationSettings)]
            [uuid(41546967-F58A-5D82-9EF4-ED572FB5E34E)]
            interface IMediaCaptureInitializationSettings7 : IInspectable
            {
                [propget] HRESULT DeviceUriPasswordCredential([out] [retval] Windows.Security.Credentials.PasswordCredential** value);
                [propput] HRESULT DeviceUriPasswordCredential([in] Windows.Security.Credentials.PasswordCredential* value);
                [propget] HRESULT DeviceUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT DeviceUri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapturePauseResult)]
            [uuid(AEC47CA3-4477-4B04-A06F-2C1C5182FE9D)]
            interface IMediaCapturePauseResult : IInspectable
            {
                [propget] HRESULT LastFrame([out] [retval] Windows.Media.VideoFrame** value);
                [propget] HRESULT RecordDuration([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureRelativePanelWatcher)]
            [uuid(7D896566-04BE-5B89-B30E-BD34A9F12DB0)]
            interface IMediaCaptureRelativePanelWatcher : IInspectable
            {
                [propget] HRESULT RelativePanel([out] [retval] Windows.Devices.Enumeration.Panel* value);
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.Media.Capture.MediaCaptureRelativePanelWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
                HRESULT Start();
                HRESULT Stop();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureSettings)]
            [uuid(1D83AAFE-6D45-4477-8DC4-AC5BC01C4091)]
            interface IMediaCaptureSettings : IInspectable
            {
                [propget] HRESULT AudioDeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT VideoDeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT StreamingCaptureMode([out] [retval] Windows.Media.Capture.StreamingCaptureMode* value);
                [propget] HRESULT PhotoCaptureSource([out] [retval] Windows.Media.Capture.PhotoCaptureSource* value);
                [propget] HRESULT VideoDeviceCharacteristic([out] [retval] Windows.Media.Capture.VideoDeviceCharacteristic* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureSettings)]
            [uuid(6F9E7CFB-FA9F-4B13-9CBE-5AB94F1F3493)]
            interface IMediaCaptureSettings2 : IInspectable
            {
                [propget] HRESULT ConcurrentRecordAndPhotoSupported([out] [retval] boolean* value);
                [propget] HRESULT ConcurrentRecordAndPhotoSequenceSupported([out] [retval] boolean* value);
                [propget] HRESULT CameraSoundRequiredForRegion([out] [retval] boolean* value);
                [propget] HRESULT Horizontal35mmEquivalentFocalLength([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT PitchOffsetDegrees([out] [retval] Windows.Foundation.IReference<INT32>** value);
                [propget] HRESULT Vertical35mmEquivalentFocalLength([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT MediaCategory([out] [retval] Windows.Media.Capture.MediaCategory* value);
                [propget] HRESULT AudioProcessing([out] [retval] Windows.Media.AudioProcessing* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureSettings)]
            [uuid(303C67C2-8058-4B1B-B877-8C2EF3528440)]
            interface IMediaCaptureSettings3 : IInspectable
            {
                [propget] HRESULT Direct3D11Device([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(ACEF81FF-99ED-4645-965E-1925CFC63834)]
            interface IMediaCaptureStatics : IInspectable
            {
                HRESULT IsVideoProfileSupported([in] HSTRING videoDeviceId, [out] [retval] boolean* value);
                HRESULT FindAllVideoProfiles([in] HSTRING videoDeviceId, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfile*>** value);
                HRESULT FindConcurrentProfiles([in] HSTRING videoDeviceId, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfile*>** value);
                HRESULT FindKnownVideoProfiles([in] HSTRING videoDeviceId, [in] Windows.Media.Capture.KnownVideoProfile name, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfile*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureStopResult)]
            [uuid(F9DB6A2A-A092-4AD1-97D4-F201F9D082DB)]
            interface IMediaCaptureStopResult : IInspectable
            {
                [propget] HRESULT LastFrame([out] [retval] Windows.Media.VideoFrame** value);
                [propget] HRESULT RecordDuration([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCapture)]
            [uuid(27727073-549E-447F-A20A-4F03C479D8C0)]
            interface IMediaCaptureVideoPreview : IInspectable
            {
                HRESULT StartPreviewAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [overload("StartPreviewToCustomSinkAsync")] HRESULT StartPreviewToCustomSinkAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] Windows.Media.IMediaExtension* customMediaSink, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [overload("StartPreviewToCustomSinkAsync")] HRESULT StartPreviewToCustomSinkIdAsync([in] Windows.Media.MediaProperties.MediaEncodingProfile* encodingProfile, [in] HSTRING customSinkActivationId, [in] Windows.Foundation.Collections.IPropertySet* customSinkSettings, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                HRESULT StopPreviewAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureVideoProfile)]
            [uuid(21A073BF-A3EE-4ECF-9EF6-50B0BC4E1305)]
            interface IMediaCaptureVideoProfile : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT VideoDeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT SupportedPreviewMediaDescription([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>** value);
                [propget] HRESULT SupportedRecordMediaDescription([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>** value);
                [propget] HRESULT SupportedPhotoMediaDescription([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>** value);
                HRESULT GetConcurrency([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfile*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureVideoProfile)]
            [uuid(97DDC95F-94CE-468F-9316-FC5BC2638F6B)]
            interface IMediaCaptureVideoProfile2 : IInspectable
            {
                [propget] HRESULT FrameSourceInfos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.Frames.MediaFrameSourceInfo*>** value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription)]
            [uuid(8012AFEF-B691-49FF-83F2-C1E76EAAEA1B)]
            interface IMediaCaptureVideoProfileMediaDescription : IInspectable
            {
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
                [propget] HRESULT FrameRate([out] [retval] DOUBLE* value);
                [deprecated("IsVariablePhotoSequenceSupported might not be available in the next major update following Windows 10, version 1709", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] [propget] HRESULT IsVariablePhotoSequenceSupported([out] [retval] boolean* value);
                [deprecated("IsHdrVideoSupported might not be available in the next major update following Windows 10, version 1709", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] [propget] HRESULT IsHdrVideoSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription)]
            [uuid(C6A6EF13-322D-413A-B85A-68A88E02F4E9)]
            interface IMediaCaptureVideoProfileMediaDescription2 : IInspectable
            {
                [propget] HRESULT Subtype([out] [retval] HSTRING* value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.OptionalReferencePhotoCapturedEventArgs)]
            [uuid(470F88B3-1E6D-4051-9C8B-F1D85AF047B7)]
            interface IOptionalReferencePhotoCapturedEventArgs : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT Context([out] [retval] IInspectable** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.PhotoCapturedEventArgs)]
            [uuid(373BFBC1-984E-4FF0-BF85-1C00AABC5A45)]
            interface IPhotoCapturedEventArgs : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT Thumbnail([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT CaptureTimeOffset([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.PhotoConfirmationCapturedEventArgs)]
            [uuid(AB473672-C28A-4827-8F8D-3636D3BEB51E)]
            interface IPhotoConfirmationCapturedEventArgs : IInspectable
            {
                [propget] HRESULT Frame([out] [retval] Windows.Media.Capture.CapturedFrame** value);
                [propget] HRESULT CaptureTimeOffset([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Media.Capture.VideoStreamConfiguration)]
            [uuid(D8770A6F-4390-4B5E-AD3E-0F8AF0963490)]
            interface IVideoStreamConfiguration : IInspectable
            {
                [propget] HRESULT InputProperties([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
                [propget] HRESULT OutputProperties([out] [retval] Windows.Media.MediaProperties.VideoEncodingProperties** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AdvancedCapturedPhoto
            {
                [default] interface Windows.Media.Capture.IAdvancedCapturedPhoto;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Capture.IAdvancedCapturedPhoto2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AdvancedPhotoCapture
            {
                [default] interface Windows.Media.Capture.IAdvancedPhotoCapture;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastBackgroundService
            {
                [default] interface Windows.Media.Capture.IAppBroadcastBackgroundService;
                [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)] interface Windows.Media.Capture.IAppBroadcastBackgroundService2;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastBackgroundServiceSignInInfo
            {
                [default] interface Windows.Media.Capture.IAppBroadcastBackgroundServiceSignInInfo;
                [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)] interface Windows.Media.Capture.IAppBroadcastBackgroundServiceSignInInfo2;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastBackgroundServiceStreamInfo
            {
                [default] interface Windows.Media.Capture.IAppBroadcastBackgroundServiceStreamInfo;
                [contract(Windows.Media.Capture.AppBroadcastContract, 2.0)] interface Windows.Media.Capture.IAppBroadcastBackgroundServiceStreamInfo2;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastCameraCaptureStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastCameraCaptureStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastGlobalSettings
            {
                [default] interface Windows.Media.Capture.IAppBroadcastGlobalSettings;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastHeartbeatRequestedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastHeartbeatRequestedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [static(Windows.Media.Capture.IAppBroadcastManagerStatics, Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastManager
            {
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastMicrophoneCaptureStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastMicrophoneCaptureStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPlugIn
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPlugIn;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Capture.IAppBroadcastPlugInManagerStatics, Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastPlugInManager
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPlugInManager;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPlugInStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPlugInStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPreview
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPreview;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPreviewStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPreviewStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPreviewStreamReader
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPreviewStreamReader;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPreviewStreamVideoFrame
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPreviewStreamVideoFrame;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastPreviewStreamVideoHeader
            {
                [default] interface Windows.Media.Capture.IAppBroadcastPreviewStreamVideoHeader;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastProviderSettings
            {
                [default] interface Windows.Media.Capture.IAppBroadcastProviderSettings;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastServices
            {
                [default] interface Windows.Media.Capture.IAppBroadcastServices;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastSignInStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastSignInStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastState
            {
                [default] interface Windows.Media.Capture.IAppBroadcastState;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamAudioFrame
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamAudioFrame;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamAudioHeader
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamAudioHeader;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamReader
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamReader;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamVideoFrame
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamVideoFrame;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastStreamVideoHeader
            {
                [default] interface Windows.Media.Capture.IAppBroadcastStreamVideoHeader;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [threading(both)]
            runtimeclass AppBroadcastTriggerDetails
            {
                [default] interface Windows.Media.Capture.IAppBroadcastTriggerDetails;
            }

            [contract(Windows.Media.Capture.AppBroadcastContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppBroadcastViewerCountChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppBroadcastViewerCountChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [static(Windows.Media.Capture.IAppCaptureStatics, Windows.Foundation.UniversalApiContract, 2.0)]
            [static(Windows.Media.Capture.IAppCaptureStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
            runtimeclass AppCapture
            {
                [default] interface Windows.Media.Capture.IAppCapture;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [threading(both)]
            runtimeclass AppCaptureAlternateShortcutKeys
            {
                [default] interface Windows.Media.Capture.IAppCaptureAlternateShortcutKeys;
                [contract(Windows.Media.Capture.AppCaptureContract, 2.0)] interface Windows.Media.Capture.IAppCaptureAlternateShortcutKeys2;
                [contract(Windows.Media.Capture.AppCaptureContract, 3.0)] interface Windows.Media.Capture.IAppCaptureAlternateShortcutKeys3;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureDurationGeneratedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppCaptureDurationGeneratedEventArgs;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureFileGeneratedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppCaptureFileGeneratedEventArgs;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [static(Windows.Media.Capture.IAppCaptureManagerStatics, Windows.Media.Capture.AppCaptureContract, 1.0)]
            [threading(both)]
            runtimeclass AppCaptureManager
            {
            }

            [activatable(Windows.Media.Capture.AppCaptureMetadataContract, 1.0)]
            [contract(Windows.Media.Capture.AppCaptureMetadataContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureMetadataWriter
            {
                [default] interface Windows.Media.Capture.IAppCaptureMetadataWriter;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureMicrophoneCaptureStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppCaptureMicrophoneCaptureStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureRecordOperation
            {
                [default] interface Windows.Media.Capture.IAppCaptureRecordOperation;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureRecordingStateChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IAppCaptureRecordingStateChangedEventArgs;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureServices
            {
                [default] interface Windows.Media.Capture.IAppCaptureServices;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 1.0)]
            [threading(both)]
            runtimeclass AppCaptureSettings
            {
                [default] interface Windows.Media.Capture.IAppCaptureSettings;
                interface Windows.Media.Capture.IAppCaptureSettings2;
                [contract(Windows.Media.Capture.AppCaptureContract, 2.0)] interface Windows.Media.Capture.IAppCaptureSettings3;
                [contract(Windows.Media.Capture.AppCaptureContract, 3.0)] interface Windows.Media.Capture.IAppCaptureSettings4;
                [contract(Windows.Media.Capture.AppCaptureContract, 4.0)] interface Windows.Media.Capture.IAppCaptureSettings5;
            }

            [contract(Windows.Media.Capture.AppCaptureContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppCaptureState
            {
                [default] interface Windows.Media.Capture.IAppCaptureState;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(none)]
            [threading(sta)]
            runtimeclass CameraCaptureUI
            {
                [default] interface Windows.Media.Capture.ICameraCaptureUI;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CameraCaptureUIPhotoCaptureSettings
            {
                [default] interface Windows.Media.Capture.ICameraCaptureUIPhotoCaptureSettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CameraCaptureUIVideoCaptureSettings
            {
                [default] interface Windows.Media.Capture.ICameraCaptureUIVideoCaptureSettings;
            }

            [contract(Windows.Media.Capture.CameraCaptureUIContract, 1.0)]
            [static(Windows.Media.Capture.ICameraOptionsUIStatics, Windows.Media.Capture.CameraCaptureUIContract, 1.0)]
            [threading(mta)]
            runtimeclass CameraOptionsUI
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CapturedFrame
            {
                [default] interface Windows.Media.Capture.ICapturedFrame;
                interface Windows.Storage.Streams.IRandomAccessStreamWithContentType;
                interface Windows.Storage.Streams.IContentTypeProvider;
                interface Windows.Storage.Streams.IRandomAccessStream;
                interface Windows.Storage.Streams.IOutputStream;
                interface Windows.Foundation.IClosable;
                interface Windows.Storage.Streams.IInputStream;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.ICapturedFrameWithSoftwareBitmap;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Capture.ICapturedFrame2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CapturedFrameControlValues
            {
                [default] interface Windows.Media.Capture.ICapturedFrameControlValues;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.ICapturedFrameControlValues2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CapturedPhoto
            {
                [default] interface Windows.Media.Capture.ICapturedPhoto;
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass GameBarServices
            {
                [default] interface Windows.Media.Capture.IGameBarServices;
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass GameBarServicesCommandEventArgs
            {
                [default] interface Windows.Media.Capture.IGameBarServicesCommandEventArgs;
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Media.Capture.IGameBarServicesManagerStatics, Windows.Media.Capture.GameBarContract, 1.0)]
            [threading(both)]
            runtimeclass GameBarServicesManager
            {
                [default] interface Windows.Media.Capture.IGameBarServicesManager;
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass GameBarServicesManagerGameBarServicesCreatedEventArgs
            {
                [default] interface Windows.Media.Capture.IGameBarServicesManagerGameBarServicesCreatedEventArgs;
            }

            [contract(Windows.Media.Capture.GameBarContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass GameBarServicesTargetInfo
            {
                [default] interface Windows.Media.Capture.IGameBarServicesTargetInfo;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass LowLagMediaRecording
            {
                [default] interface Windows.Media.Capture.ILowLagMediaRecording;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.ILowLagMediaRecording2;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Capture.ILowLagMediaRecording3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass LowLagPhotoCapture
            {
                [default] interface Windows.Media.Capture.ILowLagPhotoCapture;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass LowLagPhotoSequenceCapture
            {
                [default] interface Windows.Media.Capture.ILowLagPhotoSequenceCapture;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [static(Windows.Media.Capture.IMediaCaptureStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(mta)]
            runtimeclass MediaCapture
            {
                [default] interface Windows.Media.Capture.IMediaCapture;
                interface Windows.Media.Capture.IMediaCaptureVideoPreview;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCapture2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IClosable;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCapture3;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCapture4;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Capture.IMediaCapture5;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Capture.IMediaCapture6;
                [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Media.Capture.IMediaCapture7;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCaptureDeviceExclusiveControlStatusChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass MediaCaptureFailedEventArgs
            {
                [default] interface Windows.Media.Capture.IMediaCaptureFailedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCaptureFocusChangedEventArgs
            {
                [default] interface Windows.Media.Capture.IMediaCaptureFocusChangedEventArgs;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCaptureInitializationSettings
            {
                [default] interface Windows.Media.Capture.IMediaCaptureInitializationSettings;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings3;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings4;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings5;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings6;
                [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Media.Capture.IMediaCaptureInitializationSettings7;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass MediaCapturePauseResult
            {
                [default] interface Windows.Media.Capture.IMediaCapturePauseResult;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            runtimeclass MediaCaptureRelativePanelWatcher
            {
                [default] interface Windows.Media.Capture.IMediaCaptureRelativePanelWatcher;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass MediaCaptureSettings
            {
                [default] interface Windows.Media.Capture.IMediaCaptureSettings;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Capture.IMediaCaptureSettings2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Capture.IMediaCaptureSettings3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            runtimeclass MediaCaptureStopResult
            {
                [default] interface Windows.Media.Capture.IMediaCaptureStopResult;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCaptureVideoProfile
            {
                [default] interface Windows.Media.Capture.IMediaCaptureVideoProfile;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Capture.IMediaCaptureVideoProfile2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass MediaCaptureVideoProfileMediaDescription
            {
                [default] interface Windows.Media.Capture.IMediaCaptureVideoProfileMediaDescription;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Media.Capture.IMediaCaptureVideoProfileMediaDescription2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass OptionalReferencePhotoCapturedEventArgs
            {
                [default] interface Windows.Media.Capture.IOptionalReferencePhotoCapturedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhotoCapturedEventArgs
            {
                [default] interface Windows.Media.Capture.IPhotoCapturedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhotoConfirmationCapturedEventArgs
            {
                [default] interface Windows.Media.Capture.IPhotoConfirmationCapturedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VideoStreamConfiguration
            {
                [default] interface Windows.Media.Capture.IVideoStreamConfiguration;
            }
        }
    }
}
