/*** Autogenerated by WIDL 11.6 from include/windows.media.mediaproperties.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_media_mediaproperties_h__
#define __windows_media_mediaproperties_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties ABI::Windows::Media::MediaProperties::IAudioEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties ABI::Windows::Media::MediaProperties::IContainerEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IContainerEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile ABI::Windows::Media::MediaProperties::IMediaEncodingProfile
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfile;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties ABI::Windows::Media::MediaProperties::IMediaEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData ABI::Windows::Media::MediaProperties::IAudioEncodingPropertiesWithFormatUserData
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingPropertiesWithFormatUserData;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio ABI::Windows::Media::MediaProperties::IMediaRatio
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaRatio;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties ABI::Windows::Media::MediaProperties::IVideoEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CAudioEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CAudioEncodingProperties_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class AudioEncodingProperties;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CAudioEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CAudioEncodingProperties;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CAudioEncodingProperties_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CContainerEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CContainerEncodingProperties_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class ContainerEncodingProperties;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CContainerEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CContainerEncodingProperties;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CContainerEncodingProperties_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaEncodingProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaEncodingProfile_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class MediaEncodingProfile;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CMediaEncodingProfile __x_ABI_CWindows_CMedia_CMediaProperties_CMediaEncodingProfile;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaEncodingProfile_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaPropertySet_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class MediaPropertySet;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPropertySet __x_ABI_CWindows_CMedia_CMediaProperties_CMediaPropertySet;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaPropertySet_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaRatio_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaRatio_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class MediaRatio;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRatio __x_ABI_CWindows_CMedia_CMediaProperties_CMediaRatio;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CMediaRatio_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CVideoEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CVideoEncodingProperties_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                class VideoEncodingProperties;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CVideoEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CVideoEncodingProperties;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CMediaProperties_CVideoEncodingProperties_FWD_DEFINED__ */

#ifndef ____FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIKeyValuePair_2_GUID_IInspectable __FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMap_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIMap_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIMap_2_GUID_IInspectable __FIMap_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIMap_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IMap<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIMapView_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIMapView_2_GUID_IInspectable __FIMapView_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIMapView_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IMapView<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <asyncinfo.h>
#include <eventtoken.h>
#include <windowscontracts.h>
#include <windows.foundation.h>
#include <windows.media.core.h>
#include <windows.storage.h>
#include <windows.storage.streams.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties ABI::Windows::Media::MediaProperties::IAudioEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties2 __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties2 ABI::Windows::Media::MediaProperties::IAudioEncodingProperties2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingProperties2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties3_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties3 __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties3 ABI::Windows::Media::MediaProperties::IAudioEncodingProperties3
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingProperties3;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics ABI::Windows::Media::MediaProperties::IAudioEncodingPropertiesStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingPropertiesStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics2 __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesStatics2 ABI::Windows::Media::MediaProperties::IAudioEncodingPropertiesStatics2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingPropertiesStatics2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData ABI::Windows::Media::MediaProperties::IAudioEncodingPropertiesWithFormatUserData
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IAudioEncodingPropertiesWithFormatUserData;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties ABI::Windows::Media::MediaProperties::IContainerEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IContainerEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties2 __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties2 ABI::Windows::Media::MediaProperties::IContainerEncodingProperties2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IContainerEncodingProperties2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile ABI::Windows::Media::MediaProperties::IMediaEncodingProfile
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfile;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile2 __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile2 ABI::Windows::Media::MediaProperties::IMediaEncodingProfile2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfile2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile3_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile3 __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile3 ABI::Windows::Media::MediaProperties::IMediaEncodingProfile3
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfile3;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics ABI::Windows::Media::MediaProperties::IMediaEncodingProfileStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfileStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics2 __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics2 ABI::Windows::Media::MediaProperties::IMediaEncodingProfileStatics2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfileStatics2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics3_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics3 __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileStatics3 ABI::Windows::Media::MediaProperties::IMediaEncodingProfileStatics3
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProfileStatics3;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties ABI::Windows::Media::MediaProperties::IMediaEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio ABI::Windows::Media::MediaProperties::IMediaRatio
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IMediaRatio;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties ABI::Windows::Media::MediaProperties::IVideoEncodingProperties
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties2 __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties2 ABI::Windows::Media::MediaProperties::IVideoEncodingProperties2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties3_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties3 __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties3 ABI::Windows::Media::MediaProperties::IVideoEncodingProperties3
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties3;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties4_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties4_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties4 __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties4;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties4 ABI::Windows::Media::MediaProperties::IVideoEncodingProperties4
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties4;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties5_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties5_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties5 __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties5;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties5 ABI::Windows::Media::MediaProperties::IVideoEncodingProperties5
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingProperties5;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics ABI::Windows::Media::MediaProperties::IVideoEncodingPropertiesStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingPropertiesStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics2 __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesStatics2 ABI::Windows::Media::MediaProperties::IVideoEncodingPropertiesStatics2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                interface IVideoEncodingPropertiesStatics2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIKeyValuePair_2_GUID_IInspectable __FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMap_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIMap_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIMap_2_GUID_IInspectable __FIMap_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIMap_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IMap<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIMapView_2_GUID_IInspectable_FWD_DEFINED__
#define ____FIMapView_2_GUID_IInspectable_FWD_DEFINED__
typedef interface __FIMapView_2_GUID_IInspectable __FIMapView_2_GUID_IInspectable;
#ifdef __cplusplus
#define __FIMapView_2_GUID_IInspectable ABI::Windows::Foundation::Collections::IMapView<GUID,IInspectable* >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IAudioEncodingProperties interface
 */
#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)
#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0xe0000
#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties, 0x62bc7a16, 0x005c, 0x4b3b, 0x8a,0x0b, 0x0a,0x09,0x0e,0x96,0x87,0xf3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("62bc7a16-005c-4b3b-8a0b-0a090e9687f3")
                IAudioEncodingProperties : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE put_Bitrate(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Bitrate(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_ChannelCount(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_ChannelCount(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_SampleRate(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_SampleRate(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_BitsPerSample(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_BitsPerSample(
                        UINT32 *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties, 0x62bc7a16, 0x005c, 0x4b3b, 0x8a,0x0b, 0x0a,0x09,0x0e,0x96,0x87,0xf3)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        TrustLevel *trustLevel);

    /*** IAudioEncodingProperties methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Bitrate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Bitrate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_ChannelCount)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_ChannelCount)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_SampleRate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_SampleRate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_BitsPerSample)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_BitsPerSample)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *This,
        UINT32 *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioEncodingProperties methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_Bitrate(This,value) (This)->lpVtbl->put_Bitrate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_Bitrate(This,value) (This)->lpVtbl->get_Bitrate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_ChannelCount(This,value) (This)->lpVtbl->put_ChannelCount(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_ChannelCount(This,value) (This)->lpVtbl->get_ChannelCount(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_SampleRate(This,value) (This)->lpVtbl->put_SampleRate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_SampleRate(This,value) (This)->lpVtbl->get_SampleRate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_BitsPerSample(This,value) (This)->lpVtbl->put_BitsPerSample(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_BitsPerSample(This,value) (This)->lpVtbl->get_BitsPerSample(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioEncodingProperties methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_Bitrate(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_Bitrate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_Bitrate(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_Bitrate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_ChannelCount(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_ChannelCount(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_ChannelCount(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_ChannelCount(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_SampleRate(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_SampleRate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_SampleRate(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_SampleRate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_BitsPerSample(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_BitsPerSample(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_BitsPerSample(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_BitsPerSample(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IAudioEncodingProperties IID___x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties
#define IAudioEncodingPropertiesVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesVtbl
#define IAudioEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties
#define IAudioEncodingProperties_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_QueryInterface
#define IAudioEncodingProperties_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_AddRef
#define IAudioEncodingProperties_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_Release
#define IAudioEncodingProperties_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetIids
#define IAudioEncodingProperties_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetRuntimeClassName
#define IAudioEncodingProperties_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_GetTrustLevel
#define IAudioEncodingProperties_put_Bitrate __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_Bitrate
#define IAudioEncodingProperties_get_Bitrate __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_Bitrate
#define IAudioEncodingProperties_put_ChannelCount __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_ChannelCount
#define IAudioEncodingProperties_get_ChannelCount __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_ChannelCount
#define IAudioEncodingProperties_put_SampleRate __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_SampleRate
#define IAudioEncodingProperties_get_SampleRate __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_SampleRate
#define IAudioEncodingProperties_put_BitsPerSample __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_put_BitsPerSample
#define IAudioEncodingProperties_get_BitsPerSample __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_get_BitsPerSample
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IContainerEncodingProperties interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties, 0x59ac2a57, 0xb32a, 0x479e, 0x8a,0x61, 0x4b,0x7f,0x2e,0x9e,0x7e,0xa0);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("59ac2a57-b32a-479e-8a61-4b7f2e9e7ea0")
                IContainerEncodingProperties : public IInspectable
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties, 0x59ac2a57, 0xb32a, 0x479e, 0x8a,0x61, 0x4b,0x7f,0x2e,0x9e,0x7e,0xa0)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingPropertiesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *This,
        TrustLevel *trustLevel);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingPropertiesVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingPropertiesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IContainerEncodingProperties IID___x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties
#define IContainerEncodingPropertiesVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingPropertiesVtbl
#define IContainerEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties
#define IContainerEncodingProperties_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_QueryInterface
#define IContainerEncodingProperties_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_AddRef
#define IContainerEncodingProperties_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_Release
#define IContainerEncodingProperties_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetIids
#define IContainerEncodingProperties_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetRuntimeClassName
#define IContainerEncodingProperties_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_GetTrustLevel
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IMediaEncodingProfile interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile, 0xe7dbf5a8, 0x1db9, 0x4783, 0x87,0x6b, 0x3d,0xfe,0x12,0xac,0xfd,0xb3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("e7dbf5a8-1db9-4783-876b-3dfe12acfdb3")
                IMediaEncodingProfile : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE put_Audio(
                        ABI::Windows::Media::MediaProperties::IAudioEncodingProperties *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Audio(
                        ABI::Windows::Media::MediaProperties::IAudioEncodingProperties **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Video(
                        ABI::Windows::Media::MediaProperties::IVideoEncodingProperties *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Video(
                        ABI::Windows::Media::MediaProperties::IVideoEncodingProperties **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Container(
                        ABI::Windows::Media::MediaProperties::IContainerEncodingProperties *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Container(
                        ABI::Windows::Media::MediaProperties::IContainerEncodingProperties **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile, 0xe7dbf5a8, 0x1db9, 0x4783, 0x87,0x6b, 0x3d,0xfe,0x12,0xac,0xfd,0xb3)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        TrustLevel *trustLevel);

    /*** IMediaEncodingProfile methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Audio)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *value);

    HRESULT (STDMETHODCALLTYPE *get_Audio)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties **value);

    HRESULT (STDMETHODCALLTYPE *put_Video)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *value);

    HRESULT (STDMETHODCALLTYPE *get_Video)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties **value);

    HRESULT (STDMETHODCALLTYPE *put_Container)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *value);

    HRESULT (STDMETHODCALLTYPE *get_Container)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties **value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaEncodingProfile methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Audio(This,value) (This)->lpVtbl->put_Audio(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Audio(This,value) (This)->lpVtbl->get_Audio(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Video(This,value) (This)->lpVtbl->put_Video(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Video(This,value) (This)->lpVtbl->get_Video(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Container(This,value) (This)->lpVtbl->put_Container(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Container(This,value) (This)->lpVtbl->get_Container(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaEncodingProfile methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Audio(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties *value) {
    return This->lpVtbl->put_Audio(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Audio(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingProperties **value) {
    return This->lpVtbl->get_Audio(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Video(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *value) {
    return This->lpVtbl->put_Video(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Video(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties **value) {
    return This->lpVtbl->get_Video(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Container(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties *value) {
    return This->lpVtbl->put_Container(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Container(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIContainerEncodingProperties **value) {
    return This->lpVtbl->get_Container(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IMediaEncodingProfile IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile
#define IMediaEncodingProfileVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfileVtbl
#define IMediaEncodingProfile __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile
#define IMediaEncodingProfile_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_QueryInterface
#define IMediaEncodingProfile_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_AddRef
#define IMediaEncodingProfile_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_Release
#define IMediaEncodingProfile_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetIids
#define IMediaEncodingProfile_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetRuntimeClassName
#define IMediaEncodingProfile_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_GetTrustLevel
#define IMediaEncodingProfile_put_Audio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Audio
#define IMediaEncodingProfile_get_Audio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Audio
#define IMediaEncodingProfile_put_Video __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Video
#define IMediaEncodingProfile_get_Video __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Video
#define IMediaEncodingProfile_put_Container __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_put_Container
#define IMediaEncodingProfile_get_Container __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_get_Container
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProfile_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IMediaEncodingProperties interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties, 0xb4002af6, 0xacd4, 0x4e5a, 0xa2,0x4b, 0x5d,0x74,0x98,0xa8,0xb8,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("b4002af6-acd4-4e5a-a24b-5d7498a8b8c4")
                IMediaEncodingProperties : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Properties(
                        ABI::Windows::Foundation::Collections::IMap<GUID,IInspectable* > **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Type(
                        HSTRING *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Subtype(
                        HSTRING value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Subtype(
                        HSTRING *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties, 0xb4002af6, 0xacd4, 0x4e5a, 0xa2,0x4b, 0x5d,0x74,0x98,0xa8,0xb8,0xc4)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingPropertiesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        TrustLevel *trustLevel);

    /*** IMediaEncodingProperties methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Properties)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        __FIMap_2_GUID_IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Type)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *put_Subtype)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        HSTRING value);

    HRESULT (STDMETHODCALLTYPE *get_Subtype)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingPropertiesVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingPropertiesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaEncodingProperties methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Properties(This,value) (This)->lpVtbl->get_Properties(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Type(This,value) (This)->lpVtbl->get_Type(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_put_Subtype(This,value) (This)->lpVtbl->put_Subtype(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Subtype(This,value) (This)->lpVtbl->get_Subtype(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaEncodingProperties methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Properties(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,__FIMap_2_GUID_IInspectable **value) {
    return This->lpVtbl->get_Properties(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Type(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,HSTRING *value) {
    return This->lpVtbl->get_Type(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_put_Subtype(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,HSTRING value) {
    return This->lpVtbl->put_Subtype(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Subtype(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties* This,HSTRING *value) {
    return This->lpVtbl->get_Subtype(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IMediaEncodingProperties IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties
#define IMediaEncodingPropertiesVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingPropertiesVtbl
#define IMediaEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties
#define IMediaEncodingProperties_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_QueryInterface
#define IMediaEncodingProperties_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_AddRef
#define IMediaEncodingProperties_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_Release
#define IMediaEncodingProperties_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetIids
#define IMediaEncodingProperties_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetRuntimeClassName
#define IMediaEncodingProperties_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_GetTrustLevel
#define IMediaEncodingProperties_get_Properties __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Properties
#define IMediaEncodingProperties_get_Type __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Type
#define IMediaEncodingProperties_put_Subtype __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_put_Subtype
#define IMediaEncodingProperties_get_Subtype __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_get_Subtype
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaEncodingProperties_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAudioEncodingPropertiesWithFormatUserData interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData, 0x98f10d79, 0x13ea, 0x49ff, 0xbe,0x70, 0x26,0x73,0xdb,0x69,0x70,0x2c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("98f10d79-13ea-49ff-be70-2673db69702c")
                IAudioEncodingPropertiesWithFormatUserData : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE SetFormatUserData(
                        UINT32 __value_size,
                        BYTE *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE GetFormatUserData(
                        UINT32 *__value_size,
                        BYTE **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData, 0x98f10d79, 0x13ea, 0x49ff, 0xbe,0x70, 0x26,0x73,0xdb,0x69,0x70,0x2c)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserDataVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        TrustLevel *trustLevel);

    /*** IAudioEncodingPropertiesWithFormatUserData methods ***/
    HRESULT (STDMETHODCALLTYPE *SetFormatUserData)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        UINT32 __value_size,
        BYTE *value);

    HRESULT (STDMETHODCALLTYPE *GetFormatUserData)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData *This,
        UINT32 *__value_size,
        BYTE **value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserDataVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserDataVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAudioEncodingPropertiesWithFormatUserData methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_SetFormatUserData(This,__value_size,value) (This)->lpVtbl->SetFormatUserData(This,__value_size,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetFormatUserData(This,__value_size,value) (This)->lpVtbl->GetFormatUserData(This,__value_size,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAudioEncodingPropertiesWithFormatUserData methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_SetFormatUserData(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,UINT32 __value_size,BYTE *value) {
    return This->lpVtbl->SetFormatUserData(This,__value_size,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetFormatUserData(__x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData* This,UINT32 *__value_size,BYTE **value) {
    return This->lpVtbl->GetFormatUserData(This,__value_size,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IAudioEncodingPropertiesWithFormatUserData IID___x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData
#define IAudioEncodingPropertiesWithFormatUserDataVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserDataVtbl
#define IAudioEncodingPropertiesWithFormatUserData __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData
#define IAudioEncodingPropertiesWithFormatUserData_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_QueryInterface
#define IAudioEncodingPropertiesWithFormatUserData_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_AddRef
#define IAudioEncodingPropertiesWithFormatUserData_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_Release
#define IAudioEncodingPropertiesWithFormatUserData_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetIids
#define IAudioEncodingPropertiesWithFormatUserData_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetRuntimeClassName
#define IAudioEncodingPropertiesWithFormatUserData_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetTrustLevel
#define IAudioEncodingPropertiesWithFormatUserData_SetFormatUserData __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_SetFormatUserData
#define IAudioEncodingPropertiesWithFormatUserData_GetFormatUserData __x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_GetFormatUserData
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIAudioEncodingPropertiesWithFormatUserData_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IMediaRatio interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio, 0xd2d0fee5, 0x8929, 0x401d, 0xac,0x78, 0x7d,0x35,0x7e,0x37,0x81,0x63);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("d2d0fee5-8929-401d-ac78-7d357e378163")
                IMediaRatio : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE put_Numerator(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Numerator(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Denominator(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Denominator(
                        UINT32 *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio, 0xd2d0fee5, 0x8929, 0x401d, 0xac,0x78, 0x7d,0x35,0x7e,0x37,0x81,0x63)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatioVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        TrustLevel *trustLevel);

    /*** IMediaRatio methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Numerator)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Numerator)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_Denominator)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Denominator)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio *This,
        UINT32 *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatioVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatioVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaRatio methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Numerator(This,value) (This)->lpVtbl->put_Numerator(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Numerator(This,value) (This)->lpVtbl->get_Numerator(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Denominator(This,value) (This)->lpVtbl->put_Denominator(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Denominator(This,value) (This)->lpVtbl->get_Denominator(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaRatio methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Numerator(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,UINT32 value) {
    return This->lpVtbl->put_Numerator(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Numerator(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,UINT32 *value) {
    return This->lpVtbl->get_Numerator(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Denominator(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,UINT32 value) {
    return This->lpVtbl->put_Denominator(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Denominator(__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio* This,UINT32 *value) {
    return This->lpVtbl->get_Denominator(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IMediaRatio IID___x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio
#define IMediaRatioVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatioVtbl
#define IMediaRatio __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio
#define IMediaRatio_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_QueryInterface
#define IMediaRatio_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_AddRef
#define IMediaRatio_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_Release
#define IMediaRatio_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetIids
#define IMediaRatio_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetRuntimeClassName
#define IMediaRatio_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_GetTrustLevel
#define IMediaRatio_put_Numerator __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Numerator
#define IMediaRatio_get_Numerator __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Numerator
#define IMediaRatio_put_Denominator __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_put_Denominator
#define IMediaRatio_get_Denominator __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_get_Denominator
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IVideoEncodingProperties interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties, 0x76ee6c9a, 0x37c2, 0x4f2a, 0x88,0x0a, 0x12,0x82,0xbb,0xb4,0x37,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace MediaProperties {
                MIDL_INTERFACE("76ee6c9a-37c2-4f2a-880a-1282bbb4373d")
                IVideoEncodingProperties : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE put_Bitrate(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Bitrate(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Width(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Width(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Height(
                        UINT32 value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Height(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_FrameRate(
                        ABI::Windows::Media::MediaProperties::IMediaRatio **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_PixelAspectRatio(
                        ABI::Windows::Media::MediaProperties::IMediaRatio **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties, 0x76ee6c9a, 0x37c2, 0x4f2a, 0x88,0x0a, 0x12,0x82,0xbb,0xb4,0x37,0x3d)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        TrustLevel *trustLevel);

    /*** IVideoEncodingProperties methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Bitrate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Bitrate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_Width)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Width)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *put_Height)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 value);

    HRESULT (STDMETHODCALLTYPE *get_Height)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *get_FrameRate)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio **value);

    HRESULT (STDMETHODCALLTYPE *get_PixelAspectRatio)(
        __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties *This,
        __x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio **value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesVtbl;

interface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties {
    CONST_VTBL __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVideoEncodingProperties methods ***/
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Bitrate(This,value) (This)->lpVtbl->put_Bitrate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Bitrate(This,value) (This)->lpVtbl->get_Bitrate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Width(This,value) (This)->lpVtbl->put_Width(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Width(This,value) (This)->lpVtbl->get_Width(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Height(This,value) (This)->lpVtbl->put_Height(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Height(This,value) (This)->lpVtbl->get_Height(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_FrameRate(This,value) (This)->lpVtbl->get_FrameRate(This,value)
#define __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_PixelAspectRatio(This,value) (This)->lpVtbl->get_PixelAspectRatio(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_QueryInterface(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_AddRef(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_Release(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetIids(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetTrustLevel(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVideoEncodingProperties methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Bitrate(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_Bitrate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Bitrate(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_Bitrate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Width(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_Width(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Width(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_Width(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Height(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 value) {
    return This->lpVtbl->put_Height(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Height(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,UINT32 *value) {
    return This->lpVtbl->get_Height(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_FrameRate(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio **value) {
    return This->lpVtbl->get_FrameRate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_PixelAspectRatio(__x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties* This,__x_ABI_CWindows_CMedia_CMediaProperties_CIMediaRatio **value) {
    return This->lpVtbl->get_PixelAspectRatio(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_MediaProperties
#define IID_IVideoEncodingProperties IID___x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties
#define IVideoEncodingPropertiesVtbl __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingPropertiesVtbl
#define IVideoEncodingProperties __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties
#define IVideoEncodingProperties_QueryInterface __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_QueryInterface
#define IVideoEncodingProperties_AddRef __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_AddRef
#define IVideoEncodingProperties_Release __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_Release
#define IVideoEncodingProperties_GetIids __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetIids
#define IVideoEncodingProperties_GetRuntimeClassName __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetRuntimeClassName
#define IVideoEncodingProperties_GetTrustLevel __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_GetTrustLevel
#define IVideoEncodingProperties_put_Bitrate __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Bitrate
#define IVideoEncodingProperties_get_Bitrate __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Bitrate
#define IVideoEncodingProperties_put_Width __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Width
#define IVideoEncodingProperties_get_Width __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Width
#define IVideoEncodingProperties_put_Height __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_put_Height
#define IVideoEncodingProperties_get_Height __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_Height
#define IVideoEncodingProperties_get_FrameRate __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_FrameRate
#define IVideoEncodingProperties_get_PixelAspectRatio __x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_get_PixelAspectRatio
#endif /* WIDL_using_Windows_Media_MediaProperties */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CMedia_CMediaProperties_CIVideoEncodingProperties_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.AudioEncodingProperties
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_AudioEncodingProperties_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_AudioEncodingProperties_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_AudioEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','A','u','d','i','o','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_AudioEncodingProperties[] = L"Windows.Media.MediaProperties.AudioEncodingProperties";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_AudioEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','A','u','d','i','o','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_AudioEncodingProperties_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.ContainerEncodingProperties
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_ContainerEncodingProperties_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_ContainerEncodingProperties_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_ContainerEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','C','o','n','t','a','i','n','e','r','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_ContainerEncodingProperties[] = L"Windows.Media.MediaProperties.ContainerEncodingProperties";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_ContainerEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','C','o','n','t','a','i','n','e','r','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_ContainerEncodingProperties_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.MediaEncodingProfile
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_MediaEncodingProfile_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_MediaEncodingProfile_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaEncodingProfile[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','E','n','c','o','d','i','n','g','P','r','o','f','i','l','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaEncodingProfile[] = L"Windows.Media.MediaProperties.MediaEncodingProfile";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaEncodingProfile[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','E','n','c','o','d','i','n','g','P','r','o','f','i','l','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_MediaEncodingProfile_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.MediaPropertySet
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_MediaPropertySet_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_MediaPropertySet_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaPropertySet[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','P','r','o','p','e','r','t','y','S','e','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaPropertySet[] = L"Windows.Media.MediaProperties.MediaPropertySet";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaPropertySet[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','P','r','o','p','e','r','t','y','S','e','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_MediaPropertySet_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.MediaRatio
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_MediaRatio_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_MediaRatio_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaRatio[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','R','a','t','i','o',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaRatio[] = L"Windows.Media.MediaProperties.MediaRatio";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_MediaRatio[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','M','e','d','i','a','R','a','t','i','o',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_MediaRatio_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.MediaProperties.VideoEncodingProperties
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_MediaProperties_VideoEncodingProperties_DEFINED
#define RUNTIMECLASS_Windows_Media_MediaProperties_VideoEncodingProperties_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_MediaProperties_VideoEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','V','i','d','e','o','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_VideoEncodingProperties[] = L"Windows.Media.MediaProperties.VideoEncodingProperties";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_MediaProperties_VideoEncodingProperties[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','M','e','d','i','a','P','r','o','p','e','r','t','i','e','s','.','V','i','d','e','o','E','n','c','o','d','i','n','g','P','r','o','p','e','r','t','i','e','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_MediaProperties_VideoEncodingProperties_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IKeyValuePair<GUID,IInspectable* > interface
 */
#ifndef ____FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__
#define ____FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIKeyValuePair_2_GUID_IInspectable, 0x3bda1540, 0xd089, 0x5a1a, 0x8f,0x0d, 0x94,0xeb,0xa8,0x06,0x8e,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("3bda1540-d089-5a1a-8f0d-94eba8068e58")
                IKeyValuePair<GUID,IInspectable* > : IKeyValuePair_impl<GUID, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIKeyValuePair_2_GUID_IInspectable, 0x3bda1540, 0xd089, 0x5a1a, 0x8f,0x0d, 0x94,0xeb,0xa8,0x06,0x8e,0x58)
#endif
#else
typedef struct __FIKeyValuePair_2_GUID_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIKeyValuePair_2_GUID_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIKeyValuePair_2_GUID_IInspectable *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        TrustLevel *trustLevel);

    /*** IKeyValuePair<GUID,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Key)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        GUID *key);

    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIKeyValuePair_2_GUID_IInspectable *This,
        IInspectable **value);

    END_INTERFACE
} __FIKeyValuePair_2_GUID_IInspectableVtbl;

interface __FIKeyValuePair_2_GUID_IInspectable {
    CONST_VTBL __FIKeyValuePair_2_GUID_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIKeyValuePair_2_GUID_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIKeyValuePair_2_GUID_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIKeyValuePair_2_GUID_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIKeyValuePair_2_GUID_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyValuePair<GUID,IInspectable* > methods ***/
#define __FIKeyValuePair_2_GUID_IInspectable_get_Key(This,key) (This)->lpVtbl->get_Key(This,key)
#define __FIKeyValuePair_2_GUID_IInspectable_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_QueryInterface(__FIKeyValuePair_2_GUID_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIKeyValuePair_2_GUID_IInspectable_AddRef(__FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIKeyValuePair_2_GUID_IInspectable_Release(__FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_GetIids(__FIKeyValuePair_2_GUID_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(__FIKeyValuePair_2_GUID_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(__FIKeyValuePair_2_GUID_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyValuePair<GUID,IInspectable* > methods ***/
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_get_Key(__FIKeyValuePair_2_GUID_IInspectable* This,GUID *key) {
    return This->lpVtbl->get_Key(This,key);
}
static inline HRESULT __FIKeyValuePair_2_GUID_IInspectable_get_Value(__FIKeyValuePair_2_GUID_IInspectable* This,IInspectable **value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IKeyValuePair_GUID_IInspectable IID___FIKeyValuePair_2_GUID_IInspectable
#define IKeyValuePair_GUID_IInspectableVtbl __FIKeyValuePair_2_GUID_IInspectableVtbl
#define IKeyValuePair_GUID_IInspectable __FIKeyValuePair_2_GUID_IInspectable
#define IKeyValuePair_GUID_IInspectable_QueryInterface __FIKeyValuePair_2_GUID_IInspectable_QueryInterface
#define IKeyValuePair_GUID_IInspectable_AddRef __FIKeyValuePair_2_GUID_IInspectable_AddRef
#define IKeyValuePair_GUID_IInspectable_Release __FIKeyValuePair_2_GUID_IInspectable_Release
#define IKeyValuePair_GUID_IInspectable_GetIids __FIKeyValuePair_2_GUID_IInspectable_GetIids
#define IKeyValuePair_GUID_IInspectable_GetRuntimeClassName __FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName
#define IKeyValuePair_GUID_IInspectable_GetTrustLevel __FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel
#define IKeyValuePair_GUID_IInspectable_get_Key __FIKeyValuePair_2_GUID_IInspectable_get_Key
#define IKeyValuePair_GUID_IInspectable_get_Value __FIKeyValuePair_2_GUID_IInspectable_get_Value
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > interface
 */
#ifndef ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1___FIKeyValuePair_2_GUID_IInspectable, 0xf3b20528, 0xe3b3, 0x5331, 0xb2,0xd0, 0x0c,0x26,0x23,0xae,0xe7,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("f3b20528-e3b3-5331-b2d0-0c2623aee785")
                IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > : IIterable_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable, 0xf3b20528, 0xe3b3, 0x5331, 0xb2,0xd0, 0x0c,0x26,0x23,0xae,0xe7,0x85)
#endif
#else
typedef struct __FIIterable_1___FIKeyValuePair_2_GUID_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This,
        TrustLevel *trustLevel);

    /*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable *This,
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable **value);

    END_INTERFACE
} __FIIterable_1___FIKeyValuePair_2_GUID_IInspectableVtbl;

interface __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable {
    CONST_VTBL __FIIterable_1___FIKeyValuePair_2_GUID_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
#define __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_AddRef(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_Release(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetIids(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
static inline HRESULT __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_First(__FIIterable_1___FIKeyValuePair_2_GUID_IInspectable* This,__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_IKeyValuePair_GUID_IInspectable IID___FIIterable_1___FIKeyValuePair_2_GUID_IInspectable
#define IIterable_IKeyValuePair_GUID_IInspectableVtbl __FIIterable_1___FIKeyValuePair_2_GUID_IInspectableVtbl
#define IIterable_IKeyValuePair_GUID_IInspectable __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable
#define IIterable_IKeyValuePair_GUID_IInspectable_QueryInterface __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface
#define IIterable_IKeyValuePair_GUID_IInspectable_AddRef __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_AddRef
#define IIterable_IKeyValuePair_GUID_IInspectable_Release __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_Release
#define IIterable_IKeyValuePair_GUID_IInspectable_GetIids __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetIids
#define IIterable_IKeyValuePair_GUID_IInspectable_GetRuntimeClassName __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName
#define IIterable_IKeyValuePair_GUID_IInspectable_GetTrustLevel __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel
#define IIterable_IKeyValuePair_GUID_IInspectable_First __FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > interface
 */
#ifndef ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1___FIKeyValuePair_2_GUID_IInspectable, 0x4f25059a, 0x0b9a, 0x5f25, 0x9b,0x9e, 0x4b,0x9f,0x1d,0x22,0xff,0x65);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("4f25059a-0b9a-5f25-9b9e-4b9f1d22ff65")
                IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > : IIterator_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable, 0x4f25059a, 0x0b9a, 0x5f25, 0x9b,0x9e, 0x4b,0x9f,0x1d,0x22,0xff,0x65)
#endif
#else
typedef struct __FIIterator_1___FIKeyValuePair_2_GUID_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        TrustLevel *trustLevel);

    /*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        __FIKeyValuePair_2_GUID_IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable *This,
        UINT32 items_size,
        __FIKeyValuePair_2_GUID_IInspectable **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1___FIKeyValuePair_2_GUID_IInspectableVtbl;

interface __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable {
    CONST_VTBL __FIIterator_1___FIKeyValuePair_2_GUID_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_AddRef(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_Release(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetIids(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<GUID,IInspectable* >* > methods ***/
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_Current(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,__FIKeyValuePair_2_GUID_IInspectable **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_HasCurrent(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_MoveNext(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetMany(__FIIterator_1___FIKeyValuePair_2_GUID_IInspectable* This,UINT32 items_size,__FIKeyValuePair_2_GUID_IInspectable **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_IKeyValuePair_GUID_IInspectable IID___FIIterator_1___FIKeyValuePair_2_GUID_IInspectable
#define IIterator_IKeyValuePair_GUID_IInspectableVtbl __FIIterator_1___FIKeyValuePair_2_GUID_IInspectableVtbl
#define IIterator_IKeyValuePair_GUID_IInspectable __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable
#define IIterator_IKeyValuePair_GUID_IInspectable_QueryInterface __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_QueryInterface
#define IIterator_IKeyValuePair_GUID_IInspectable_AddRef __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_AddRef
#define IIterator_IKeyValuePair_GUID_IInspectable_Release __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_Release
#define IIterator_IKeyValuePair_GUID_IInspectable_GetIids __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetIids
#define IIterator_IKeyValuePair_GUID_IInspectable_GetRuntimeClassName __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetRuntimeClassName
#define IIterator_IKeyValuePair_GUID_IInspectable_GetTrustLevel __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetTrustLevel
#define IIterator_IKeyValuePair_GUID_IInspectable_get_Current __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_Current
#define IIterator_IKeyValuePair_GUID_IInspectable_get_HasCurrent __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_get_HasCurrent
#define IIterator_IKeyValuePair_GUID_IInspectable_MoveNext __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_MoveNext
#define IIterator_IKeyValuePair_GUID_IInspectable_GetMany __FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1___FIKeyValuePair_2_GUID_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMap<GUID,IInspectable* > interface
 */
#ifndef ____FIMap_2_GUID_IInspectable_INTERFACE_DEFINED__
#define ____FIMap_2_GUID_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMap_2_GUID_IInspectable, 0x5ee3189c, 0x7dbf, 0x5998, 0xad,0x07, 0x54,0x14,0xfb,0x82,0x56,0x7c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("5ee3189c-7dbf-5998-ad07-5414fb82567c")
                IMap<GUID,IInspectable* > : IMap_impl<GUID, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMap_2_GUID_IInspectable, 0x5ee3189c, 0x7dbf, 0x5998, 0xad,0x07, 0x54,0x14,0xfb,0x82,0x56,0x7c)
#endif
#else
typedef struct __FIMap_2_GUID_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIMap_2_GUID_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIMap_2_GUID_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIMap_2_GUID_IInspectable *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIMap_2_GUID_IInspectable *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIMap_2_GUID_IInspectable *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIMap_2_GUID_IInspectable *This,
        TrustLevel *trustLevel);

    /*** IMap<GUID,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Lookup)(
        __FIMap_2_GUID_IInspectable *This,
        GUID key,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIMap_2_GUID_IInspectable *This,
        unsigned int *size);

    HRESULT (STDMETHODCALLTYPE *HasKey)(
        __FIMap_2_GUID_IInspectable *This,
        GUID key,
        boolean *found);

    HRESULT (STDMETHODCALLTYPE *GetView)(
        __FIMap_2_GUID_IInspectable *This,
        __FIMapView_2_GUID_IInspectable **view);

    HRESULT (STDMETHODCALLTYPE *Insert)(
        __FIMap_2_GUID_IInspectable *This,
        GUID key,
        IInspectable *value,
        boolean *replaced);

    HRESULT (STDMETHODCALLTYPE *Remove)(
        __FIMap_2_GUID_IInspectable *This,
        GUID key);

    HRESULT (STDMETHODCALLTYPE *Clear)(
        __FIMap_2_GUID_IInspectable *This);

    END_INTERFACE
} __FIMap_2_GUID_IInspectableVtbl;

interface __FIMap_2_GUID_IInspectable {
    CONST_VTBL __FIMap_2_GUID_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMap_2_GUID_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMap_2_GUID_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMap_2_GUID_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMap_2_GUID_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMap_2_GUID_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMap_2_GUID_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMap<GUID,IInspectable* > methods ***/
#define __FIMap_2_GUID_IInspectable_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMap_2_GUID_IInspectable_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMap_2_GUID_IInspectable_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMap_2_GUID_IInspectable_GetView(This,view) (This)->lpVtbl->GetView(This,view)
#define __FIMap_2_GUID_IInspectable_Insert(This,key,value,replaced) (This)->lpVtbl->Insert(This,key,value,replaced)
#define __FIMap_2_GUID_IInspectable_Remove(This,key) (This)->lpVtbl->Remove(This,key)
#define __FIMap_2_GUID_IInspectable_Clear(This) (This)->lpVtbl->Clear(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIMap_2_GUID_IInspectable_QueryInterface(__FIMap_2_GUID_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIMap_2_GUID_IInspectable_AddRef(__FIMap_2_GUID_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIMap_2_GUID_IInspectable_Release(__FIMap_2_GUID_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIMap_2_GUID_IInspectable_GetIids(__FIMap_2_GUID_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_GetRuntimeClassName(__FIMap_2_GUID_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_GetTrustLevel(__FIMap_2_GUID_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMap<GUID,IInspectable* > methods ***/
static inline HRESULT __FIMap_2_GUID_IInspectable_Lookup(__FIMap_2_GUID_IInspectable* This,GUID key,IInspectable **value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_get_Size(__FIMap_2_GUID_IInspectable* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_HasKey(__FIMap_2_GUID_IInspectable* This,GUID key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_GetView(__FIMap_2_GUID_IInspectable* This,__FIMapView_2_GUID_IInspectable **view) {
    return This->lpVtbl->GetView(This,view);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_Insert(__FIMap_2_GUID_IInspectable* This,GUID key,IInspectable *value,boolean *replaced) {
    return This->lpVtbl->Insert(This,key,value,replaced);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_Remove(__FIMap_2_GUID_IInspectable* This,GUID key) {
    return This->lpVtbl->Remove(This,key);
}
static inline HRESULT __FIMap_2_GUID_IInspectable_Clear(__FIMap_2_GUID_IInspectable* This) {
    return This->lpVtbl->Clear(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMap_GUID_IInspectable IID___FIMap_2_GUID_IInspectable
#define IMap_GUID_IInspectableVtbl __FIMap_2_GUID_IInspectableVtbl
#define IMap_GUID_IInspectable __FIMap_2_GUID_IInspectable
#define IMap_GUID_IInspectable_QueryInterface __FIMap_2_GUID_IInspectable_QueryInterface
#define IMap_GUID_IInspectable_AddRef __FIMap_2_GUID_IInspectable_AddRef
#define IMap_GUID_IInspectable_Release __FIMap_2_GUID_IInspectable_Release
#define IMap_GUID_IInspectable_GetIids __FIMap_2_GUID_IInspectable_GetIids
#define IMap_GUID_IInspectable_GetRuntimeClassName __FIMap_2_GUID_IInspectable_GetRuntimeClassName
#define IMap_GUID_IInspectable_GetTrustLevel __FIMap_2_GUID_IInspectable_GetTrustLevel
#define IMap_GUID_IInspectable_Lookup __FIMap_2_GUID_IInspectable_Lookup
#define IMap_GUID_IInspectable_get_Size __FIMap_2_GUID_IInspectable_get_Size
#define IMap_GUID_IInspectable_HasKey __FIMap_2_GUID_IInspectable_HasKey
#define IMap_GUID_IInspectable_GetView __FIMap_2_GUID_IInspectable_GetView
#define IMap_GUID_IInspectable_Insert __FIMap_2_GUID_IInspectable_Insert
#define IMap_GUID_IInspectable_Remove __FIMap_2_GUID_IInspectable_Remove
#define IMap_GUID_IInspectable_Clear __FIMap_2_GUID_IInspectable_Clear
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMap_2_GUID_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IMapView<GUID,IInspectable* > interface
 */
#ifndef ____FIMapView_2_GUID_IInspectable_INTERFACE_DEFINED__
#define ____FIMapView_2_GUID_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIMapView_2_GUID_IInspectable, 0xe4d2c732, 0xbbc1, 0x5ef4, 0x86,0x9f, 0x50,0x07,0xce,0xb5,0x5f,0x6e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("e4d2c732-bbc1-5ef4-869f-5007ceb55f6e")
                IMapView<GUID,IInspectable* > : IMapView_impl<GUID, IInspectable* >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIMapView_2_GUID_IInspectable, 0xe4d2c732, 0xbbc1, 0x5ef4, 0x86,0x9f, 0x50,0x07,0xce,0xb5,0x5f,0x6e)
#endif
#else
typedef struct __FIMapView_2_GUID_IInspectableVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIMapView_2_GUID_IInspectable *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIMapView_2_GUID_IInspectable *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIMapView_2_GUID_IInspectable *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIMapView_2_GUID_IInspectable *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIMapView_2_GUID_IInspectable *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIMapView_2_GUID_IInspectable *This,
        TrustLevel *trustLevel);

    /*** IMapView<GUID,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Lookup)(
        __FIMapView_2_GUID_IInspectable *This,
        GUID key,
        IInspectable **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIMapView_2_GUID_IInspectable *This,
        unsigned int *size);

    HRESULT (STDMETHODCALLTYPE *HasKey)(
        __FIMapView_2_GUID_IInspectable *This,
        GUID key,
        boolean *found);

    HRESULT (STDMETHODCALLTYPE *Split)(
        __FIMapView_2_GUID_IInspectable *This,
        __FIMapView_2_GUID_IInspectable **first,
        __FIMapView_2_GUID_IInspectable **second);

    END_INTERFACE
} __FIMapView_2_GUID_IInspectableVtbl;

interface __FIMapView_2_GUID_IInspectable {
    CONST_VTBL __FIMapView_2_GUID_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIMapView_2_GUID_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIMapView_2_GUID_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIMapView_2_GUID_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIMapView_2_GUID_IInspectable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIMapView_2_GUID_IInspectable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIMapView_2_GUID_IInspectable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMapView<GUID,IInspectable* > methods ***/
#define __FIMapView_2_GUID_IInspectable_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
#define __FIMapView_2_GUID_IInspectable_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
#define __FIMapView_2_GUID_IInspectable_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
#define __FIMapView_2_GUID_IInspectable_Split(This,first,second) (This)->lpVtbl->Split(This,first,second)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIMapView_2_GUID_IInspectable_QueryInterface(__FIMapView_2_GUID_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIMapView_2_GUID_IInspectable_AddRef(__FIMapView_2_GUID_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIMapView_2_GUID_IInspectable_Release(__FIMapView_2_GUID_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIMapView_2_GUID_IInspectable_GetIids(__FIMapView_2_GUID_IInspectable* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIMapView_2_GUID_IInspectable_GetRuntimeClassName(__FIMapView_2_GUID_IInspectable* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIMapView_2_GUID_IInspectable_GetTrustLevel(__FIMapView_2_GUID_IInspectable* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMapView<GUID,IInspectable* > methods ***/
static inline HRESULT __FIMapView_2_GUID_IInspectable_Lookup(__FIMapView_2_GUID_IInspectable* This,GUID key,IInspectable **value) {
    return This->lpVtbl->Lookup(This,key,value);
}
static inline HRESULT __FIMapView_2_GUID_IInspectable_get_Size(__FIMapView_2_GUID_IInspectable* This,unsigned int *size) {
    return This->lpVtbl->get_Size(This,size);
}
static inline HRESULT __FIMapView_2_GUID_IInspectable_HasKey(__FIMapView_2_GUID_IInspectable* This,GUID key,boolean *found) {
    return This->lpVtbl->HasKey(This,key,found);
}
static inline HRESULT __FIMapView_2_GUID_IInspectable_Split(__FIMapView_2_GUID_IInspectable* This,__FIMapView_2_GUID_IInspectable **first,__FIMapView_2_GUID_IInspectable **second) {
    return This->lpVtbl->Split(This,first,second);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IMapView_GUID_IInspectable IID___FIMapView_2_GUID_IInspectable
#define IMapView_GUID_IInspectableVtbl __FIMapView_2_GUID_IInspectableVtbl
#define IMapView_GUID_IInspectable __FIMapView_2_GUID_IInspectable
#define IMapView_GUID_IInspectable_QueryInterface __FIMapView_2_GUID_IInspectable_QueryInterface
#define IMapView_GUID_IInspectable_AddRef __FIMapView_2_GUID_IInspectable_AddRef
#define IMapView_GUID_IInspectable_Release __FIMapView_2_GUID_IInspectable_Release
#define IMapView_GUID_IInspectable_GetIids __FIMapView_2_GUID_IInspectable_GetIids
#define IMapView_GUID_IInspectable_GetRuntimeClassName __FIMapView_2_GUID_IInspectable_GetRuntimeClassName
#define IMapView_GUID_IInspectable_GetTrustLevel __FIMapView_2_GUID_IInspectable_GetTrustLevel
#define IMapView_GUID_IInspectable_Lookup __FIMapView_2_GUID_IInspectable_Lookup
#define IMapView_GUID_IInspectable_get_Size __FIMapView_2_GUID_IInspectable_get_Size
#define IMapView_GUID_IInspectable_HasKey __FIMapView_2_GUID_IInspectable_HasKey
#define IMapView_GUID_IInspectable_Split __FIMapView_2_GUID_IInspectable_Split
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIMapView_2_GUID_IInspectable_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_media_mediaproperties_h__ */
