| 1 | cpp_quote("/**") | 
 
 
 
 
 | 2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
 
 
 
 
 | 3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
 
 
 
 
 | 4 | cpp_quote(" */") | 
 
 
 
 
 | 5 | cpp_quote("") | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | import "unknwn.idl"; | 
 
 
 
 
 | 8 | import "propsys.idl"; | 
 
 
 
 
 | 9 | import "mfidl.idl"; | 
 
 
 
 
 | 10 | import "evr.idl"; | 
 
 
 
 
 | 11 |  | 
 
 
 
 
 | 12 | cpp_quote("#if (WINVER >= _WIN32_WINNT_WIN7)") | 
 
 
 
 
 | 13 | interface IMFPMediaPlayer; | 
 
 
 
 
 | 14 | interface IMFPMediaItem; | 
 
 
 
 
 | 15 | interface IMFPMediaPlayerCallback; | 
 
 
 
 
 | 16 | interface IMFMediaEvent; | 
 
 
 
 
 | 17 | interface IMFNetCredential; | 
 
 
 
 
 | 18 | cpp_quote("") | 
 
 
 
 
 | 19 | cpp_quote("interface IMFMediaEvent;") | 
 
 
 
 
 | 20 | cpp_quote("interface IMFNetCredential;") | 
 
 
 
 
 | 21 |  | 
 
 
 
 
 | 22 | cpp_quote("") | 
 
 
 
 
 | 23 | typedef UINT32 MFP_CREATION_OPTIONS; | 
 
 
 
 
 | 24 | cpp_quote("") | 
 
 
 
 
 | 25 | typedef [v1_enum] enum _MFP_CREATION_OPTIONS { | 
 
 
 
 
 | 26 | MFP_OPTION_NONE = 0x00, | 
 
 
 
 
 | 27 | MFP_OPTION_FREE_THREADED_CALLBACK = 0x01, | 
 
 
 
 
 | 28 | MFP_OPTION_NO_MMCSS = 0x02, | 
 
 
 
 
 | 29 | MFP_OPTION_NO_REMOTE_DESKTOP_OPTIMIZATION = 0x04, | 
 
 
 
 
 | 30 | } _MFP_CREATION_OPTIONS; | 
 
 
 
 
 | 31 |  | 
 
 
 
 
 | 32 | cpp_quote("") | 
 
 
 
 
 | 33 | typedef [v1_enum] enum MFP_MEDIAPLAYER_STATE { | 
 
 
 
 
 | 34 | MFP_MEDIAPLAYER_STATE_EMPTY = 0x00, | 
 
 
 
 
 | 35 | MFP_MEDIAPLAYER_STATE_STOPPED = 0x01, | 
 
 
 
 
 | 36 | MFP_MEDIAPLAYER_STATE_PLAYING = 0x02, | 
 
 
 
 
 | 37 | MFP_MEDIAPLAYER_STATE_PAUSED = 0x03, | 
 
 
 
 
 | 38 | MFP_MEDIAPLAYER_STATE_SHUTDOWN = 0x04, | 
 
 
 
 
 | 39 | } MFP_MEDIAPLAYER_STATE; | 
 
 
 
 
 | 40 |  | 
 
 
 
 
 | 41 | cpp_quote("") | 
 
 
 
 
 | 42 | typedef UINT32 MFP_MEDIAITEM_CHARACTERISTICS; | 
 
 
 
 
 | 43 | cpp_quote("") | 
 
 
 
 
 | 44 | typedef [v1_enum] enum _MFP_MEDIAITEM_CHARACTERISTICS { | 
 
 
 
 
 | 45 | MFP_MEDIAITEM_IS_LIVE = 0x01, | 
 
 
 
 
 | 46 | MFP_MEDIAITEM_CAN_SEEK = 0x02, | 
 
 
 
 
 | 47 | MFP_MEDIAITEM_CAN_PAUSE = 0x04, | 
 
 
 
 
 | 48 | MFP_MEDIAITEM_HAS_SLOW_SEEK = 0x08, | 
 
 
 
 
 | 49 | } _MFP_MEDIAITEM_CHARACTERISTICS; | 
 
 
 
 
 | 50 |  | 
 
 
 
 
 | 51 | cpp_quote("") | 
 
 
 
 
 | 52 | typedef UINT32 MFP_CREDENTIAL_FLAGS; | 
 
 
 
 
 | 53 | cpp_quote("") | 
 
 
 
 
 | 54 | typedef [v1_enum] enum _MFP_CREDENTIAL_FLAGS{ | 
 
 
 
 
 | 55 | MFP_CREDENTIAL_PROMPT = 0x01, | 
 
 
 
 
 | 56 | MFP_CREDENTIAL_SAVE = 0x02, | 
 
 
 
 
 | 57 | MFP_CREDENTIAL_DO_NOT_CACHE = 0x04, | 
 
 
 
 
 | 58 | MFP_CREDENTIAL_CLEAR_TEXT = 0x08, | 
 
 
 
 
 | 59 | MFP_CREDENTIAL_PROXY = 0x10, | 
 
 
 
 
 | 60 | MFP_CREDENTIAL_LOGGED_ON_USER = 0x20, | 
 
 
 
 
 | 61 | } _MFP_CREDENTIAL_FLAGS; | 
 
 
 
 
 | 62 |  | 
 
 
 
 
 | 63 | cpp_quote("STDAPI MFPCreateMediaPlayer(LPCWSTR pwszURL, BOOL fStartPlayback, MFP_CREATION_OPTIONS creationOptions, IMFPMediaPlayerCallback * pCallback, HWND hWnd, IMFPMediaPlayer ** ppMediaPlayer);") | 
 
 
 
 
 | 64 |  | 
 
 
 
 
 | 65 | cpp_quote("") | 
 
 
 
 
 | 66 | [local, object, uuid(A714590A-58AF-430a-85BF-44F5EC838D85),] | 
 
 
 
 
 | 67 | interface IMFPMediaPlayer : IUnknown { | 
 
 
 
 
 | 68 | HRESULT Play(); | 
 
 
 
 
 | 69 | HRESULT Pause(); | 
 
 
 
 
 | 70 | HRESULT Stop(); | 
 
 
 
 
 | 71 | HRESULT FrameStep(); | 
 
 
 
 
 | 72 | HRESULT SetPosition([in, annotation("__in")] REFGUID guidPositionType, [in] const PROPVARIANT * pvPositionValue); | 
 
 
 
 
 | 73 | HRESULT GetPosition([in] REFGUID guidPositionType, [out] PROPVARIANT * pvPositionValue); | 
 
 
 
 
 | 74 | HRESULT GetDuration([in] REFGUID guidPositionType, [out] PROPVARIANT * pvDurationValue); | 
 
 
 
 
 | 75 | HRESULT SetRate([in] float flRate); | 
 
 
 
 
 | 76 | HRESULT GetRate([out] float *pflRate); | 
 
 
 
 
 | 77 | HRESULT GetSupportedRates([in] BOOL fForwardDirection, [out] float *pflSlowestRate, [out] float *pflFastestRate); | 
 
 
 
 
 | 78 | HRESULT GetState([out] MFP_MEDIAPLAYER_STATE * peState); | 
 
 
 
 
 | 79 | HRESULT CreateMediaItemFromURL([in] LPCWSTR pwszURL, [in] BOOL fSync, [in] DWORD_PTR dwUserData, [out] IMFPMediaItem ** ppMediaItem); | 
 
 
 
 
 | 80 | HRESULT CreateMediaItemFromObject([in] IUnknown * pIUnknownObj, [in] BOOL fSync, [in] DWORD_PTR dwUserData, [out] IMFPMediaItem ** ppMediaItem); | 
 
 
 
 
 | 81 | HRESULT SetMediaItem([in] IMFPMediaItem * pIMFPMediaItem); | 
 
 
 
 
 | 82 | HRESULT ClearMediaItem(); | 
 
 
 
 
 | 83 | HRESULT GetMediaItem([out]IMFPMediaItem ** ppIMFPMediaItem); | 
 
 
 
 
 | 84 | HRESULT GetVolume([out] float *pflVolume); | 
 
 
 
 
 | 85 | HRESULT SetVolume([in] float flVolume); | 
 
 
 
 
 | 86 | HRESULT GetBalance([out] float *pflBalance); | 
 
 
 
 
 | 87 | HRESULT SetBalance([in] float flBalance); | 
 
 
 
 
 | 88 | HRESULT GetMute([out] BOOL * pfMute); | 
 
 
 
 
 | 89 | HRESULT SetMute([in] BOOL fMute); | 
 
 
 
 
 | 90 | HRESULT GetNativeVideoSize([out] SIZE *pszVideo, [out] SIZE *pszARVideo); | 
 
 
 
 
 | 91 | HRESULT GetIdealVideoSize([out] SIZE *pszMin, [out] SIZE *pszMax ); | 
 
 
 
 
 | 92 | HRESULT SetVideoSourceRect([in] MFVideoNormalizedRect const *pnrcSource); | 
 
 
 
 
 | 93 | HRESULT GetVideoSourceRect([out] MFVideoNormalizedRect *pnrcSource); | 
 
 
 
 
 | 94 | HRESULT SetAspectRatioMode([in] DWORD dwAspectRatioMode); | 
 
 
 
 
 | 95 | HRESULT GetAspectRatioMode([out] DWORD *pdwAspectRatioMode); | 
 
 
 
 
 | 96 | HRESULT GetVideoWindow([out] HWND *phwndVideo ); | 
 
 
 
 
 | 97 | HRESULT UpdateVideo(); | 
 
 
 
 
 | 98 | HRESULT SetBorderColor([in] COLORREF Clr); | 
 
 
 
 
 | 99 | HRESULT GetBorderColor([out] COLORREF *pClr ); | 
 
 
 
 
 | 100 | HRESULT InsertEffect([in, annotation("__in")] IUnknown * pEffect, [in] BOOL fOptional); | 
 
 
 
 
 | 101 | HRESULT RemoveEffect([in] IUnknown * pEffect); | 
 
 
 
 
 | 102 | HRESULT RemoveAllEffects(); | 
 
 
 
 
 | 103 | HRESULT Shutdown(); | 
 
 
 
 
 | 104 | }; | 
 
 
 
 
 | 105 |  | 
 
 
 
 
 | 106 | cpp_quote("EXTERN_GUID( MFP_POSITIONTYPE_100NS, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 );") | 
 
 
 
 
 | 107 | cpp_quote("") | 
 
 
 
 
 | 108 | [local, object, uuid(90EB3E6B-ECBF-45cc-B1DA-C6FE3EA70D57),] | 
 
 
 
 
 | 109 | interface IMFPMediaItem : IUnknown { | 
 
 
 
 
 | 110 | HRESULT GetMediaPlayer([out] IMFPMediaPlayer ** ppMediaPlayer ); | 
 
 
 
 
 | 111 | HRESULT GetURL([out] LPWSTR * ppwszURL ); | 
 
 
 
 
 | 112 | HRESULT GetObject([out] IUnknown ** ppIUnknown ); | 
 
 
 
 
 | 113 | HRESULT GetUserData([out] DWORD_PTR * pdwUserData ); | 
 
 
 
 
 | 114 | HRESULT SetUserData([in] DWORD_PTR dwUserData ); | 
 
 
 
 
 | 115 | HRESULT GetStartStopPosition([out] GUID * pguidStartPositionType, [out] PROPVARIANT * pvStartValue, [out] GUID * pguidStopPositionType, [out] PROPVARIANT * pvStopValue); | 
 
 
 
 
 | 116 | HRESULT SetStartStopPosition([in] const GUID * pguidStartPositionType, [in] const PROPVARIANT * pvStartValue, [in] const GUID * pguidStopPositionType, [in] const PROPVARIANT * pvStopValue); | 
 
 
 
 
 | 117 | HRESULT HasVideo([out] BOOL * pfHasVideo, [out] BOOL * pfSelected); | 
 
 
 
 
 | 118 | HRESULT HasAudio([out] BOOL * pfHasAudio, [out] BOOL * pfSelected); | 
 
 
 
 
 | 119 | HRESULT IsProtected([out] BOOL * pfProtected); | 
 
 
 
 
 | 120 | HRESULT GetDuration([in] REFGUID guidPositionType, [out] PROPVARIANT * pvDurationValue); | 
 
 
 
 
 | 121 | HRESULT GetNumberOfStreams([out] DWORD * pdwStreamCount); | 
 
 
 
 
 | 122 | HRESULT GetStreamSelection([in] DWORD dwStreamIndex, [out] BOOL * pfEnabled); | 
 
 
 
 
 | 123 | HRESULT SetStreamSelection([in] DWORD dwStreamIndex,[in] BOOL fEnabled); | 
 
 
 
 
 | 124 | HRESULT GetStreamAttribute([in] DWORD dwStreamIndex, [in] REFGUID guidMFAttribute, [out] PROPVARIANT * pvValue); | 
 
 
 
 
 | 125 | HRESULT GetPresentationAttribute([in] REFGUID guidMFAttribute, [out] PROPVARIANT * pvValue); | 
 
 
 
 
 | 126 | HRESULT GetCharacteristics([out] MFP_MEDIAITEM_CHARACTERISTICS * pCharacteristics); | 
 
 
 
 
 | 127 | HRESULT SetStreamSink([in] DWORD dwStreamIndex, [in] IUnknown* pMediaSink); | 
 
 
 
 
 | 128 | HRESULT GetMetadata([out] IPropertyStore** ppMetadataStore ); | 
 
 
 
 
 | 129 | }; | 
 
 
 
 
 | 130 |  | 
 
 
 
 
 | 131 | cpp_quote("") | 
 
 
 
 
 | 132 | typedef enum MFP_EVENT_TYPE { | 
 
 
 
 
 | 133 | MFP_EVENT_TYPE_PLAY = 0, | 
 
 
 
 
 | 134 | MFP_EVENT_TYPE_PAUSE = 1, | 
 
 
 
 
 | 135 | MFP_EVENT_TYPE_STOP = 2, | 
 
 
 
 
 | 136 | MFP_EVENT_TYPE_POSITION_SET = 3, | 
 
 
 
 
 | 137 | MFP_EVENT_TYPE_RATE_SET = 4, | 
 
 
 
 
 | 138 | MFP_EVENT_TYPE_MEDIAITEM_CREATED = 5, | 
 
 
 
 
 | 139 | MFP_EVENT_TYPE_MEDIAITEM_SET = 6, | 
 
 
 
 
 | 140 | MFP_EVENT_TYPE_FRAME_STEP = 7, | 
 
 
 
 
 | 141 | MFP_EVENT_TYPE_MEDIAITEM_CLEARED = 8, | 
 
 
 
 
 | 142 | MFP_EVENT_TYPE_MF = 9, | 
 
 
 
 
 | 143 | MFP_EVENT_TYPE_ERROR = 10, | 
 
 
 
 
 | 144 | MFP_EVENT_TYPE_PLAYBACK_ENDED = 11, | 
 
 
 
 
 | 145 | MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL = 12, | 
 
 
 
 
 | 146 | } | 
 
 
 
 
 | 147 | MFP_EVENT_TYPE; | 
 
 
 
 
 | 148 |  | 
 
 
 
 
 | 149 | cpp_quote("") | 
 
 
 
 
 | 150 | typedef struct MFP_EVENT_HEADER { | 
 
 
 
 
 | 151 | MFP_EVENT_TYPE eEventType; | 
 
 
 
 
 | 152 | HRESULT hrEvent; | 
 
 
 
 
 | 153 | IMFPMediaPlayer * pMediaPlayer; | 
 
 
 
 
 | 154 | MFP_MEDIAPLAYER_STATE eState; | 
 
 
 
 
 | 155 | IPropertyStore * pPropertyStore; | 
 
 
 
 
 | 156 | } MFP_EVENT_HEADER; | 
 
 
 
 
 | 157 |  | 
 
 
 
 
 | 158 |  | 
 
 
 
 
 | 159 | cpp_quote("") | 
 
 
 
 
 | 160 | typedef struct MFP_PLAY_EVENT { | 
 
 
 
 
 | 161 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 162 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 163 | } MFP_PLAY_EVENT; | 
 
 
 
 
 | 164 |  | 
 
 
 
 
 | 165 |  | 
 
 
 
 
 | 166 | cpp_quote("") | 
 
 
 
 
 | 167 | typedef struct MFP_PAUSE_EVENT { | 
 
 
 
 
 | 168 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 169 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 170 | } MFP_PAUSE_EVENT; | 
 
 
 
 
 | 171 |  | 
 
 
 
 
 | 172 | cpp_quote("") | 
 
 
 
 
 | 173 | typedef struct MFP_STOP_EVENT { | 
 
 
 
 
 | 174 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 175 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 176 | } MFP_STOP_EVENT; | 
 
 
 
 
 | 177 |  | 
 
 
 
 
 | 178 | cpp_quote("") | 
 
 
 
 
 | 179 | typedef struct MFP_POSITION_SET_EVENT { | 
 
 
 
 
 | 180 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 181 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 182 | } MFP_POSITION_SET_EVENT; | 
 
 
 
 
 | 183 |  | 
 
 
 
 
 | 184 | cpp_quote("") | 
 
 
 
 
 | 185 | typedef struct MFP_RATE_SET_EVENT { | 
 
 
 
 
 | 186 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 187 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 188 | float flRate; | 
 
 
 
 
 | 189 | } MFP_RATE_SET_EVENT; | 
 
 
 
 
 | 190 |  | 
 
 
 
 
 | 191 | cpp_quote("") | 
 
 
 
 
 | 192 | typedef struct MFP_MEDIAITEM_CREATED_EVENT { | 
 
 
 
 
 | 193 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 194 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 195 | DWORD_PTR dwUserData; | 
 
 
 
 
 | 196 | } MFP_MEDIAITEM_CREATED_EVENT; | 
 
 
 
 
 | 197 |  | 
 
 
 
 
 | 198 | cpp_quote("") | 
 
 
 
 
 | 199 | typedef struct MFP_MEDIAITEM_SET_EVENT { | 
 
 
 
 
 | 200 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 201 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 202 | } MFP_MEDIAITEM_SET_EVENT; | 
 
 
 
 
 | 203 |  | 
 
 
 
 
 | 204 | cpp_quote("") | 
 
 
 
 
 | 205 | typedef struct MFP_FRAME_STEP_EVENT { | 
 
 
 
 
 | 206 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 207 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 208 | } MFP_FRAME_STEP_EVENT; | 
 
 
 
 
 | 209 |  | 
 
 
 
 
 | 210 | cpp_quote("") | 
 
 
 
 
 | 211 | typedef struct MFP_MEDIAITEM_CLEARED_EVENT { | 
 
 
 
 
 | 212 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 213 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 214 | } MFP_MEDIAITEM_CLEARED_EVENT; | 
 
 
 
 
 | 215 |  | 
 
 
 
 
 | 216 | cpp_quote("") | 
 
 
 
 
 | 217 | typedef struct MFP_MF_EVENT { | 
 
 
 
 
 | 218 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 219 | MediaEventType MFEventType; | 
 
 
 
 
 | 220 | IMFMediaEvent * pMFMediaEvent; | 
 
 
 
 
 | 221 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 222 | } MFP_MF_EVENT; | 
 
 
 
 
 | 223 |  | 
 
 
 
 
 | 224 | cpp_quote("") | 
 
 
 
 
 | 225 | typedef struct MFP_ERROR_EVENT { | 
 
 
 
 
 | 226 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 227 | } MFP_ERROR_EVENT; | 
 
 
 
 
 | 228 |  | 
 
 
 
 
 | 229 | cpp_quote("") | 
 
 
 
 
 | 230 | typedef struct MFP_PLAYBACK_ENDED_EVENT { | 
 
 
 
 
 | 231 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 232 | IMFPMediaItem * pMediaItem; | 
 
 
 
 
 | 233 | } MFP_PLAYBACK_ENDED_EVENT; | 
 
 
 
 
 | 234 |  | 
 
 
 
 
 | 235 | cpp_quote("") | 
 
 
 
 
 | 236 | typedef struct MFP_ACQUIRE_USER_CREDENTIAL_EVENT { | 
 
 
 
 
 | 237 | MFP_EVENT_HEADER header; | 
 
 
 
 
 | 238 | DWORD_PTR dwUserData; | 
 
 
 
 
 | 239 | BOOL fProceedWithAuthentication; | 
 
 
 
 
 | 240 | HRESULT hrAuthenticationStatus; | 
 
 
 
 
 | 241 | LPCWSTR pwszURL; | 
 
 
 
 
 | 242 | LPCWSTR pwszSite; | 
 
 
 
 
 | 243 | LPCWSTR pwszRealm; | 
 
 
 
 
 | 244 | LPCWSTR pwszPackage; | 
 
 
 
 
 | 245 | LONG nRetries; | 
 
 
 
 
 | 246 | MFP_CREDENTIAL_FLAGS flags; | 
 
 
 
 
 | 247 | IMFNetCredential * pCredential; | 
 
 
 
 
 | 248 | } MFP_ACQUIRE_USER_CREDENTIAL_EVENT; | 
 
 
 
 
 | 249 |  | 
 
 
 
 
 | 250 | cpp_quote("EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFP_PKEY_StreamIndex = { { 0xa7cf9740, 0xe8d9, 0x4a87, { 0xbd, 0x8e, 0x29, 0x67, 0x0, 0x1f, 0xd3, 0xad } }, 0x00 };") | 
 
 
 
 
 | 251 |  | 
 
 
 
 
 | 252 | cpp_quote("EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFP_PKEY_StreamRenderingResults = { { 0xa7cf9740, 0xe8d9, 0x4a87, { 0xbd, 0x8e, 0x29, 0x67, 0x0, 0x1f, 0xd3, 0xad } }, 0x01 };") | 
 
 
 
 
 | 253 |  | 
 
 
 
 
 | 254 | cpp_quote("#define __MFP_CAST_EVENT( pHdr, Tag ) (((pHdr)->eEventType == MFP_EVENT_TYPE_##Tag ) ? (MFP_##Tag##_EVENT*)(pHdr) : NULL)") | 
 
 
 
 
 | 255 |  | 
 
 
 
 
 | 256 | cpp_quote("#define MFP_GET_PLAY_EVENT( pHdr )                     __MFP_CAST_EVENT( pHdr, PLAY )") | 
 
 
 
 
 | 257 | cpp_quote("#define MFP_GET_PAUSE_EVENT( pHdr )                    __MFP_CAST_EVENT( pHdr, PAUSE )") | 
 
 
 
 
 | 258 | cpp_quote("#define MFP_GET_STOP_EVENT( pHdr )                     __MFP_CAST_EVENT( pHdr, STOP )") | 
 
 
 
 
 | 259 | cpp_quote("#define MFP_GET_POSITION_SET_EVENT( pHdr )             __MFP_CAST_EVENT( pHdr, POSITION_SET )") | 
 
 
 
 
 | 260 | cpp_quote("#define MFP_GET_RATE_SET_EVENT( pHdr )                 __MFP_CAST_EVENT( pHdr, RATE_SET )") | 
 
 
 
 
 | 261 | cpp_quote("#define MFP_GET_MEDIAITEM_CREATED_EVENT( pHdr )        __MFP_CAST_EVENT( pHdr, MEDIAITEM_CREATED )") | 
 
 
 
 
 | 262 | cpp_quote("#define MFP_GET_MEDIAITEM_SET_EVENT( pHdr )            __MFP_CAST_EVENT( pHdr, MEDIAITEM_SET )") | 
 
 
 
 
 | 263 | cpp_quote("#define MFP_GET_FRAME_STEP_EVENT( pHdr )               __MFP_CAST_EVENT( pHdr, FRAME_STEP )") | 
 
 
 
 
 | 264 | cpp_quote("#define MFP_GET_MEDIAITEM_CLEARED_EVENT( pHdr )        __MFP_CAST_EVENT( pHdr, MEDIAITEM_CLEARED )") | 
 
 
 
 
 | 265 | cpp_quote("#define MFP_GET_MF_EVENT( pHdr )                       __MFP_CAST_EVENT( pHdr, MF )") | 
 
 
 
 
 | 266 | cpp_quote("#define MFP_GET_ERROR_EVENT( pHdr )                    __MFP_CAST_EVENT( pHdr, ERROR )") | 
 
 
 
 
 | 267 | cpp_quote("#define MFP_GET_PLAYBACK_ENDED_EVENT( pHdr )           __MFP_CAST_EVENT( pHdr, PLAYBACK_ENDED )") | 
 
 
 
 
 | 268 | cpp_quote("#define MFP_GET_ACQUIRE_USER_CREDENTIAL_EVENT( pHdr )  __MFP_CAST_EVENT( pHdr, ACQUIRE_USER_CREDENTIAL )") | 
 
 
 
 
 | 269 |  | 
 
 
 
 
 | 270 | cpp_quote("") | 
 
 
 
 
 | 271 | [local, object, uuid(766C8FFB-5FDB-4fea-A28D-B912996F51BD),] | 
 
 
 
 
 | 272 | interface IMFPMediaPlayerCallback : IUnknown { | 
 
 
 
 
 | 273 | void OnMediaPlayerEvent([in] MFP_EVENT_HEADER * pEventHeader); | 
 
 
 
 
 | 274 | }; | 
 
 
 
 
 | 275 | cpp_quote("#endif // (WINVER >= _WIN32_WINNT_WIN7)") |