

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


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

#pragma warning( disable: 4049 )  /* more than 64k source lines */


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

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

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

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

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

#ifndef __windows2Emedia2Ecapture_h__
#define __windows2Emedia2Ecapture_h__

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

/* Forward Declarations */ 

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCaptureFailedEventHandler;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IRecordLimitationExceededEventHandler;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface ICameraCaptureUIPhotoCaptureSettings;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface ICameraCaptureUIVideoCaptureSettings;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface ICameraCaptureUI;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface ICameraOptionsUIStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCaptureFailedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCaptureInitializationSettings;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCapture;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCaptureVideoPreview;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                interface IMediaCaptureSettings;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0000 */
/* [local] */ 

#ifdef __cplusplus
} /*extern "C"*/ 
#endif
#include <windows.foundation.collections.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Storage {
class StorageFile;
} /*Storage*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0462 */




/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0462 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0462_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0462_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0001 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("e521c894-2c26-5946-9e61-2b5e188d01ed"))
IAsyncOperationCompletedHandler<ABI::Windows::Storage::StorageFile*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Storage::StorageFile*, ABI::Windows::Storage::IStorageFile*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Storage.StorageFile>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Storage::StorageFile*> __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStorageFile_t

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


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0463 */




/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0463 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0463_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0463_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0002 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CStorage__CStorageFile_USE
#define DEF___FIAsyncOperation_1_Windows__CStorage__CStorageFile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("5e52f8ce-aced-5a42-95b4-f674dd84885e"))
IAsyncOperation<ABI::Windows::Storage::StorageFile*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Storage::StorageFile*, ABI::Windows::Storage::IStorageFile*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Storage.StorageFile>"; }
};
typedef IAsyncOperation<ABI::Windows::Storage::StorageFile*> __FIAsyncOperation_1_Windows__CStorage__CStorageFile_t;
#define ____FIAsyncOperation_1_Windows__CStorage__CStorageFile_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CStorage__CStorageFile ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CStorage__CStorageFile_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CStorage__CStorageFile_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Emedia_h__)
#include <Windows.Media.h>
#endif // !defined(__windows2Emedia_h__)
#if !defined(__windows2Emedia2Edevices_h__)
#include <Windows.Media.Devices.h>
#endif // !defined(__windows2Emedia2Edevices_h__)
#if !defined(__windows2Emedia2Emediaproperties_h__)
#include <Windows.Media.MediaProperties.h>
#endif // !defined(__windows2Emedia2Emediaproperties_h__)
#if !defined(__windows2Estorage_h__)
#include <Windows.Storage.h>
#endif // !defined(__windows2Estorage_h__)
#if !defined(__windows2Estorage2Estreams_h__)
#include <Windows.Storage.Streams.h>
#endif // !defined(__windows2Estorage2Estreams_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)


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

#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Devices {
class AudioDeviceController;
} /*Devices*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Devices {
class VideoDeviceController;
} /*Devices*/
} /*Media*/
} /*Windows*/
}
#endif


#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
class ImageEncodingProperties;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace MediaProperties {
class MediaEncodingProfile;
} /*MediaProperties*/
} /*Media*/
} /*Windows*/
}
#endif


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMode __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMode;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIPhotoFormat __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIPhotoFormat;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIVideoFormat __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIVideoFormat;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxVideoResolution __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxVideoResolution;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxPhotoResolution __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxPhotoResolution;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CVideoRotation __x_ABI_CWindows_CMedia_CCapture_CVideoRotation;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CVideoDeviceCharacteristic __x_ABI_CWindows_CMedia_CCapture_CVideoDeviceCharacteristic;


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


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

typedef enum __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency;


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


#endif











#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class CameraCaptureUIPhotoCaptureSettings;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class CameraCaptureUIVideoCaptureSettings;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class CameraCaptureUI;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class MediaCaptureFailedEventArgs;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class MediaCapture;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class MediaCaptureInitializationSettings;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Capture {
class MediaCaptureSettings;
} /*Capture*/
} /*Media*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMode
    {
        CameraCaptureUIMode_PhotoOrVideo	= 0,
        CameraCaptureUIMode_Photo	= 1,
        CameraCaptureUIMode_Video	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIPhotoFormat
    {
        CameraCaptureUIPhotoFormat_Jpeg	= 0,
        CameraCaptureUIPhotoFormat_Png	= 1,
        CameraCaptureUIPhotoFormat_JpegXR	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIVideoFormat
    {
        CameraCaptureUIVideoFormat_Mp4	= 0,
        CameraCaptureUIVideoFormat_Wmv	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxVideoResolution
    {
        CameraCaptureUIMaxVideoResolution_HighestAvailable	= 0,
        CameraCaptureUIMaxVideoResolution_LowDefinition	= 1,
        CameraCaptureUIMaxVideoResolution_StandardDefinition	= 2,
        CameraCaptureUIMaxVideoResolution_HighDefinition	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxPhotoResolution
    {
        CameraCaptureUIMaxPhotoResolution_HighestAvailable	= 0,
        CameraCaptureUIMaxPhotoResolution_VerySmallQvga	= 1,
        CameraCaptureUIMaxPhotoResolution_SmallVga	= 2,
        CameraCaptureUIMaxPhotoResolution_MediumXga	= 3,
        CameraCaptureUIMaxPhotoResolution_Large3M	= 4,
        CameraCaptureUIMaxPhotoResolution_VeryLarge5M	= 5
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType
    {
        MediaStreamType_VideoPreview	= 0,
        MediaStreamType_VideoRecord	= 1,
        MediaStreamType_Audio	= 2,
        MediaStreamType_Photo	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode
    {
        StreamingCaptureMode_AudioAndVideo	= 0,
        StreamingCaptureMode_Audio	= 1,
        StreamingCaptureMode_Video	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CVideoRotation
    {
        VideoRotation_None	= 0,
        VideoRotation_Clockwise90Degrees	= 1,
        VideoRotation_Clockwise180Degrees	= 2,
        VideoRotation_Clockwise270Degrees	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource
    {
        PhotoCaptureSource_Auto	= 0,
        PhotoCaptureSource_VideoPreview	= 1,
        PhotoCaptureSource_Photo	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CVideoDeviceCharacteristic
    {
        VideoDeviceCharacteristic_AllStreamsIndependent	= 0,
        VideoDeviceCharacteristic_PreviewRecordStreamsIdentical	= 1,
        VideoDeviceCharacteristic_PreviewPhotoStreamsIdentical	= 2,
        VideoDeviceCharacteristic_RecordPhotoStreamsIdentical	= 3,
        VideoDeviceCharacteristic_AllStreamsIdentical	= 4
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CCapture_CPowerlineFrequency
    {
        PowerlineFrequency_Disabled	= 0,
        PowerlineFrequency_FiftyHertz	= 1,
        PowerlineFrequency_SixtyHertz	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0002 */
/* [local] */ 




#ifdef __cplusplus

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

extern "C" { 
#endif







#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum CameraCaptureUIMode CameraCaptureUIMode;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum CameraCaptureUIPhotoFormat CameraCaptureUIPhotoFormat;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum CameraCaptureUIVideoFormat CameraCaptureUIVideoFormat;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum CameraCaptureUIMaxVideoResolution CameraCaptureUIMaxVideoResolution;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum CameraCaptureUIMaxPhotoResolution CameraCaptureUIMaxPhotoResolution;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum MediaStreamType MediaStreamType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum StreamingCaptureMode StreamingCaptureMode;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum VideoRotation VideoRotation;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum PhotoCaptureSource PhotoCaptureSource;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum VideoDeviceCharacteristic VideoDeviceCharacteristic;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                typedef enum PowerlineFrequency PowerlineFrequency;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif












#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum CameraCaptureUIMode
                    {
                        CameraCaptureUIMode_PhotoOrVideo	= 0,
                        CameraCaptureUIMode_Photo	= 1,
                        CameraCaptureUIMode_Video	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum CameraCaptureUIPhotoFormat
                    {
                        CameraCaptureUIPhotoFormat_Jpeg	= 0,
                        CameraCaptureUIPhotoFormat_Png	= 1,
                        CameraCaptureUIPhotoFormat_JpegXR	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum CameraCaptureUIVideoFormat
                    {
                        CameraCaptureUIVideoFormat_Mp4	= 0,
                        CameraCaptureUIVideoFormat_Wmv	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum CameraCaptureUIMaxVideoResolution
                    {
                        CameraCaptureUIMaxVideoResolution_HighestAvailable	= 0,
                        CameraCaptureUIMaxVideoResolution_LowDefinition	= 1,
                        CameraCaptureUIMaxVideoResolution_StandardDefinition	= 2,
                        CameraCaptureUIMaxVideoResolution_HighDefinition	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum CameraCaptureUIMaxPhotoResolution
                    {
                        CameraCaptureUIMaxPhotoResolution_HighestAvailable	= 0,
                        CameraCaptureUIMaxPhotoResolution_VerySmallQvga	= 1,
                        CameraCaptureUIMaxPhotoResolution_SmallVga	= 2,
                        CameraCaptureUIMaxPhotoResolution_MediumXga	= 3,
                        CameraCaptureUIMaxPhotoResolution_Large3M	= 4,
                        CameraCaptureUIMaxPhotoResolution_VeryLarge5M	= 5
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum MediaStreamType
                    {
                        MediaStreamType_VideoPreview	= 0,
                        MediaStreamType_VideoRecord	= 1,
                        MediaStreamType_Audio	= 2,
                        MediaStreamType_Photo	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum StreamingCaptureMode
                    {
                        StreamingCaptureMode_AudioAndVideo	= 0,
                        StreamingCaptureMode_Audio	= 1,
                        StreamingCaptureMode_Video	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum VideoRotation
                    {
                        VideoRotation_None	= 0,
                        VideoRotation_Clockwise90Degrees	= 1,
                        VideoRotation_Clockwise180Degrees	= 2,
                        VideoRotation_Clockwise270Degrees	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum PhotoCaptureSource
                    {
                        PhotoCaptureSource_Auto	= 0,
                        PhotoCaptureSource_VideoPreview	= 1,
                        PhotoCaptureSource_Photo	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum VideoDeviceCharacteristic
                    {
                        VideoDeviceCharacteristic_AllStreamsIndependent	= 0,
                        VideoDeviceCharacteristic_PreviewRecordStreamsIdentical	= 1,
                        VideoDeviceCharacteristic_PreviewPhotoStreamsIdentical	= 2,
                        VideoDeviceCharacteristic_RecordPhotoStreamsIdentical	= 3,
                        VideoDeviceCharacteristic_AllStreamsIdentical	= 4
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Capture {
                
                /* [v1_enum] */ 
                enum PowerlineFrequency
                    {
                        PowerlineFrequency_Disabled	= 0,
                        PowerlineFrequency_FiftyHertz	= 1,
                        PowerlineFrequency_SixtyHertz	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0002_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCaptureFailedEventHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("2014EFFB-5CD8-4F08-A314-0D360DA59F14")
                    IMediaCaptureFailedEventHandler : public IUnknown
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Invoke( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCapture *sender,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCaptureFailedEventArgs *errorEventArgs) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCaptureFailedEventHandler = __uuidof(IMediaCaptureFailedEventHandler);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs *errorEventArgs);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_Invoke(This,sender,errorEventArgs)	\
    ( (This)->lpVtbl -> Invoke(This,sender,errorEventArgs) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler_INTERFACE_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IRecordLimitationExceededEventHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("3FAE8F2E-4FE1-4FFD-AABA-E1F1337D4E53")
                    IRecordLimitationExceededEventHandler : public IUnknown
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Invoke( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCapture *sender) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IRecordLimitationExceededEventHandler = __uuidof(IRecordLimitationExceededEventHandler);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

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

    interface __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0004 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_ICameraCaptureUIPhotoCaptureSettings[] = L"Windows.Media.Capture.ICameraCaptureUIPhotoCaptureSettings";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0004 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0004_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::ICameraCaptureUIPhotoCaptureSettings */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("B9F5BE97-3472-46A8-8A9E-04CE42CCC97D")
                    ICameraCaptureUIPhotoCaptureSettings : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::CameraCaptureUIPhotoFormat *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Format( 
                            /* [in] */ ABI::Windows::Media::Capture::CameraCaptureUIPhotoFormat value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxResolution( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxResolution( 
                            /* [in] */ ABI::Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CroppedSizeInPixels( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Size *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CroppedSizeInPixels( 
                            /* [in] */ ABI::Windows::Foundation::Size value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CroppedAspectRatio( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Foundation::Size *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CroppedAspectRatio( 
                            /* [in] */ ABI::Windows::Foundation::Size value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowCropping( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowCropping( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ICameraCaptureUIPhotoCaptureSettings = __uuidof(ICameraCaptureUIPhotoCaptureSettings);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIPhotoFormat *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIPhotoFormat value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxResolution )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxPhotoResolution *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxResolution )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxPhotoResolution value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CroppedSizeInPixels )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CSize *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CroppedSizeInPixels )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CSize value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CroppedAspectRatio )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CFoundation_CSize *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CroppedAspectRatio )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CSize value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowCropping )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowCropping )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_get_Format(This,value)	\
    ( (This)->lpVtbl -> get_Format(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_put_Format(This,value)	\
    ( (This)->lpVtbl -> put_Format(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_get_MaxResolution(This,value)	\
    ( (This)->lpVtbl -> get_MaxResolution(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_put_MaxResolution(This,value)	\
    ( (This)->lpVtbl -> put_MaxResolution(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_get_CroppedSizeInPixels(This,value)	\
    ( (This)->lpVtbl -> get_CroppedSizeInPixels(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_put_CroppedSizeInPixels(This,value)	\
    ( (This)->lpVtbl -> put_CroppedSizeInPixels(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_get_CroppedAspectRatio(This,value)	\
    ( (This)->lpVtbl -> get_CroppedAspectRatio(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_put_CroppedAspectRatio(This,value)	\
    ( (This)->lpVtbl -> put_CroppedAspectRatio(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_get_AllowCropping(This,value)	\
    ( (This)->lpVtbl -> get_AllowCropping(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_put_AllowCropping(This,value)	\
    ( (This)->lpVtbl -> put_AllowCropping(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0005 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_ICameraCaptureUIVideoCaptureSettings[] = L"Windows.Media.Capture.ICameraCaptureUIVideoCaptureSettings";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0005 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0005_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::ICameraCaptureUIVideoCaptureSettings */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("64E92D1F-A28D-425A-B84F-E568335FF24E")
                    ICameraCaptureUIVideoCaptureSettings : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::CameraCaptureUIVideoFormat *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Format( 
                            /* [in] */ ABI::Windows::Media::Capture::CameraCaptureUIVideoFormat value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxResolution( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::CameraCaptureUIMaxVideoResolution *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxResolution( 
                            /* [in] */ ABI::Windows::Media::Capture::CameraCaptureUIMaxVideoResolution value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxDurationInSeconds( 
                            /* [out][retval] */ __RPC__out FLOAT *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxDurationInSeconds( 
                            /* [in] */ FLOAT value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowTrimming( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowTrimming( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ICameraCaptureUIVideoCaptureSettings = __uuidof(ICameraCaptureUIVideoCaptureSettings);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIVideoFormat *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIVideoFormat value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxResolution )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxVideoResolution *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxResolution )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMaxVideoResolution value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDurationInSeconds )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out][retval] */ __RPC__out FLOAT *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxDurationInSeconds )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [in] */ FLOAT value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowTrimming )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowTrimming )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_get_Format(This,value)	\
    ( (This)->lpVtbl -> get_Format(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_put_Format(This,value)	\
    ( (This)->lpVtbl -> put_Format(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_get_MaxResolution(This,value)	\
    ( (This)->lpVtbl -> get_MaxResolution(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_put_MaxResolution(This,value)	\
    ( (This)->lpVtbl -> put_MaxResolution(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_get_MaxDurationInSeconds(This,value)	\
    ( (This)->lpVtbl -> get_MaxDurationInSeconds(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_put_MaxDurationInSeconds(This,value)	\
    ( (This)->lpVtbl -> put_MaxDurationInSeconds(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_get_AllowTrimming(This,value)	\
    ( (This)->lpVtbl -> get_AllowTrimming(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_put_AllowTrimming(This,value)	\
    ( (This)->lpVtbl -> put_AllowTrimming(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0006 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_ICameraCaptureUI[] = L"Windows.Media.Capture.ICameraCaptureUI";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0006 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0006_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::ICameraCaptureUI */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("48587540-6F93-4BB4-B8F3-E89E48948C91")
                    ICameraCaptureUI : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhotoSettings( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Capture::ICameraCaptureUIPhotoCaptureSettings **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoSettings( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Capture::ICameraCaptureUIVideoCaptureSettings **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CaptureFileAsync( 
                            /* [in] */ ABI::Windows::Media::Capture::CameraCaptureUIMode mode,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStorageFile **asyncInfo) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ICameraCaptureUI = __uuidof(ICameraCaptureUI);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhotoSettings )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIPhotoCaptureSettings **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoSettings )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVideoCaptureSettings **value);
        
        HRESULT ( STDMETHODCALLTYPE *CaptureFileAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CCameraCaptureUIMode mode,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStorageFile **asyncInfo);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUIVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_get_PhotoSettings(This,value)	\
    ( (This)->lpVtbl -> get_PhotoSettings(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_get_VideoSettings(This,value)	\
    ( (This)->lpVtbl -> get_VideoSettings(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_CaptureFileAsync(This,mode,asyncInfo)	\
    ( (This)->lpVtbl -> CaptureFileAsync(This,mode,asyncInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraCaptureUI_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0007 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_ICameraOptionsUIStatics[] = L"Windows.Media.Capture.ICameraOptionsUIStatics";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0007 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0007_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::ICameraOptionsUIStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("3B0D5E34-3906-4B7D-946C-7BDE844499AE")
                    ICameraOptionsUIStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Show( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCapture *mediaCapture) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ICameraOptionsUIStatics = __uuidof(ICameraOptionsUIStatics);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Show )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture *mediaCapture);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStaticsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_Show(This,mediaCapture)	\
    ( (This)->lpVtbl -> Show(This,mediaCapture) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CICameraOptionsUIStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0008 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_IMediaCaptureFailedEventArgs[] = L"Windows.Media.Capture.IMediaCaptureFailedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0008 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0008_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCaptureFailedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("80FDE3F4-54C4-42C0-8D19-CEA1A87CA18B")
                    IMediaCaptureFailedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Message( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Code( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCaptureFailedEventArgs = __uuidof(IMediaCaptureFailedEventArgs);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Code )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_get_Message(This,value)	\
    ( (This)->lpVtbl -> get_Message(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_get_Code(This,value)	\
    ( (This)->lpVtbl -> get_Code(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0009 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_IMediaCaptureInitializationSettings[] = L"Windows.Media.Capture.IMediaCaptureInitializationSettings";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0009 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0009_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCaptureInitializationSettings */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("9782BA70-EA65-4900-9356-8CA887726884")
                    IMediaCaptureInitializationSettings : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioDeviceId( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDeviceId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoDeviceId( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoDeviceId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StreamingCaptureMode( 
                            /* [in] */ ABI::Windows::Media::Capture::StreamingCaptureMode value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StreamingCaptureMode( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::StreamingCaptureMode *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PhotoCaptureSource( 
                            /* [in] */ ABI::Windows::Media::Capture::PhotoCaptureSource value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhotoCaptureSource( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::PhotoCaptureSource *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCaptureInitializationSettings = __uuidof(IMediaCaptureInitializationSettings);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StreamingCaptureMode )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamingCaptureMode )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PhotoCaptureSource )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhotoCaptureSource )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_put_AudioDeviceId(This,value)	\
    ( (This)->lpVtbl -> put_AudioDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_get_AudioDeviceId(This,value)	\
    ( (This)->lpVtbl -> get_AudioDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_put_VideoDeviceId(This,value)	\
    ( (This)->lpVtbl -> put_VideoDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_get_VideoDeviceId(This,value)	\
    ( (This)->lpVtbl -> get_VideoDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_put_StreamingCaptureMode(This,value)	\
    ( (This)->lpVtbl -> put_StreamingCaptureMode(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_get_StreamingCaptureMode(This,value)	\
    ( (This)->lpVtbl -> get_StreamingCaptureMode(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_put_PhotoCaptureSource(This,value)	\
    ( (This)->lpVtbl -> put_PhotoCaptureSource(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_get_PhotoCaptureSource(This,value)	\
    ( (This)->lpVtbl -> get_PhotoCaptureSource(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0010 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_IMediaCapture[] = L"Windows.Media.Capture.IMediaCapture";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0010 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0010_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCapture */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCapture;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("C61AFBB4-FB10-4A34-AC18-CA80D9C8E7EE")
                    IMediaCapture : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE InitializeAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE InitializeWithSettingsAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCaptureInitializationSettings *mediaCaptureInitializationSettings,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartRecordToStorageFileAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::IStorageFile *file,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartRecordToStreamAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::Streams::IRandomAccessStream *stream,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartRecordToCustomSinkAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::IMediaExtension *customMediaSink,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartRecordToCustomSinkIdAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in HSTRING customSinkActivationId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *customSinkSettings,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StopRecordAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CapturePhotoToStorageFileAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IImageEncodingProperties *type,
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::IStorageFile *file,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CapturePhotoToStreamAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IImageEncodingProperties *type,
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::Streams::IRandomAccessStream *stream,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE AddEffectAsync( 
                            /* [in] */ ABI::Windows::Media::Capture::MediaStreamType mediaStreamType,
                            /* [in] */ __RPC__in HSTRING effectActivationID,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *effectSettings,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ClearEffectsAsync( 
                            /* [in] */ ABI::Windows::Media::Capture::MediaStreamType mediaStreamType,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetEncoderProperty( 
                            /* [in] */ ABI::Windows::Media::Capture::MediaStreamType mediaStreamType,
                            /* [in] */ GUID propertyId,
                            /* [in] */ __RPC__in_opt IInspectable *propertyValue) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetEncoderProperty( 
                            /* [in] */ ABI::Windows::Media::Capture::MediaStreamType mediaStreamType,
                            /* [in] */ GUID propertyId,
                            /* [out][retval] */ __RPC__deref_out_opt IInspectable **propertyValue) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_Failed( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IMediaCaptureFailedEventHandler *errorEventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Failed( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_RecordLimitationExceeded( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Capture::IRecordLimitationExceededEventHandler *recordLimitationExceededEventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_RecordLimitationExceeded( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediaCaptureSettings( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Capture::IMediaCaptureSettings **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDeviceController( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Devices::IAudioDeviceController **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoDeviceController( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Devices::IVideoDeviceController **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetPreviewMirroring( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetPreviewMirroring( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetPreviewRotation( 
                            /* [in] */ ABI::Windows::Media::Capture::VideoRotation value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetPreviewRotation( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::VideoRotation *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetRecordRotation( 
                            /* [in] */ ABI::Windows::Media::Capture::VideoRotation value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetRecordRotation( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::VideoRotation *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCapture = __uuidof(IMediaCapture);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *InitializeAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *InitializeWithSettingsAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureInitializationSettings *mediaCaptureInitializationSettings,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartRecordToStorageFileAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CIStorageFile *file,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartRecordToStreamAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream *stream,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartRecordToCustomSinkAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CIMediaExtension *customMediaSink,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartRecordToCustomSinkIdAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in HSTRING customSinkActivationId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *customSinkSettings,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StopRecordAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *CapturePhotoToStorageFileAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIImageEncodingProperties *type,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CIStorageFile *file,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *CapturePhotoToStreamAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIImageEncodingProperties *type,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream *stream,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *AddEffectAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
            /* [in] */ __RPC__in HSTRING effectActivationID,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *effectSettings,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *ClearEffectsAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *SetEncoderProperty )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
            /* [in] */ GUID propertyId,
            /* [in] */ __RPC__in_opt IInspectable *propertyValue);
        
        HRESULT ( STDMETHODCALLTYPE *GetEncoderProperty )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CMediaStreamType mediaStreamType,
            /* [in] */ GUID propertyId,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **propertyValue);
        
        HRESULT ( STDMETHODCALLTYPE *add_Failed )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureFailedEventHandler *errorEventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Failed )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *add_RecordLimitationExceeded )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CCapture_CIRecordLimitationExceededEventHandler *recordLimitationExceededEventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_RecordLimitationExceeded )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaCaptureSettings )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDeviceController )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CDevices_CIAudioDeviceController **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoDeviceController )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CDevices_CIVideoDeviceController **value);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreviewMirroring )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ boolean value);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreviewMirroring )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreviewRotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CVideoRotation value);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreviewRotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CVideoRotation *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetRecordRotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [in] */ __x_ABI_CWindows_CMedia_CCapture_CVideoRotation value);
        
        HRESULT ( STDMETHODCALLTYPE *GetRecordRotation )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CVideoRotation *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_InitializeAsync(This,asyncInfo)	\
    ( (This)->lpVtbl -> InitializeAsync(This,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_InitializeWithSettingsAsync(This,mediaCaptureInitializationSettings,asyncInfo)	\
    ( (This)->lpVtbl -> InitializeWithSettingsAsync(This,mediaCaptureInitializationSettings,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_StartRecordToStorageFileAsync(This,encodingProfile,file,asyncInfo)	\
    ( (This)->lpVtbl -> StartRecordToStorageFileAsync(This,encodingProfile,file,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_StartRecordToStreamAsync(This,encodingProfile,stream,asyncInfo)	\
    ( (This)->lpVtbl -> StartRecordToStreamAsync(This,encodingProfile,stream,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_StartRecordToCustomSinkAsync(This,encodingProfile,customMediaSink,asyncInfo)	\
    ( (This)->lpVtbl -> StartRecordToCustomSinkAsync(This,encodingProfile,customMediaSink,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_StartRecordToCustomSinkIdAsync(This,encodingProfile,customSinkActivationId,customSinkSettings,asyncInfo)	\
    ( (This)->lpVtbl -> StartRecordToCustomSinkIdAsync(This,encodingProfile,customSinkActivationId,customSinkSettings,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_StopRecordAsync(This,asyncInfo)	\
    ( (This)->lpVtbl -> StopRecordAsync(This,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_CapturePhotoToStorageFileAsync(This,type,file,asyncInfo)	\
    ( (This)->lpVtbl -> CapturePhotoToStorageFileAsync(This,type,file,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_CapturePhotoToStreamAsync(This,type,stream,asyncInfo)	\
    ( (This)->lpVtbl -> CapturePhotoToStreamAsync(This,type,stream,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_AddEffectAsync(This,mediaStreamType,effectActivationID,effectSettings,asyncInfo)	\
    ( (This)->lpVtbl -> AddEffectAsync(This,mediaStreamType,effectActivationID,effectSettings,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_ClearEffectsAsync(This,mediaStreamType,asyncInfo)	\
    ( (This)->lpVtbl -> ClearEffectsAsync(This,mediaStreamType,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_SetEncoderProperty(This,mediaStreamType,propertyId,propertyValue)	\
    ( (This)->lpVtbl -> SetEncoderProperty(This,mediaStreamType,propertyId,propertyValue) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_GetEncoderProperty(This,mediaStreamType,propertyId,propertyValue)	\
    ( (This)->lpVtbl -> GetEncoderProperty(This,mediaStreamType,propertyId,propertyValue) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_add_Failed(This,errorEventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_Failed(This,errorEventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_remove_Failed(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_Failed(This,eventCookie) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_add_RecordLimitationExceeded(This,recordLimitationExceededEventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_RecordLimitationExceeded(This,recordLimitationExceededEventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_remove_RecordLimitationExceeded(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_RecordLimitationExceeded(This,eventCookie) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_get_MediaCaptureSettings(This,value)	\
    ( (This)->lpVtbl -> get_MediaCaptureSettings(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_get_AudioDeviceController(This,value)	\
    ( (This)->lpVtbl -> get_AudioDeviceController(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_get_VideoDeviceController(This,value)	\
    ( (This)->lpVtbl -> get_VideoDeviceController(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_SetPreviewMirroring(This,value)	\
    ( (This)->lpVtbl -> SetPreviewMirroring(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_GetPreviewMirroring(This,value)	\
    ( (This)->lpVtbl -> GetPreviewMirroring(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_SetPreviewRotation(This,value)	\
    ( (This)->lpVtbl -> SetPreviewRotation(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_GetPreviewRotation(This,value)	\
    ( (This)->lpVtbl -> GetPreviewRotation(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_SetRecordRotation(This,value)	\
    ( (This)->lpVtbl -> SetRecordRotation(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_GetRecordRotation(This,value)	\
    ( (This)->lpVtbl -> GetRecordRotation(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCapture_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0011 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_IMediaCaptureVideoPreview[] = L"Windows.Media.Capture.IMediaCaptureVideoPreview";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0011 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0011_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCaptureVideoPreview */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("27727073-549E-447F-A20A-4F03C479D8C0")
                    IMediaCaptureVideoPreview : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE StartPreviewAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartPreviewToCustomSinkAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::IMediaExtension *customMediaSink,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StartPreviewToCustomSinkIdAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::MediaProperties::IMediaEncodingProfile *encodingProfile,
                            /* [in] */ __RPC__in HSTRING customSinkActivationId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet *customSinkSettings,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE StopPreviewAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **asyncInfo) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCaptureVideoPreview = __uuidof(IMediaCaptureVideoPreview);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *StartPreviewAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartPreviewToCustomSinkAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CIMediaExtension *customMediaSink,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StartPreviewToCustomSinkIdAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *encodingProfile,
            /* [in] */ __RPC__in HSTRING customSinkActivationId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *customSinkSettings,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        HRESULT ( STDMETHODCALLTYPE *StopPreviewAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **asyncInfo);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreviewVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_StartPreviewAsync(This,asyncInfo)	\
    ( (This)->lpVtbl -> StartPreviewAsync(This,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_StartPreviewToCustomSinkAsync(This,encodingProfile,customMediaSink,asyncInfo)	\
    ( (This)->lpVtbl -> StartPreviewToCustomSinkAsync(This,encodingProfile,customMediaSink,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_StartPreviewToCustomSinkIdAsync(This,encodingProfile,customSinkActivationId,customSinkSettings,asyncInfo)	\
    ( (This)->lpVtbl -> StartPreviewToCustomSinkIdAsync(This,encodingProfile,customSinkActivationId,customSinkSettings,asyncInfo) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_StopPreviewAsync(This,asyncInfo)	\
    ( (This)->lpVtbl -> StopPreviewAsync(This,asyncInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureVideoPreview_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0012 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_INTERFACE_DEFINED__)
extern const __declspec(selectany) WCHAR InterfaceName_Windows_Media_Capture_IMediaCaptureSettings[] = L"Windows.Media.Capture.IMediaCaptureSettings";
#endif /* !defined(____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0012 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0012_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Capture::IMediaCaptureSettings */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Capture {
                    
                    MIDL_INTERFACE("1D83AAFE-6D45-4477-8DC4-AC5BC01C4091")
                    IMediaCaptureSettings : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDeviceId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoDeviceId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StreamingCaptureMode( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::StreamingCaptureMode *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhotoCaptureSource( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::PhotoCaptureSource *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoDeviceCharacteristic( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Capture::VideoDeviceCharacteristic *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMediaCaptureSettings = __uuidof(IMediaCaptureSettings);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    typedef struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoDeviceId )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamingCaptureMode )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CStreamingCaptureMode *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhotoCaptureSource )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CPhotoCaptureSource *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoDeviceCharacteristic )( 
            __RPC__in __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CCapture_CVideoDeviceCharacteristic *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettingsVtbl;

    interface __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_get_AudioDeviceId(This,value)	\
    ( (This)->lpVtbl -> get_AudioDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_get_VideoDeviceId(This,value)	\
    ( (This)->lpVtbl -> get_VideoDeviceId(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_get_StreamingCaptureMode(This,value)	\
    ( (This)->lpVtbl -> get_StreamingCaptureMode(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_get_PhotoCaptureSource(This,value)	\
    ( (This)->lpVtbl -> get_PhotoCaptureSource(This,value) ) 

#define __x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_get_VideoDeviceCharacteristic(This,value)	\
    ( (This)->lpVtbl -> get_VideoDeviceCharacteristic(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CCapture_CIMediaCaptureSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0013 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUIPhotoCaptureSettings_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUIPhotoCaptureSettings_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_CameraCaptureUIPhotoCaptureSettings[] = L"Windows.Media.Capture.CameraCaptureUIPhotoCaptureSettings";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUIVideoCaptureSettings_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUIVideoCaptureSettings_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_CameraCaptureUIVideoCaptureSettings[] = L"Windows.Media.Capture.CameraCaptureUIVideoCaptureSettings";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUI_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_CameraCaptureUI_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_CameraCaptureUI[] = L"Windows.Media.Capture.CameraCaptureUI";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_CameraOptionsUI_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_CameraOptionsUI_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_CameraOptionsUI[] = L"Windows.Media.Capture.CameraOptionsUI";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_MediaCaptureFailedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_MediaCaptureFailedEventArgs_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_MediaCaptureFailedEventArgs[] = L"Windows.Media.Capture.MediaCaptureFailedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_MediaCapture_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_MediaCapture_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_MediaCapture[] = L"Windows.Media.Capture.MediaCapture";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_MediaCaptureInitializationSettings_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_MediaCaptureInitializationSettings_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_MediaCaptureInitializationSettings[] = L"Windows.Media.Capture.MediaCaptureInitializationSettings";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Capture_MediaCaptureSettings_DEFINED
#define RUNTIMECLASS_Windows_Media_Capture_MediaCaptureSettings_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Media_Capture_MediaCaptureSettings[] = L"Windows.Media.Capture.MediaCaptureSettings";
#endif


/* interface __MIDL_itf_windows2Emedia2Ecapture_0000_0013 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Ecapture_0000_0013_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  HSTRING_UserSize(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

unsigned long             __RPC_USER  HSTRING_UserSize64(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal64(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree64(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


