/*** Autogenerated by WIDL 11.0 from ../wine-11.0/include/windows.media.playback.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_playback_h__
#define __windows_media_playback_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IBackgroundMediaPlayerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer ABI::Windows::Media::Playback::IMediaPlayer
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayer;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 ABI::Windows::Media::Playback::IMediaPlayer2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayer2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs ABI::Windows::Media::Playback::IMediaPlayerDataReceivedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerDataReceivedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs ABI::Windows::Media::Playback::IMediaPlayerFailedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerFailedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs ABI::Windows::Media::Playback::IMediaPlayerRateChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerRateChangedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker ABI::Windows::Media::Playback::IPlaybackMediaMarker
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarker;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory ABI::Windows::Media::Playback::IPlaybackMediaMarkerFactory
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerFactory;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs ABI::Windows::Media::Playback::IPlaybackMediaMarkerReachedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerReachedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence ABI::Windows::Media::Playback::IPlaybackMediaMarkerSequence
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerSequence;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CBackgroundMediaPlayer_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CBackgroundMediaPlayer_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class BackgroundMediaPlayer;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CBackgroundMediaPlayer __x_ABI_CWindows_CMedia_CPlayback_CBackgroundMediaPlayer;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CBackgroundMediaPlayer_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayer_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayer_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class MediaPlayer;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayer __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayer;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayer_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class MediaPlayerDataReceivedEventArgs;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerDataReceivedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerDataReceivedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerDataReceivedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerFailedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerFailedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class MediaPlayerFailedEventArgs;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerFailedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerFailedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerFailedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerRateChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerRateChangedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class MediaPlayerRateChangedEventArgs;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerRateChangedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerRateChangedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerRateChangedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarker_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarker_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class PlaybackMediaMarker;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarker __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarker;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarker_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerSequence_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerSequence_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class PlaybackMediaMarkerSequence;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerSequence __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerSequence;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerSequence_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                class PlaybackMediaMarkerReachedEventArgs;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerReachedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerReachedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CMedia_CPlayback_CPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__ */

#ifndef ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* >
#endif /* __cplusplus */
#endif

#ifndef ____FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
#define ____FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
typedef interface __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs;
#ifdef __cplusplus
#define __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs ABI::Windows::Foundation::IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* >
#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.devices.enumeration.h>
#include <windows.foundation.numerics.h>
#include <windows.graphics.directx.direct3d11.h>
#include <windows.media.h>
#include <windows.media.core.h>
#include <windows.media.mediaproperties.h>
#include <windows.storage.h>
#include <windows.storage.streams.h>
#include <windows.ui.composition.h>

#ifdef __cplusplus
extern "C" {
#endif

#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_CPlayback_CMediaPlayerAudioCategory_ENUM_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                enum MediaPlayerAudioCategory {
                    MediaPlayerAudioCategory_Other = 0,
                    MediaPlayerAudioCategory_Communications = 3,
                    MediaPlayerAudioCategory_Alerts = 4,
                    MediaPlayerAudioCategory_SoundEffects = 5,
                    MediaPlayerAudioCategory_GameEffects = 6,
                    MediaPlayerAudioCategory_GameMedia = 7,
                    MediaPlayerAudioCategory_GameChat = 8,
                    MediaPlayerAudioCategory_Speech = 9,
                    MediaPlayerAudioCategory_Movie = 10,
                    MediaPlayerAudioCategory_Media = 11
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory {
    MediaPlayerAudioCategory_Other = 0,
    MediaPlayerAudioCategory_Communications = 3,
    MediaPlayerAudioCategory_Alerts = 4,
    MediaPlayerAudioCategory_SoundEffects = 5,
    MediaPlayerAudioCategory_GameEffects = 6,
    MediaPlayerAudioCategory_GameMedia = 7,
    MediaPlayerAudioCategory_GameChat = 8,
    MediaPlayerAudioCategory_Speech = 9,
    MediaPlayerAudioCategory_Movie = 10,
    MediaPlayerAudioCategory_Media = 11
};
#ifdef WIDL_using_Windows_Media_Playback
#define MediaPlayerAudioCategory __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif /* ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType_ENUM_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                enum MediaPlayerAudioDeviceType {
                    MediaPlayerAudioDeviceType_Console = 0,
                    MediaPlayerAudioDeviceType_Multimedia = 1,
                    MediaPlayerAudioDeviceType_Communications = 2
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType {
    MediaPlayerAudioDeviceType_Console = 0,
    MediaPlayerAudioDeviceType_Multimedia = 1,
    MediaPlayerAudioDeviceType_Communications = 2
};
#ifdef WIDL_using_Windows_Media_Playback
#define MediaPlayerAudioDeviceType __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif /* ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError_ENUM_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                enum MediaPlayerError {
                    MediaPlayerError_Unknown = 0,
                    MediaPlayerError_Aborted = 1,
                    MediaPlayerError_NetworkError = 2,
                    MediaPlayerError_DecodingError = 3,
                    MediaPlayerError_SourceNotSupported = 4
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError {
    MediaPlayerError_Unknown = 0,
    MediaPlayerError_Aborted = 1,
    MediaPlayerError_NetworkError = 2,
    MediaPlayerError_DecodingError = 3,
    MediaPlayerError_SourceNotSupported = 4
};
#ifdef WIDL_using_Windows_Media_Playback
#define MediaPlayerError __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif /* ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState_ENUM_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                enum MediaPlayerState {
                    MediaPlayerState_Closed = 0,
                    MediaPlayerState_Opening = 1,
                    MediaPlayerState_Buffering = 2,
                    MediaPlayerState_Playing = 3,
                    MediaPlayerState_Paused = 4,
                    MediaPlayerState_Stopped = 5
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState {
    MediaPlayerState_Closed = 0,
    MediaPlayerState_Opening = 1,
    MediaPlayerState_Buffering = 2,
    MediaPlayerState_Playing = 3,
    MediaPlayerState_Paused = 4,
    MediaPlayerState_Stopped = 5
};
#ifdef WIDL_using_Windows_Media_Playback
#define MediaPlayerState __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif /* ____x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState;
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IBackgroundMediaPlayerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer ABI::Windows::Media::Playback::IMediaPlayer
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayer;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 ABI::Windows::Media::Playback::IMediaPlayer2
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayer2;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs ABI::Windows::Media::Playback::IMediaPlayerDataReceivedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerDataReceivedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs ABI::Windows::Media::Playback::IMediaPlayerFailedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerFailedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs ABI::Windows::Media::Playback::IMediaPlayerRateChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IMediaPlayerRateChangedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker ABI::Windows::Media::Playback::IPlaybackMediaMarker
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarker;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory ABI::Windows::Media::Playback::IPlaybackMediaMarkerFactory
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerFactory;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs ABI::Windows::Media::Playback::IPlaybackMediaMarkerReachedEventArgs
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerReachedEventArgs;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence;
#ifdef __cplusplus
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence ABI::Windows::Media::Playback::IPlaybackMediaMarkerSequence
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                interface IPlaybackMediaMarkerSequence;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IBackgroundMediaPlayerStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics, 0x856ddbc1, 0x55f7, 0x471f, 0xa0,0xf2, 0x68,0xac,0x4c,0x90,0x45,0x92);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("856ddbc1-55f7-471f-a0f2-68ac4c904592")
                IBackgroundMediaPlayerStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Current(
                        ABI::Windows::Media::Playback::IMediaPlayer **player) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MessageReceivedFromBackground(
                        ABI::Windows::Foundation::IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MessageReceivedFromBackground(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MessageReceivedFromForeground(
                        ABI::Windows::Foundation::IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MessageReceivedFromForeground(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE SendMessageToBackground(
                        ABI::Windows::Foundation::Collections::IPropertySet *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE SendMessageToForeground(
                        ABI::Windows::Foundation::Collections::IPropertySet *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE IsMediaPlaying(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Shutdown(
                        ) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics, 0x856ddbc1, 0x55f7, 0x471f, 0xa0,0xf2, 0x68,0xac,0x4c,0x90,0x45,0x92)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IBackgroundMediaPlayerStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer **player);

    HRESULT (STDMETHODCALLTYPE *add_MessageReceivedFromBackground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MessageReceivedFromBackground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_MessageReceivedFromForeground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MessageReceivedFromForeground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *SendMessageToBackground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *value);

    HRESULT (STDMETHODCALLTYPE *SendMessageToForeground)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *value);

    HRESULT (STDMETHODCALLTYPE *IsMediaPlaying)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *Shutdown)(
        __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics *This);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStaticsVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IBackgroundMediaPlayerStatics methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_get_Current(This,player) (This)->lpVtbl->get_Current(This,player)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromBackground(This,value,token) (This)->lpVtbl->add_MessageReceivedFromBackground(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromBackground(This,token) (This)->lpVtbl->remove_MessageReceivedFromBackground(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromForeground(This,value,token) (This)->lpVtbl->add_MessageReceivedFromForeground(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromForeground(This,token) (This)->lpVtbl->remove_MessageReceivedFromForeground(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToBackground(This,value) (This)->lpVtbl->SendMessageToBackground(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToForeground(This,value) (This)->lpVtbl->SendMessageToForeground(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_IsMediaPlaying(This,value) (This)->lpVtbl->IsMediaPlaying(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Shutdown(This) (This)->lpVtbl->Shutdown(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Release(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IBackgroundMediaPlayerStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_get_Current(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer **player) {
    return This->lpVtbl->get_Current(This,player);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromBackground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MessageReceivedFromBackground(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromBackground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MessageReceivedFromBackground(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromForeground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MessageReceivedFromForeground(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromForeground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MessageReceivedFromForeground(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToBackground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *value) {
    return This->lpVtbl->SendMessageToBackground(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToForeground(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet *value) {
    return This->lpVtbl->SendMessageToForeground(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_IsMediaPlaying(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This,boolean *value) {
    return This->lpVtbl->IsMediaPlaying(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Shutdown(__x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics* This) {
    return This->lpVtbl->Shutdown(This);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IBackgroundMediaPlayerStatics IID___x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics
#define IBackgroundMediaPlayerStaticsVtbl __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStaticsVtbl
#define IBackgroundMediaPlayerStatics __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics
#define IBackgroundMediaPlayerStatics_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_QueryInterface
#define IBackgroundMediaPlayerStatics_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_AddRef
#define IBackgroundMediaPlayerStatics_Release __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Release
#define IBackgroundMediaPlayerStatics_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetIids
#define IBackgroundMediaPlayerStatics_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetRuntimeClassName
#define IBackgroundMediaPlayerStatics_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_GetTrustLevel
#define IBackgroundMediaPlayerStatics_get_Current __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_get_Current
#define IBackgroundMediaPlayerStatics_add_MessageReceivedFromBackground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromBackground
#define IBackgroundMediaPlayerStatics_remove_MessageReceivedFromBackground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromBackground
#define IBackgroundMediaPlayerStatics_add_MessageReceivedFromForeground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_add_MessageReceivedFromForeground
#define IBackgroundMediaPlayerStatics_remove_MessageReceivedFromForeground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_remove_MessageReceivedFromForeground
#define IBackgroundMediaPlayerStatics_SendMessageToBackground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToBackground
#define IBackgroundMediaPlayerStatics_SendMessageToForeground __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_SendMessageToForeground
#define IBackgroundMediaPlayerStatics_IsMediaPlaying __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_IsMediaPlaying
#define IBackgroundMediaPlayerStatics_Shutdown __x_ABI_CWindows_CMedia_CPlayback_CIBackgroundMediaPlayerStatics_Shutdown
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IMediaPlayer interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer, 0x381a83cb, 0x6fff, 0x499b, 0x8d,0x64, 0x28,0x85,0xdf,0xc1,0x24,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("381a83cb-6fff-499b-8d64-2885dfc1249e")
                IMediaPlayer : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
                        boolean value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_NaturalDuration(
                        ABI::Windows::Foundation::TimeSpan *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Position(
                        ABI::Windows::Foundation::TimeSpan *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Position(
                        ABI::Windows::Foundation::TimeSpan value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_BufferingProgress(
                        DOUBLE *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_CurrentState(
                        ABI::Windows::Media::Playback::MediaPlayerState *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_CanSeek(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_CanPause(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_IsLoopingEnabled(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_IsLoopingEnabled(
                        boolean value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_IsProtected(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_IsMuted(
                        boolean *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_IsMuted(
                        boolean value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_PlaybackRate(
                        DOUBLE *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_PlaybackRate(
                        DOUBLE value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Volume(
                        DOUBLE *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_Volume(
                        DOUBLE value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_PlaybackMediaMarkers(
                        ABI::Windows::Media::Playback::IPlaybackMediaMarkerSequence **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MediaOpened(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MediaOpened(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MediaEnded(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MediaEnded(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MediaFailed(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MediaFailed(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_CurrentStateChanged(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_CurrentStateChanged(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_PlaybackMediaMarkerReached(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_PlaybackMediaMarkerReached(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_MediaPlayerRateChanged(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_MediaPlayerRateChanged(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_VolumeChanged(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_VolumeChanged(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_SeekCompleted(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_SeekCompleted(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_BufferingStarted(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_BufferingStarted(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE add_BufferingEnded(
                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > *value,
                        EventRegistrationToken *token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE remove_BufferingEnded(
                        EventRegistrationToken token) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Play(
                        ) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Pause(
                        ) = 0;

                    virtual HRESULT STDMETHODCALLTYPE SetUriSource(
                        ABI::Windows::Foundation::IUriRuntimeClass *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer, 0x381a83cb, 0x6fff, 0x499b, 0x8d,0x64, 0x28,0x85,0xdf,0xc1,0x24,0x9e)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMediaPlayer methods ***/
    HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean value);

    HRESULT (STDMETHODCALLTYPE *get_NaturalDuration)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    HRESULT (STDMETHODCALLTYPE *get_Position)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    HRESULT (STDMETHODCALLTYPE *put_Position)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan value);

    HRESULT (STDMETHODCALLTYPE *get_BufferingProgress)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        DOUBLE *value);

    HRESULT (STDMETHODCALLTYPE *get_CurrentState)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState *value);

    HRESULT (STDMETHODCALLTYPE *get_CanSeek)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_CanPause)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_IsLoopingEnabled)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *put_IsLoopingEnabled)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean value);

    HRESULT (STDMETHODCALLTYPE *get_IsProtected)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_IsMuted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *put_IsMuted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        boolean value);

    HRESULT (STDMETHODCALLTYPE *get_PlaybackRate)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        DOUBLE *value);

    HRESULT (STDMETHODCALLTYPE *put_PlaybackRate)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        DOUBLE value);

    HRESULT (STDMETHODCALLTYPE *get_Volume)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        DOUBLE *value);

    HRESULT (STDMETHODCALLTYPE *put_Volume)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        DOUBLE value);

    HRESULT (STDMETHODCALLTYPE *get_PlaybackMediaMarkers)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence **value);

    HRESULT (STDMETHODCALLTYPE *add_MediaOpened)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MediaOpened)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_MediaEnded)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MediaEnded)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_MediaFailed)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MediaFailed)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_CurrentStateChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_CurrentStateChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_PlaybackMediaMarkerReached)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_PlaybackMediaMarkerReached)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_MediaPlayerRateChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MediaPlayerRateChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_VolumeChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_VolumeChanged)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_SeekCompleted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_SeekCompleted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_BufferingStarted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_BufferingStarted)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_BufferingEnded)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_BufferingEnded)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *Play)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This);

    HRESULT (STDMETHODCALLTYPE *Pause)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This);

    HRESULT (STDMETHODCALLTYPE *SetUriSource)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaPlayer methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_AutoPlay(This,value) (This)->lpVtbl->get_AutoPlay(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_AutoPlay(This,value) (This)->lpVtbl->put_AutoPlay(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_NaturalDuration(This,value) (This)->lpVtbl->get_NaturalDuration(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Position(This,value) (This)->lpVtbl->get_Position(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Position(This,value) (This)->lpVtbl->put_Position(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_BufferingProgress(This,value) (This)->lpVtbl->get_BufferingProgress(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CurrentState(This,value) (This)->lpVtbl->get_CurrentState(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanSeek(This,value) (This)->lpVtbl->get_CanSeek(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanPause(This,value) (This)->lpVtbl->get_CanPause(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsLoopingEnabled(This,value) (This)->lpVtbl->get_IsLoopingEnabled(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsLoopingEnabled(This,value) (This)->lpVtbl->put_IsLoopingEnabled(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsProtected(This,value) (This)->lpVtbl->get_IsProtected(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsMuted(This,value) (This)->lpVtbl->get_IsMuted(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsMuted(This,value) (This)->lpVtbl->put_IsMuted(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackRate(This,value) (This)->lpVtbl->get_PlaybackRate(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_PlaybackRate(This,value) (This)->lpVtbl->put_PlaybackRate(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Volume(This,value) (This)->lpVtbl->get_Volume(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Volume(This,value) (This)->lpVtbl->put_Volume(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackMediaMarkers(This,value) (This)->lpVtbl->get_PlaybackMediaMarkers(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaOpened(This,value,token) (This)->lpVtbl->add_MediaOpened(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaOpened(This,token) (This)->lpVtbl->remove_MediaOpened(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaEnded(This,value,token) (This)->lpVtbl->add_MediaEnded(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaEnded(This,token) (This)->lpVtbl->remove_MediaEnded(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaFailed(This,value,token) (This)->lpVtbl->add_MediaFailed(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaFailed(This,token) (This)->lpVtbl->remove_MediaFailed(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_CurrentStateChanged(This,value,token) (This)->lpVtbl->add_CurrentStateChanged(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_CurrentStateChanged(This,token) (This)->lpVtbl->remove_CurrentStateChanged(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_PlaybackMediaMarkerReached(This,value,token) (This)->lpVtbl->add_PlaybackMediaMarkerReached(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_PlaybackMediaMarkerReached(This,token) (This)->lpVtbl->remove_PlaybackMediaMarkerReached(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaPlayerRateChanged(This,value,token) (This)->lpVtbl->add_MediaPlayerRateChanged(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaPlayerRateChanged(This,token) (This)->lpVtbl->remove_MediaPlayerRateChanged(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_VolumeChanged(This,value,token) (This)->lpVtbl->add_VolumeChanged(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_VolumeChanged(This,token) (This)->lpVtbl->remove_VolumeChanged(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_SeekCompleted(This,value,token) (This)->lpVtbl->add_SeekCompleted(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_SeekCompleted(This,token) (This)->lpVtbl->remove_SeekCompleted(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingStarted(This,value,token) (This)->lpVtbl->add_BufferingStarted(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingStarted(This,token) (This)->lpVtbl->remove_BufferingStarted(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingEnded(This,value,token) (This)->lpVtbl->add_BufferingEnded(This,value,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingEnded(This,token) (This)->lpVtbl->remove_BufferingEnded(This,token)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Play(This) (This)->lpVtbl->Play(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Pause(This) (This)->lpVtbl->Pause(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_SetUriSource(This,value) (This)->lpVtbl->SetUriSource(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Release(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaPlayer methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_AutoPlay(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_AutoPlay(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_AutoPlay(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean value) {
    return This->lpVtbl->put_AutoPlay(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_NaturalDuration(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->get_NaturalDuration(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Position(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->get_Position(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Position(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CFoundation_CTimeSpan value) {
    return This->lpVtbl->put_Position(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_BufferingProgress(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,DOUBLE *value) {
    return This->lpVtbl->get_BufferingProgress(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CurrentState(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerState *value) {
    return This->lpVtbl->get_CurrentState(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanSeek(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_CanSeek(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanPause(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_CanPause(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsLoopingEnabled(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_IsLoopingEnabled(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsLoopingEnabled(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean value) {
    return This->lpVtbl->put_IsLoopingEnabled(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsProtected(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_IsProtected(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsMuted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean *value) {
    return This->lpVtbl->get_IsMuted(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsMuted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,boolean value) {
    return This->lpVtbl->put_IsMuted(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackRate(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,DOUBLE *value) {
    return This->lpVtbl->get_PlaybackRate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_PlaybackRate(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,DOUBLE value) {
    return This->lpVtbl->put_PlaybackRate(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Volume(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,DOUBLE *value) {
    return This->lpVtbl->get_Volume(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Volume(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,DOUBLE value) {
    return This->lpVtbl->put_Volume(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackMediaMarkers(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence **value) {
    return This->lpVtbl->get_PlaybackMediaMarkers(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaOpened(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MediaOpened(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaOpened(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MediaOpened(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaEnded(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MediaEnded(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaEnded(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MediaEnded(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaFailed(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MediaFailed(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaFailed(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MediaFailed(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_CurrentStateChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_CurrentStateChanged(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_CurrentStateChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_CurrentStateChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_PlaybackMediaMarkerReached(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_PlaybackMediaMarkerReached(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_PlaybackMediaMarkerReached(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_PlaybackMediaMarkerReached(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaPlayerRateChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_MediaPlayerRateChanged(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaPlayerRateChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MediaPlayerRateChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_VolumeChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_VolumeChanged(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_VolumeChanged(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_VolumeChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_SeekCompleted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_SeekCompleted(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_SeekCompleted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_SeekCompleted(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingStarted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_BufferingStarted(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingStarted(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_BufferingStarted(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingEnded(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *value,EventRegistrationToken *token) {
    return This->lpVtbl->add_BufferingEnded(This,value,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingEnded(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_BufferingEnded(This,token);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Play(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This) {
    return This->lpVtbl->Play(This);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Pause(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This) {
    return This->lpVtbl->Pause(This);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_SetUriSource(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer* This,__x_ABI_CWindows_CFoundation_CIUriRuntimeClass *value) {
    return This->lpVtbl->SetUriSource(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IMediaPlayer IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer
#define IMediaPlayerVtbl __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerVtbl
#define IMediaPlayer __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer
#define IMediaPlayer_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_QueryInterface
#define IMediaPlayer_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_AddRef
#define IMediaPlayer_Release __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Release
#define IMediaPlayer_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetIids
#define IMediaPlayer_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetRuntimeClassName
#define IMediaPlayer_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_GetTrustLevel
#define IMediaPlayer_get_AutoPlay __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_AutoPlay
#define IMediaPlayer_put_AutoPlay __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_AutoPlay
#define IMediaPlayer_get_NaturalDuration __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_NaturalDuration
#define IMediaPlayer_get_Position __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Position
#define IMediaPlayer_put_Position __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Position
#define IMediaPlayer_get_BufferingProgress __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_BufferingProgress
#define IMediaPlayer_get_CurrentState __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CurrentState
#define IMediaPlayer_get_CanSeek __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanSeek
#define IMediaPlayer_get_CanPause __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_CanPause
#define IMediaPlayer_get_IsLoopingEnabled __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsLoopingEnabled
#define IMediaPlayer_put_IsLoopingEnabled __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsLoopingEnabled
#define IMediaPlayer_get_IsProtected __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsProtected
#define IMediaPlayer_get_IsMuted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_IsMuted
#define IMediaPlayer_put_IsMuted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_IsMuted
#define IMediaPlayer_get_PlaybackRate __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackRate
#define IMediaPlayer_put_PlaybackRate __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_PlaybackRate
#define IMediaPlayer_get_Volume __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_Volume
#define IMediaPlayer_put_Volume __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_put_Volume
#define IMediaPlayer_get_PlaybackMediaMarkers __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_get_PlaybackMediaMarkers
#define IMediaPlayer_add_MediaOpened __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaOpened
#define IMediaPlayer_remove_MediaOpened __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaOpened
#define IMediaPlayer_add_MediaEnded __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaEnded
#define IMediaPlayer_remove_MediaEnded __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaEnded
#define IMediaPlayer_add_MediaFailed __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaFailed
#define IMediaPlayer_remove_MediaFailed __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaFailed
#define IMediaPlayer_add_CurrentStateChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_CurrentStateChanged
#define IMediaPlayer_remove_CurrentStateChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_CurrentStateChanged
#define IMediaPlayer_add_PlaybackMediaMarkerReached __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_PlaybackMediaMarkerReached
#define IMediaPlayer_remove_PlaybackMediaMarkerReached __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_PlaybackMediaMarkerReached
#define IMediaPlayer_add_MediaPlayerRateChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_MediaPlayerRateChanged
#define IMediaPlayer_remove_MediaPlayerRateChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_MediaPlayerRateChanged
#define IMediaPlayer_add_VolumeChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_VolumeChanged
#define IMediaPlayer_remove_VolumeChanged __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_VolumeChanged
#define IMediaPlayer_add_SeekCompleted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_SeekCompleted
#define IMediaPlayer_remove_SeekCompleted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_SeekCompleted
#define IMediaPlayer_add_BufferingStarted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingStarted
#define IMediaPlayer_remove_BufferingStarted __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingStarted
#define IMediaPlayer_add_BufferingEnded __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_add_BufferingEnded
#define IMediaPlayer_remove_BufferingEnded __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_remove_BufferingEnded
#define IMediaPlayer_Play __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Play
#define IMediaPlayer_Pause __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_Pause
#define IMediaPlayer_SetUriSource __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer_SetUriSource
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IMediaPlayer2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2, 0x3c841218, 0x2123, 0x4fc5, 0x90,0x82, 0x2f,0x88,0x3f,0x77,0xbd,0xf5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("3c841218-2123-4fc5-9082-2f883f77bdf5")
                IMediaPlayer2 : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_SystemMediaTransportControls(
                        ABI::Windows::Media::ISystemMediaTransportControls **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_AudioCategory(
                        ABI::Windows::Media::Playback::MediaPlayerAudioCategory *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_AudioCategory(
                        ABI::Windows::Media::Playback::MediaPlayerAudioCategory value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_AudioDeviceType(
                        ABI::Windows::Media::Playback::MediaPlayerAudioDeviceType *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE put_AudioDeviceType(
                        ABI::Windows::Media::Playback::MediaPlayerAudioDeviceType value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2, 0x3c841218, 0x2123, 0x4fc5, 0x90,0x82, 0x2f,0x88,0x3f,0x77,0xbd,0xf5)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMediaPlayer2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_SystemMediaTransportControls)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 *This,
        __x_ABI_CWindows_CMedia_CISystemMediaTransportControls **value);

    HRESULT (STDMETHODCALLTYPE *get_AudioCategory)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory *value);

    HRESULT (STDMETHODCALLTYPE *put_AudioCategory)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory value);

    HRESULT (STDMETHODCALLTYPE *get_AudioDeviceType)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType *value);

    HRESULT (STDMETHODCALLTYPE *put_AudioDeviceType)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2Vtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2 {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaPlayer2 methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_SystemMediaTransportControls(This,value) (This)->lpVtbl->get_SystemMediaTransportControls(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioCategory(This,value) (This)->lpVtbl->get_AudioCategory(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioCategory(This,value) (This)->lpVtbl->put_AudioCategory(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioDeviceType(This,value) (This)->lpVtbl->get_AudioDeviceType(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioDeviceType(This,value) (This)->lpVtbl->put_AudioDeviceType(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_Release(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaPlayer2 methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_SystemMediaTransportControls(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,__x_ABI_CWindows_CMedia_CISystemMediaTransportControls **value) {
    return This->lpVtbl->get_SystemMediaTransportControls(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioCategory(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory *value) {
    return This->lpVtbl->get_AudioCategory(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioCategory(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioCategory value) {
    return This->lpVtbl->put_AudioCategory(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioDeviceType(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType *value) {
    return This->lpVtbl->get_AudioDeviceType(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioDeviceType(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerAudioDeviceType value) {
    return This->lpVtbl->put_AudioDeviceType(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IMediaPlayer2 IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2
#define IMediaPlayer2Vtbl __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2Vtbl
#define IMediaPlayer2 __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2
#define IMediaPlayer2_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_QueryInterface
#define IMediaPlayer2_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_AddRef
#define IMediaPlayer2_Release __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_Release
#define IMediaPlayer2_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetIids
#define IMediaPlayer2_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetRuntimeClassName
#define IMediaPlayer2_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_GetTrustLevel
#define IMediaPlayer2_get_SystemMediaTransportControls __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_SystemMediaTransportControls
#define IMediaPlayer2_get_AudioCategory __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioCategory
#define IMediaPlayer2_put_AudioCategory __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioCategory
#define IMediaPlayer2_get_AudioDeviceType __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_get_AudioDeviceType
#define IMediaPlayer2_put_AudioDeviceType __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer2_put_AudioDeviceType
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IMediaPlayerDataReceivedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs, 0xc75a9405, 0xc801, 0x412a, 0x83,0x5b, 0x83,0xfc,0x0e,0x62,0x2a,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("c75a9405-c801-412a-835b-83fc0e622a8e")
                IMediaPlayerDataReceivedEventArgs : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Data(
                        ABI::Windows::Foundation::Collections::IPropertySet **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs, 0xc75a9405, 0xc801, 0x412a, 0x83,0x5b, 0x83,0xfc,0x0e,0x62,0x2a,0x8e)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMediaPlayerDataReceivedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Data)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs *This,
        __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgsVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaPlayerDataReceivedEventArgs methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_get_Data(This,value) (This)->lpVtbl->get_Data(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_Release(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaPlayerDataReceivedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_get_Data(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs* This,__x_ABI_CWindows_CFoundation_CCollections_CIPropertySet **value) {
    return This->lpVtbl->get_Data(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IMediaPlayerDataReceivedEventArgs IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs
#define IMediaPlayerDataReceivedEventArgsVtbl __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgsVtbl
#define IMediaPlayerDataReceivedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs
#define IMediaPlayerDataReceivedEventArgs_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_QueryInterface
#define IMediaPlayerDataReceivedEventArgs_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_AddRef
#define IMediaPlayerDataReceivedEventArgs_Release __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_Release
#define IMediaPlayerDataReceivedEventArgs_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetIids
#define IMediaPlayerDataReceivedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetRuntimeClassName
#define IMediaPlayerDataReceivedEventArgs_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_GetTrustLevel
#define IMediaPlayerDataReceivedEventArgs_get_Data __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs_get_Data
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IMediaPlayerFailedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs, 0x2744e9b9, 0xa7e3, 0x4f16, 0xba,0xc4, 0x79,0x14,0xeb,0xc0,0x83,0x01);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("2744e9b9-a7e3-4f16-bac4-7914ebc08301")
                IMediaPlayerFailedEventArgs : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Error(
                        ABI::Windows::Media::Playback::MediaPlayerError *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_ExtendedErrorCode(
                        HRESULT *value) = 0;

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

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs, 0x2744e9b9, 0xa7e3, 0x4f16, 0xba,0xc4, 0x79,0x14,0xeb,0xc0,0x83,0x01)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMediaPlayerFailedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Error)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs *This,
        __x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError *value);

    HRESULT (STDMETHODCALLTYPE *get_ExtendedErrorCode)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs *This,
        HRESULT *value);

    HRESULT (STDMETHODCALLTYPE *get_ErrorMessage)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgsVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaPlayerFailedEventArgs methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_Error(This,value) (This)->lpVtbl->get_Error(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ExtendedErrorCode(This,value) (This)->lpVtbl->get_ExtendedErrorCode(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ErrorMessage(This,value) (This)->lpVtbl->get_ErrorMessage(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_Release(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaPlayerFailedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_Error(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,__x_ABI_CWindows_CMedia_CPlayback_CMediaPlayerError *value) {
    return This->lpVtbl->get_Error(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ExtendedErrorCode(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,HRESULT *value) {
    return This->lpVtbl->get_ExtendedErrorCode(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ErrorMessage(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs* This,HSTRING *value) {
    return This->lpVtbl->get_ErrorMessage(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IMediaPlayerFailedEventArgs IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs
#define IMediaPlayerFailedEventArgsVtbl __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgsVtbl
#define IMediaPlayerFailedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs
#define IMediaPlayerFailedEventArgs_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_QueryInterface
#define IMediaPlayerFailedEventArgs_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_AddRef
#define IMediaPlayerFailedEventArgs_Release __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_Release
#define IMediaPlayerFailedEventArgs_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetIids
#define IMediaPlayerFailedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetRuntimeClassName
#define IMediaPlayerFailedEventArgs_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_GetTrustLevel
#define IMediaPlayerFailedEventArgs_get_Error __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_Error
#define IMediaPlayerFailedEventArgs_get_ExtendedErrorCode __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ExtendedErrorCode
#define IMediaPlayerFailedEventArgs_get_ErrorMessage __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs_get_ErrorMessage
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IMediaPlayerRateChangedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs, 0x40600d58, 0x3b61, 0x4bb2, 0x98,0x9f, 0xfc,0x65,0x60,0x8b,0x6c,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("40600d58-3b61-4bb2-989f-fc65608b6cab")
                IMediaPlayerRateChangedEventArgs : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_NewRate(
                        DOUBLE *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs, 0x40600d58, 0x3b61, 0x4bb2, 0x98,0x9f, 0xfc,0x65,0x60,0x8b,0x6c,0xab)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IMediaPlayerRateChangedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_NewRate)(
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs *This,
        DOUBLE *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgsVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IMediaPlayerRateChangedEventArgs methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_get_NewRate(This,value) (This)->lpVtbl->get_NewRate(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_Release(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IMediaPlayerRateChangedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_get_NewRate(__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs* This,DOUBLE *value) {
    return This->lpVtbl->get_NewRate(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IMediaPlayerRateChangedEventArgs IID___x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs
#define IMediaPlayerRateChangedEventArgsVtbl __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgsVtbl
#define IMediaPlayerRateChangedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs
#define IMediaPlayerRateChangedEventArgs_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_QueryInterface
#define IMediaPlayerRateChangedEventArgs_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_AddRef
#define IMediaPlayerRateChangedEventArgs_Release __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_Release
#define IMediaPlayerRateChangedEventArgs_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetIids
#define IMediaPlayerRateChangedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetRuntimeClassName
#define IMediaPlayerRateChangedEventArgs_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_GetTrustLevel
#define IMediaPlayerRateChangedEventArgs_get_NewRate __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs_get_NewRate
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IPlaybackMediaMarker interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker, 0xc4d22f5c, 0x3c1c, 0x4444, 0xb6,0xb9, 0x77,0x8b,0x04,0x22,0xd4,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("c4d22f5c-3c1c-4444-b6b9-778b0422d41a")
                IPlaybackMediaMarker : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Time(
                        ABI::Windows::Foundation::TimeSpan *value) = 0;

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

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

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker, 0xc4d22f5c, 0x3c1c, 0x4444, 0xb6,0xb9, 0x77,0x8b,0x04,0x22,0xd4,0x1a)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPlaybackMediaMarker methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Time)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan *value);

    HRESULT (STDMETHODCALLTYPE *get_MediaMarkerType)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Text)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker *This,
        HSTRING *value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPlaybackMediaMarker methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Time(This,value) (This)->lpVtbl->get_Time(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_MediaMarkerType(This,value) (This)->lpVtbl->get_MediaMarkerType(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Text(This,value) (This)->lpVtbl->get_Text(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_Release(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPlaybackMediaMarker methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Time(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,__x_ABI_CWindows_CFoundation_CTimeSpan *value) {
    return This->lpVtbl->get_Time(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_MediaMarkerType(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,HSTRING *value) {
    return This->lpVtbl->get_MediaMarkerType(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Text(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker* This,HSTRING *value) {
    return This->lpVtbl->get_Text(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IPlaybackMediaMarker IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker
#define IPlaybackMediaMarkerVtbl __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerVtbl
#define IPlaybackMediaMarker __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker
#define IPlaybackMediaMarker_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_QueryInterface
#define IPlaybackMediaMarker_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_AddRef
#define IPlaybackMediaMarker_Release __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_Release
#define IPlaybackMediaMarker_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetIids
#define IPlaybackMediaMarker_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetRuntimeClassName
#define IPlaybackMediaMarker_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_GetTrustLevel
#define IPlaybackMediaMarker_get_Time __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Time
#define IPlaybackMediaMarker_get_MediaMarkerType __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_MediaMarkerType
#define IPlaybackMediaMarker_get_Text __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker_get_Text
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IPlaybackMediaMarkerFactory interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory, 0x8c530a78, 0xe0ae, 0x4e1a, 0xa8,0xc8, 0xe2,0x3f,0x98,0x2a,0x93,0x7b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("8c530a78-e0ae-4e1a-a8c8-e23f982a937b")
                IPlaybackMediaMarkerFactory : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE CreateFromTime(
                        ABI::Windows::Foundation::TimeSpan value,
                        ABI::Windows::Media::Playback::IPlaybackMediaMarker **marker) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Create(
                        ABI::Windows::Foundation::TimeSpan value,
                        HSTRING media_market_type,
                        HSTRING text,
                        ABI::Windows::Media::Playback::IPlaybackMediaMarker **marker) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory, 0x8c530a78, 0xe0ae, 0x4e1a, 0xa8,0xc8, 0xe2,0x3f,0x98,0x2a,0x93,0x7b)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactoryVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPlaybackMediaMarkerFactory methods ***/
    HRESULT (STDMETHODCALLTYPE *CreateFromTime)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan value,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **marker);

    HRESULT (STDMETHODCALLTYPE *Create)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory *This,
        __x_ABI_CWindows_CFoundation_CTimeSpan value,
        HSTRING media_market_type,
        HSTRING text,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **marker);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactoryVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactoryVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPlaybackMediaMarkerFactory methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_CreateFromTime(This,value,marker) (This)->lpVtbl->CreateFromTime(This,value,marker)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Create(This,value,media_market_type,text,marker) (This)->lpVtbl->Create(This,value,media_market_type,text,marker)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Release(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPlaybackMediaMarkerFactory methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_CreateFromTime(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,__x_ABI_CWindows_CFoundation_CTimeSpan value,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **marker) {
    return This->lpVtbl->CreateFromTime(This,value,marker);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Create(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory* This,__x_ABI_CWindows_CFoundation_CTimeSpan value,HSTRING media_market_type,HSTRING text,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **marker) {
    return This->lpVtbl->Create(This,value,media_market_type,text,marker);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IPlaybackMediaMarkerFactory IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory
#define IPlaybackMediaMarkerFactoryVtbl __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactoryVtbl
#define IPlaybackMediaMarkerFactory __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory
#define IPlaybackMediaMarkerFactory_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_QueryInterface
#define IPlaybackMediaMarkerFactory_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_AddRef
#define IPlaybackMediaMarkerFactory_Release __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Release
#define IPlaybackMediaMarkerFactory_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetIids
#define IPlaybackMediaMarkerFactory_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetRuntimeClassName
#define IPlaybackMediaMarkerFactory_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_GetTrustLevel
#define IPlaybackMediaMarkerFactory_CreateFromTime __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_CreateFromTime
#define IPlaybackMediaMarkerFactory_Create __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerFactory_Create
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IPlaybackMediaMarkerReachedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs, 0x578cd1b9, 0x90e2, 0x4e60, 0xab,0xc4, 0x87,0x40,0xb0,0x1f,0x61,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("578cd1b9-90e2-4e60-abc4-8740b01f6196")
                IPlaybackMediaMarkerReachedEventArgs : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_PlaybackMediaMarker(
                        ABI::Windows::Media::Playback::IPlaybackMediaMarker **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs, 0x578cd1b9, 0x90e2, 0x4e60, 0xab,0xc4, 0x87,0x40,0xb0,0x1f,0x61,0x96)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPlaybackMediaMarkerReachedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_PlaybackMediaMarker)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **value);

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgsVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPlaybackMediaMarkerReachedEventArgs methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_get_PlaybackMediaMarker(This,value) (This)->lpVtbl->get_PlaybackMediaMarker(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_Release(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPlaybackMediaMarkerReachedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_get_PlaybackMediaMarker(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs* This,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **value) {
    return This->lpVtbl->get_PlaybackMediaMarker(This,value);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IPlaybackMediaMarkerReachedEventArgs IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs
#define IPlaybackMediaMarkerReachedEventArgsVtbl __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgsVtbl
#define IPlaybackMediaMarkerReachedEventArgs __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs
#define IPlaybackMediaMarkerReachedEventArgs_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_QueryInterface
#define IPlaybackMediaMarkerReachedEventArgs_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_AddRef
#define IPlaybackMediaMarkerReachedEventArgs_Release __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_Release
#define IPlaybackMediaMarkerReachedEventArgs_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetIids
#define IPlaybackMediaMarkerReachedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetRuntimeClassName
#define IPlaybackMediaMarkerReachedEventArgs_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_GetTrustLevel
#define IPlaybackMediaMarkerReachedEventArgs_get_PlaybackMediaMarker __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs_get_PlaybackMediaMarker
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*****************************************************************************
 * IPlaybackMediaMarkerSequence interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence, 0xf2810cee, 0x638b, 0x46cf, 0x88,0x17, 0x1d,0x11,0x1f,0xe9,0xd8,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Playback {
                MIDL_INTERFACE("f2810cee-638b-46cf-8817-1d111fe9d8c4")
                IPlaybackMediaMarkerSequence : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Size(
                        UINT32 *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Insert(
                        ABI::Windows::Media::Playback::IPlaybackMediaMarker *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE Clear(
                        ) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence, 0xf2810cee, 0x638b, 0x46cf, 0x88,0x17, 0x1d,0x11,0x1f,0xe9,0xd8,0xc4)
#endif
#else
typedef struct __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequenceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IPlaybackMediaMarkerSequence methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *Insert)(
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker *value);

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

    END_INTERFACE
} __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequenceVtbl;

interface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence {
    CONST_VTBL __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequenceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IPlaybackMediaMarkerSequence methods ***/
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Insert(This,value) (This)->lpVtbl->Insert(This,value)
#define __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Clear(This) (This)->lpVtbl->Clear(This)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_QueryInterface(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_AddRef(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Release(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetIids(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetRuntimeClassName(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetTrustLevel(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IPlaybackMediaMarkerSequence methods ***/
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_get_Size(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Insert(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker *value) {
    return This->lpVtbl->Insert(This,value);
}
static inline HRESULT __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Clear(__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence* This) {
    return This->lpVtbl->Clear(This);
}
#endif
#ifdef WIDL_using_Windows_Media_Playback
#define IID_IPlaybackMediaMarkerSequence IID___x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence
#define IPlaybackMediaMarkerSequenceVtbl __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequenceVtbl
#define IPlaybackMediaMarkerSequence __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence
#define IPlaybackMediaMarkerSequence_QueryInterface __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_QueryInterface
#define IPlaybackMediaMarkerSequence_AddRef __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_AddRef
#define IPlaybackMediaMarkerSequence_Release __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Release
#define IPlaybackMediaMarkerSequence_GetIids __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetIids
#define IPlaybackMediaMarkerSequence_GetRuntimeClassName __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetRuntimeClassName
#define IPlaybackMediaMarkerSequence_GetTrustLevel __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_GetTrustLevel
#define IPlaybackMediaMarkerSequence_get_Size __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_get_Size
#define IPlaybackMediaMarkerSequence_Insert __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Insert
#define IPlaybackMediaMarkerSequence_Clear __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerSequence_Clear
#endif /* WIDL_using_Windows_Media_Playback */
#endif

#endif

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

/*
 * Class Windows.Media.Playback.BackgroundMediaPlayer
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_BackgroundMediaPlayer_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_BackgroundMediaPlayer_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_BackgroundMediaPlayer[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','B','a','c','k','g','r','o','u','n','d','M','e','d','i','a','P','l','a','y','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_BackgroundMediaPlayer[] = L"Windows.Media.Playback.BackgroundMediaPlayer";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_BackgroundMediaPlayer[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','B','a','c','k','g','r','o','u','n','d','M','e','d','i','a','P','l','a','y','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_BackgroundMediaPlayer_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.MediaPlayer
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_MediaPlayer_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_MediaPlayer_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayer[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayer[] = L"Windows.Media.Playback.MediaPlayer";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayer[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_MediaPlayer_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.MediaPlayerDataReceivedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','D','a','t','a','R','e','c','e','i','v','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs[] = L"Windows.Media.Playback.MediaPlayerDataReceivedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','D','a','t','a','R','e','c','e','i','v','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_MediaPlayerDataReceivedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.MediaPlayerFailedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_MediaPlayerFailedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_MediaPlayerFailedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerFailedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','F','a','i','l','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerFailedEventArgs[] = L"Windows.Media.Playback.MediaPlayerFailedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerFailedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','F','a','i','l','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_MediaPlayerFailedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.MediaPlayerRateChangedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_MediaPlayerRateChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_MediaPlayerRateChangedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerRateChangedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','R','a','t','e','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerRateChangedEventArgs[] = L"Windows.Media.Playback.MediaPlayerRateChangedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_MediaPlayerRateChangedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','M','e','d','i','a','P','l','a','y','e','r','R','a','t','e','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_MediaPlayerRateChangedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.PlaybackMediaMarker
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarker_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarker_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarker[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarker[] = L"Windows.Media.Playback.PlaybackMediaMarker";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarker[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarker_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.PlaybackMediaMarkerSequence
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerSequence_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerSequence_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerSequence[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r','S','e','q','u','e','n','c','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerSequence[] = L"Windows.Media.Playback.PlaybackMediaMarkerSequence";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerSequence[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r','S','e','q','u','e','n','c','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerSequence_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r','R','e','a','c','h','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs[] = L"Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs[] = {'W','i','n','d','o','w','s','.','M','e','d','i','a','.','P','l','a','y','b','a','c','k','.','P','l','a','y','b','a','c','k','M','e','d','i','a','M','a','r','k','e','r','R','e','a','c','h','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Media_Playback_PlaybackMediaMarkerReachedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* > interface
 */
#ifndef ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker, 0xdeeccfe9, 0x6c01, 0x576f, 0x95,0xf2, 0x93,0x51,0x5a,0xe4,0x0e,0xbf);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("deeccfe9-6c01-576f-95f2-93515ae40ebf")
                IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::PlaybackMediaMarker*, ABI::Windows::Media::Playback::IPlaybackMediaMarker* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker, 0xdeeccfe9, 0x6c01, 0x576f, 0x95,0xf2, 0x93,0x51,0x5a,0xe4,0x0e,0xbf)
#endif
#else
typedef struct __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker *This,
        __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker **value);

    END_INTERFACE
} __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl;

interface __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker {
    CONST_VTBL __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
#define __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_First(__FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_PlaybackMediaMarker IID___FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker
#define IIterable_PlaybackMediaMarkerVtbl __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl
#define IIterable_PlaybackMediaMarker __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker
#define IIterable_PlaybackMediaMarker_QueryInterface __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface
#define IIterable_PlaybackMediaMarker_AddRef __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef
#define IIterable_PlaybackMediaMarker_Release __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release
#define IIterable_PlaybackMediaMarker_GetIids __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids
#define IIterable_PlaybackMediaMarker_GetRuntimeClassName __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName
#define IIterable_PlaybackMediaMarker_GetTrustLevel __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel
#define IIterable_PlaybackMediaMarker_First __FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* > interface
 */
#ifndef ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker, 0x28607d6b, 0xdaa4, 0x5eef, 0x9f,0x81, 0xcc,0x08,0xa8,0x29,0x71,0x82);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("28607d6b-daa4-5eef-9f81-cc08a8297182")
                IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::PlaybackMediaMarker*, ABI::Windows::Media::Playback::IPlaybackMediaMarker* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker, 0x28607d6b, 0xdaa4, 0x5eef, 0x9f,0x81, 0xcc,0x08,0xa8,0x29,0x71,0x82)
#endif
#else
typedef struct __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **value);

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

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

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker *This,
        UINT32 items_size,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl;

interface __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker {
    CONST_VTBL __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Media::Playback::PlaybackMediaMarker* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_Current(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_HasCurrent(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_MoveNext(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetMany(__FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker* This,UINT32 items_size,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarker **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_PlaybackMediaMarker IID___FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker
#define IIterator_PlaybackMediaMarkerVtbl __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarkerVtbl
#define IIterator_PlaybackMediaMarker __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker
#define IIterator_PlaybackMediaMarker_QueryInterface __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_QueryInterface
#define IIterator_PlaybackMediaMarker_AddRef __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_AddRef
#define IIterator_PlaybackMediaMarker_Release __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_Release
#define IIterator_PlaybackMediaMarker_GetIids __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetIids
#define IIterator_PlaybackMediaMarker_GetRuntimeClassName __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetRuntimeClassName
#define IIterator_PlaybackMediaMarker_GetTrustLevel __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetTrustLevel
#define IIterator_PlaybackMediaMarker_get_Current __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_Current
#define IIterator_PlaybackMediaMarker_get_HasCurrent __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_get_HasCurrent
#define IIterator_PlaybackMediaMarker_MoveNext __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_MoveNext
#define IIterator_PlaybackMediaMarker_GetMany __FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CMedia__CPlayback__CPlaybackMediaMarker_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > interface
 */
#ifndef ____FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_INTERFACE_DEFINED__
#define ____FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs, 0x078fc818, 0x19f5, 0x5b8a, 0xac,0x82, 0x25,0x19,0x3b,0xea,0x56,0xee);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("078fc818-19f5-5b8a-ac82-25193bea56ee")
            IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > : IEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs*, ABI::Windows::Media::Playback::IMediaPlayerDataReceivedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs, 0x078fc818, 0x19f5, 0x5b8a, 0xac,0x82, 0x25,0x19,0x3b,0xea,0x56,0xee)
#endif
#else
typedef struct __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs *This,
        IInspectable *sender,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs *args);

    END_INTERFACE
} __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgsVtbl;

interface __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs {
    CONST_VTBL __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > methods ***/
#define __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_QueryInterface(__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_AddRef(__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Release(__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IEventHandler<ABI::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs* > methods ***/
static inline HRESULT __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Invoke(__FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs* This,IInspectable *sender,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerDataReceivedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IEventHandler_MediaPlayerDataReceivedEventArgs IID___FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs
#define IEventHandler_MediaPlayerDataReceivedEventArgsVtbl __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgsVtbl
#define IEventHandler_MediaPlayerDataReceivedEventArgs __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs
#define IEventHandler_MediaPlayerDataReceivedEventArgs_QueryInterface __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_QueryInterface
#define IEventHandler_MediaPlayerDataReceivedEventArgs_AddRef __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_AddRef
#define IEventHandler_MediaPlayerDataReceivedEventArgs_Release __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Release
#define IEventHandler_MediaPlayerDataReceivedEventArgs_Invoke __FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIEventHandler_1_Windows__CMedia__CPlayback__CMediaPlayerDataReceivedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable, 0xf1a6a51e, 0xd078, 0x5c40, 0xba,0x3f, 0x34,0x88,0x70,0xba,0x5c,0x87);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("f1a6a51e-d078-5c40-ba3f-348870ba5c87")
            ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayer*, ABI::Windows::Media::Playback::IMediaPlayer* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable, 0xf1a6a51e, 0xd078, 0x5c40, 0xba,0x3f, 0x34,0x88,0x70,0xba,0x5c,0x87)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Release(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,IInspectable* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable* This,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_MediaPlayer_IInspectable IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable
#define ITypedEventHandler_MediaPlayer_IInspectableVtbl __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectableVtbl
#define ITypedEventHandler_MediaPlayer_IInspectable __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable
#define ITypedEventHandler_MediaPlayer_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_QueryInterface
#define ITypedEventHandler_MediaPlayer_IInspectable_AddRef __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_AddRef
#define ITypedEventHandler_MediaPlayer_IInspectable_Release __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Release
#define ITypedEventHandler_MediaPlayer_IInspectable_Invoke __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs, 0x362c45a7, 0x3a0a, 0x5e27, 0x99,0xce, 0xcf,0xf6,0xd1,0xb7,0x70,0xe1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("362c45a7-3a0a-5e27-99ce-cff6d1b770e1")
            ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayer*, ABI::Windows::Media::Playback::IMediaPlayer* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs*, ABI::Windows::Media::Playback::IMediaPlayerFailedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs, 0x362c45a7, 0x3a0a, 0x5e27, 0x99,0xce, 0xcf,0xf6,0xd1,0xb7,0x70,0xe1)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Release(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerFailedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs* This,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerFailedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgsVtbl __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgsVtbl
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_QueryInterface
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs_AddRef __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_AddRef
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs_Release __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Release
#define ITypedEventHandler_MediaPlayer_MediaPlayerFailedEventArgs_Invoke __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerFailedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs, 0xba51d31a, 0x5688, 0x5d4d, 0xaf,0x42, 0x12,0x20,0x70,0xb1,0xee,0xfa);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ba51d31a-5688-5d4d-af42-122070b1eefa")
            ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayer*, ABI::Windows::Media::Playback::IMediaPlayer* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs*, ABI::Windows::Media::Playback::IMediaPlayerRateChangedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs, 0xba51d31a, 0x5688, 0x5d4d, 0xaf,0x42, 0x12,0x20,0x70,0xb1,0xee,0xfa)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Release(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::MediaPlayerRateChangedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs* This,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayerRateChangedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgsVtbl __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgsVtbl
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_QueryInterface
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs_AddRef __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_AddRef
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs_Release __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Release
#define ITypedEventHandler_MediaPlayer_MediaPlayerRateChangedEventArgs_Invoke __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CMediaPlayerRateChangedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs, 0x67a4f43c, 0xc254, 0x57f0, 0xa3,0x9d, 0xa4,0x75,0xa3,0x42,0xd2,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("67a4f43c-c254-57f0-a39d-a475a342d21d")
            ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::MediaPlayer*, ABI::Windows::Media::Playback::IMediaPlayer* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs*, ABI::Windows::Media::Playback::IPlaybackMediaMarkerReachedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs, 0x67a4f43c, 0xc254, 0x57f0, 0xa3,0x9d, 0xa4,0x75,0xa3,0x42,0xd2,0x1d)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs *This,
        __x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,
        __x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Release(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Media::Playback::MediaPlayer*,ABI::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs* This,__x_ABI_CWindows_CMedia_CPlayback_CIMediaPlayer *sender,__x_ABI_CWindows_CMedia_CPlayback_CIPlaybackMediaMarkerReachedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs IID___FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgsVtbl __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgsVtbl
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_QueryInterface
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs_AddRef __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_AddRef
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs_Release __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Release
#define ITypedEventHandler_MediaPlayer_PlaybackMediaMarkerReachedEventArgs_Invoke __FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CMedia__CPlayback__CMediaPlayer_Windows__CMedia__CPlayback__CPlaybackMediaMarkerReachedEventArgs_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_playback_h__ */
