Reactos

[WMVCORE] Sync with Wine Staging 4.18. CORE-16441

+2389 -2073
+1
dll/win32/wmvcore/CMakeLists.txt
··· 4 4 spec2def(wmvcore.dll wmvcore.spec ADD_IMPORTLIB) 5 5 6 6 list(APPEND SOURCE 7 + reader.c 7 8 wmvcore_main.c 8 9 writer.c 9 10 ${CMAKE_CURRENT_BINARY_DIR}/wmvcore_stubs.c
+2322
dll/win32/wmvcore/reader.c
··· 1 + /* 2 + * Copyright 2012 Austin English 3 + * 4 + * This library is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU Lesser General Public 6 + * License as published by the Free Software Foundation; either 7 + * version 2.1 of the License, or (at your option) any later version. 8 + * 9 + * This library is distributed in the hope that it will be useful, 10 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 + * Lesser General Public License for more details. 13 + * 14 + * You should have received a copy of the GNU Lesser General Public 15 + * License along with this library; if not, write to the Free Software 16 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 + */ 18 + 19 + #include "wmvcore.h" 20 + 21 + #include "wmsdk.h" 22 + #include "wine/debug.h" 23 + #include "wine/heap.h" 24 + 25 + WINE_DEFAULT_DEBUG_CHANNEL(wmvcore); 26 + 27 + typedef struct { 28 + IWMReader IWMReader_iface; 29 + IWMReaderAdvanced6 IWMReaderAdvanced6_iface; 30 + IWMReaderAccelerator IWMReaderAccelerator_iface; 31 + IWMReaderNetworkConfig2 IWMReaderNetworkConfig2_iface; 32 + IWMReaderStreamClock IWMReaderStreamClock_iface; 33 + IWMReaderTypeNegotiation IWMReaderTypeNegotiation_iface; 34 + IWMReaderTimecode IWMReaderTimecode_iface; 35 + IWMReaderPlaylistBurn IWMReaderPlaylistBurn_iface; 36 + IWMHeaderInfo3 IWMHeaderInfo3_iface; 37 + IWMLanguageList IWMLanguageList_iface; 38 + IReferenceClock IReferenceClock_iface; 39 + IWMProfile3 IWMProfile3_iface; 40 + IWMPacketSize2 IWMPacketSize2_iface; 41 + LONG ref; 42 + } WMReader; 43 + 44 + static inline WMReader *impl_from_IWMReader(IWMReader *iface) 45 + { 46 + return CONTAINING_RECORD(iface, WMReader, IWMReader_iface); 47 + } 48 + 49 + static HRESULT WINAPI WMReader_QueryInterface(IWMReader *iface, REFIID riid, void **ppv) 50 + { 51 + WMReader *This = impl_from_IWMReader(iface); 52 + 53 + if(IsEqualGUID(riid, &IID_IUnknown)) { 54 + TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); 55 + *ppv = &This->IWMReader_iface; 56 + }else if(IsEqualGUID(riid, &IID_IWMReader)) { 57 + TRACE("(%p)->(IID_IWMReader %p)\n", This, ppv); 58 + *ppv = &This->IWMReader_iface; 59 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced)) { 60 + TRACE("(%p)->(IID_IWMReaderAdvanced %p)\n", This, ppv); 61 + *ppv = &This->IWMReaderAdvanced6_iface; 62 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced2)) { 63 + TRACE("(%p)->(IID_IWMReaderAdvanced2 %p)\n", This, ppv); 64 + *ppv = &This->IWMReaderAdvanced6_iface; 65 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced3)) { 66 + TRACE("(%p)->(IID_IWMReaderAdvanced3 %p)\n", This, ppv); 67 + *ppv = &This->IWMReaderAdvanced6_iface; 68 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced4)) { 69 + TRACE("(%p)->(IID_IWMReaderAdvanced4 %p)\n", This, ppv); 70 + *ppv = &This->IWMReaderAdvanced6_iface; 71 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced5)) { 72 + TRACE("(%p)->(IID_IWMReaderAdvanced5 %p)\n", This, ppv); 73 + *ppv = &This->IWMReaderAdvanced6_iface; 74 + }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced6)) { 75 + TRACE("(%p)->(IID_IWMReaderAdvanced6 %p)\n", This, ppv); 76 + *ppv = &This->IWMReaderAdvanced6_iface; 77 + }else if(IsEqualGUID(riid, &IID_IWMReaderAccelerator)) { 78 + TRACE("(%p)->(IID_IWMReaderAccelerator %p)\n", This, ppv); 79 + *ppv = &This->IWMReaderAccelerator_iface; 80 + }else if(IsEqualGUID(riid, &IID_IWMReaderNetworkConfig)) { 81 + TRACE("(%p)->(IWMReaderNetworkConfig %p)\n", This, ppv); 82 + *ppv = &This->IWMReaderNetworkConfig2_iface; 83 + }else if(IsEqualGUID(riid, &IID_IWMReaderNetworkConfig2)) { 84 + TRACE("(%p)->(IWMReaderNetworkConfig2 %p)\n", This, ppv); 85 + *ppv = &This->IWMReaderNetworkConfig2_iface; 86 + }else if(IsEqualGUID(riid, &IID_IWMReaderStreamClock)) { 87 + TRACE("(%p)->(IWMReaderStreamClock %p)\n", This, ppv); 88 + *ppv = &This->IWMReaderStreamClock_iface; 89 + }else if(IsEqualGUID(riid, &IID_IWMReaderTypeNegotiation)) { 90 + TRACE("(%p)->(IWMReaderTypeNegotiation %p)\n", This, ppv); 91 + *ppv = &This->IWMReaderTypeNegotiation_iface; 92 + }else if(IsEqualGUID(riid, &IID_IWMReaderTimecode)) { 93 + TRACE("(%p)->(IWMReaderTimecode %p)\n", This, ppv); 94 + *ppv = &This->IWMReaderTimecode_iface; 95 + }else if(IsEqualGUID(riid, &IID_IWMReaderPlaylistBurn)) { 96 + TRACE("(%p)->(IWMReaderPlaylistBurn %p)\n", This, ppv); 97 + *ppv = &This->IWMReaderPlaylistBurn_iface; 98 + }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo)) { 99 + TRACE("(%p)->(IWMHeaderInfo %p)\n", This, ppv); 100 + *ppv = &This->IWMHeaderInfo3_iface; 101 + }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo2)) { 102 + TRACE("(%p)->(IWMHeaderInfo2 %p)\n", This, ppv); 103 + *ppv = &This->IWMHeaderInfo3_iface; 104 + }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo3)) { 105 + TRACE("(%p)->(IWMHeaderInfo3 %p)\n", This, ppv); 106 + *ppv = &This->IWMHeaderInfo3_iface; 107 + }else if(IsEqualGUID(riid, &IID_IWMLanguageList)) { 108 + TRACE("(%p)->(IWMLanguageList %p)\n", This, ppv); 109 + *ppv = &This->IWMLanguageList_iface; 110 + }else if(IsEqualGUID(riid, &IID_IReferenceClock)) { 111 + TRACE("(%p)->(IWMLanguageList %p)\n", This, ppv); 112 + *ppv = &This->IReferenceClock_iface; 113 + }else if(IsEqualGUID(riid, &IID_IWMProfile)) { 114 + TRACE("(%p)->(IWMProfile %p)\n", This, ppv); 115 + *ppv = &This->IWMProfile3_iface; 116 + }else if(IsEqualGUID(riid, &IID_IWMProfile2)) { 117 + TRACE("(%p)->(IWMProfile2 %p)\n", This, ppv); 118 + *ppv = &This->IWMProfile3_iface; 119 + }else if(IsEqualGUID(riid, &IID_IWMProfile3)) { 120 + TRACE("(%p)->(IWMProfile3 %p)\n", This, ppv); 121 + *ppv = &This->IWMProfile3_iface; 122 + }else if(IsEqualGUID(riid, &IID_IWMPacketSize)) { 123 + TRACE("(%p)->(IWMPacketSize %p)\n", This, ppv); 124 + *ppv = &This->IWMPacketSize2_iface; 125 + }else if(IsEqualGUID(riid, &IID_IWMPacketSize2)) { 126 + TRACE("(%p)->(IWMPacketSize2 %p)\n", This, ppv); 127 + *ppv = &This->IWMPacketSize2_iface; 128 + }else { 129 + *ppv = NULL; 130 + FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); 131 + return E_NOINTERFACE; 132 + } 133 + 134 + IUnknown_AddRef((IUnknown*)*ppv); 135 + return S_OK; 136 + } 137 + 138 + static ULONG WINAPI WMReader_AddRef(IWMReader *iface) 139 + { 140 + WMReader *This = impl_from_IWMReader(iface); 141 + LONG ref = InterlockedIncrement(&This->ref); 142 + 143 + TRACE("(%p) ref=%d\n", This, ref); 144 + 145 + return ref; 146 + } 147 + 148 + static ULONG WINAPI WMReader_Release(IWMReader *iface) 149 + { 150 + WMReader *This = impl_from_IWMReader(iface); 151 + LONG ref = InterlockedDecrement(&This->ref); 152 + 153 + TRACE("(%p) ref=%d\n", This, ref); 154 + 155 + if(!ref) 156 + heap_free(This); 157 + 158 + return ref; 159 + } 160 + 161 + static HRESULT WINAPI WMReader_Open(IWMReader *iface, const WCHAR *url, IWMReaderCallback *callback, void *context) 162 + { 163 + WMReader *This = impl_from_IWMReader(iface); 164 + FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(url), callback, context); 165 + return E_NOTIMPL; 166 + } 167 + 168 + static HRESULT WINAPI WMReader_Close(IWMReader *iface) 169 + { 170 + WMReader *This = impl_from_IWMReader(iface); 171 + FIXME("(%p)\n", This); 172 + return E_NOTIMPL; 173 + } 174 + 175 + static HRESULT WINAPI WMReader_GetOutputCount(IWMReader *iface, DWORD *outputs) 176 + { 177 + WMReader *This = impl_from_IWMReader(iface); 178 + FIXME("(%p)->(%p)\n", This, outputs); 179 + return E_NOTIMPL; 180 + } 181 + 182 + static HRESULT WINAPI WMReader_GetOutputProps(IWMReader *iface, DWORD output_num, IWMOutputMediaProps **output) 183 + { 184 + WMReader *This = impl_from_IWMReader(iface); 185 + FIXME("(%p)->(%u %p)\n", This, output_num, output); 186 + return E_NOTIMPL; 187 + } 188 + 189 + static HRESULT WINAPI WMReader_SetOutputProps(IWMReader *iface, DWORD output_num, IWMOutputMediaProps *output) 190 + { 191 + WMReader *This = impl_from_IWMReader(iface); 192 + FIXME("(%p)->(%u %p)\n", This, output_num, output); 193 + return E_NOTIMPL; 194 + } 195 + 196 + static HRESULT WINAPI WMReader_GetOutputFormatCount(IWMReader *iface, DWORD output_num, DWORD *formats) 197 + { 198 + WMReader *This = impl_from_IWMReader(iface); 199 + FIXME("(%p)->(%u %p)\n", This, output_num, formats); 200 + return E_NOTIMPL; 201 + } 202 + 203 + static HRESULT WINAPI WMReader_GetOutputFormat(IWMReader *iface, DWORD output_num, DWORD format_num, IWMOutputMediaProps **props) 204 + { 205 + WMReader *This = impl_from_IWMReader(iface); 206 + FIXME("(%p)->(%u %u %p)\n", This, output_num, format_num, props); 207 + return E_NOTIMPL; 208 + } 209 + 210 + static HRESULT WINAPI WMReader_Start(IWMReader *iface, QWORD start, QWORD duration, float rate, void *context) 211 + { 212 + WMReader *This = impl_from_IWMReader(iface); 213 + FIXME("(%p)->(%s %s %f %p)\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(duration), rate, context); 214 + return E_NOTIMPL; 215 + } 216 + 217 + static HRESULT WINAPI WMReader_Stop(IWMReader *iface) 218 + { 219 + WMReader *This = impl_from_IWMReader(iface); 220 + FIXME("(%p)\n", This); 221 + return E_NOTIMPL; 222 + } 223 + 224 + static HRESULT WINAPI WMReader_Pause(IWMReader *iface) 225 + { 226 + WMReader *This = impl_from_IWMReader(iface); 227 + FIXME("(%p)\n", This); 228 + return E_NOTIMPL; 229 + } 230 + 231 + static HRESULT WINAPI WMReader_Resume(IWMReader *iface) 232 + { 233 + WMReader *This = impl_from_IWMReader(iface); 234 + FIXME("(%p)\n", This); 235 + return E_NOTIMPL; 236 + } 237 + 238 + static const IWMReaderVtbl WMReaderVtbl = { 239 + WMReader_QueryInterface, 240 + WMReader_AddRef, 241 + WMReader_Release, 242 + WMReader_Open, 243 + WMReader_Close, 244 + WMReader_GetOutputCount, 245 + WMReader_GetOutputProps, 246 + WMReader_SetOutputProps, 247 + WMReader_GetOutputFormatCount, 248 + WMReader_GetOutputFormat, 249 + WMReader_Start, 250 + WMReader_Stop, 251 + WMReader_Pause, 252 + WMReader_Resume 253 + }; 254 + 255 + static inline WMReader *impl_from_IWMReaderAdvanced6(IWMReaderAdvanced6 *iface) 256 + { 257 + return CONTAINING_RECORD(iface, WMReader, IWMReaderAdvanced6_iface); 258 + } 259 + 260 + static HRESULT WINAPI WMReaderAdvanced_QueryInterface(IWMReaderAdvanced6 *iface, REFIID riid, void **ppv) 261 + { 262 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 263 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 264 + } 265 + 266 + static ULONG WINAPI WMReaderAdvanced_AddRef(IWMReaderAdvanced6 *iface) 267 + { 268 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 269 + return IWMReader_AddRef(&This->IWMReader_iface); 270 + } 271 + 272 + static ULONG WINAPI WMReaderAdvanced_Release(IWMReaderAdvanced6 *iface) 273 + { 274 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 275 + return IWMReader_Release(&This->IWMReader_iface); 276 + } 277 + 278 + static HRESULT WINAPI WMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced6 *iface, BOOL user_clock) 279 + { 280 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 281 + FIXME("(%p)->(%x)\n", This, user_clock); 282 + return E_NOTIMPL; 283 + } 284 + 285 + static HRESULT WINAPI WMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced6 *iface, BOOL *user_clock) 286 + { 287 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 288 + FIXME("(%p)->(%p)\n", This, user_clock); 289 + return E_NOTIMPL; 290 + } 291 + 292 + static HRESULT WINAPI WMReaderAdvanced_DeliverTime(IWMReaderAdvanced6 *iface, QWORD time) 293 + { 294 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 295 + FIXME("(%p)->(%s)\n", This, wine_dbgstr_longlong(time)); 296 + return E_NOTIMPL; 297 + } 298 + 299 + static HRESULT WINAPI WMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced6 *iface, BOOL selection) 300 + { 301 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 302 + FIXME("(%p)->(%x)\n", This, selection); 303 + return E_NOTIMPL; 304 + } 305 + 306 + static HRESULT WINAPI WMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced6 *iface, BOOL *selection) 307 + { 308 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 309 + FIXME("(%p)->(%p)\n", This, selection); 310 + return E_NOTIMPL; 311 + } 312 + 313 + static HRESULT WINAPI WMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced6 *iface, WORD stream_count, 314 + WORD *stream_numbers, WMT_STREAM_SELECTION *selections) 315 + { 316 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 317 + FIXME("(%p)->(%d %p %p)\n", This, stream_count, stream_numbers, selections); 318 + return E_NOTIMPL; 319 + } 320 + 321 + static HRESULT WINAPI WMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced6 *iface, WORD stream_num, 322 + WMT_STREAM_SELECTION *selection) 323 + { 324 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 325 + FIXME("(%p)->(%d %p)\n", This, stream_num, selection); 326 + return E_NOTIMPL; 327 + } 328 + 329 + static HRESULT WINAPI WMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced6 *iface, BOOL get_callbacks) 330 + { 331 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 332 + FIXME("(%p)->(%x)\n", This, get_callbacks); 333 + return E_NOTIMPL; 334 + } 335 + 336 + static HRESULT WINAPI WMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced6 *iface, BOOL *get_callbacks) 337 + { 338 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 339 + FIXME("(%p)->(%p)\n", This, get_callbacks); 340 + return E_NOTIMPL; 341 + } 342 + 343 + static HRESULT WINAPI WMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced6 *iface, WORD stream_num, 344 + BOOL receive_stream_samples) 345 + { 346 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 347 + FIXME("(%p)->(%d %x)\n", This, stream_num, receive_stream_samples); 348 + return E_NOTIMPL; 349 + } 350 + 351 + static HRESULT WINAPI WMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced6 *iface, WORD stream_num, 352 + BOOL *receive_stream_samples) 353 + { 354 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 355 + FIXME("(%p)->(%d %p)\n", This, stream_num, receive_stream_samples); 356 + return E_NOTIMPL; 357 + } 358 + 359 + static HRESULT WINAPI WMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced6 *iface, DWORD output_num, BOOL allocate) 360 + { 361 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 362 + FIXME("(%p)->(%d %x)\n", This, output_num, allocate); 363 + return E_NOTIMPL; 364 + } 365 + 366 + static HRESULT WINAPI WMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced6 *iface, DWORD output_num, BOOL *allocate) 367 + { 368 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 369 + FIXME("(%p)->(%d %p)\n", This, output_num, allocate); 370 + return E_NOTIMPL; 371 + } 372 + 373 + static HRESULT WINAPI WMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced6 *iface, WORD output_num, BOOL allocate) 374 + { 375 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 376 + FIXME("(%p)->(%d %x)\n", This, output_num, allocate); 377 + return E_NOTIMPL; 378 + } 379 + 380 + static HRESULT WINAPI WMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced6 *iface, WORD output_num, BOOL *allocate) 381 + { 382 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 383 + FIXME("(%p)->(%d %p)\n", This, output_num, allocate); 384 + return E_NOTIMPL; 385 + } 386 + 387 + static HRESULT WINAPI WMReaderAdvanced_GetStatistics(IWMReaderAdvanced6 *iface, WM_READER_STATISTICS *statistics) 388 + { 389 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 390 + FIXME("(%p)->(%p)\n", This, statistics); 391 + return E_NOTIMPL; 392 + } 393 + 394 + static HRESULT WINAPI WMReaderAdvanced_SetClientInfo(IWMReaderAdvanced6 *iface, WM_READER_CLIENTINFO *client_info) 395 + { 396 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 397 + FIXME("(%p)->(%p)\n", This, client_info); 398 + return E_NOTIMPL; 399 + } 400 + 401 + static HRESULT WINAPI WMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced6 *iface, DWORD output, DWORD *max) 402 + { 403 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 404 + FIXME("(%p)->(%d %p)\n", This, output, max); 405 + return E_NOTIMPL; 406 + } 407 + 408 + static HRESULT WINAPI WMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced6 *iface, WORD stream, DWORD *max) 409 + { 410 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 411 + FIXME("(%p)->(%d %p)\n", This, stream, max); 412 + return E_NOTIMPL; 413 + } 414 + 415 + static HRESULT WINAPI WMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced6 *iface, QWORD lateness) 416 + { 417 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 418 + FIXME("(%p)->(%s)\n", This, wine_dbgstr_longlong(lateness)); 419 + return E_NOTIMPL; 420 + } 421 + 422 + static HRESULT WINAPI WMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced6 *iface, WMT_PLAY_MODE mode) 423 + { 424 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 425 + FIXME("(%p)->(%d)\n", This, mode); 426 + return E_NOTIMPL; 427 + } 428 + 429 + static HRESULT WINAPI WMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced6 *iface, WMT_PLAY_MODE *mode) 430 + { 431 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 432 + FIXME("(%p)->(%p)\n", This, mode); 433 + return E_NOTIMPL; 434 + } 435 + 436 + static HRESULT WINAPI WMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced6 *iface, DWORD *percent, QWORD *buffering) 437 + { 438 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 439 + FIXME("(%p)->(%p %p)\n", This, percent, buffering); 440 + return E_NOTIMPL; 441 + } 442 + 443 + static HRESULT WINAPI WMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced6 *iface, DWORD *percent, 444 + QWORD *bytes_downloaded, QWORD *download) 445 + { 446 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 447 + FIXME("(%p)->(%p %p %p)\n", This, percent, bytes_downloaded, download); 448 + return E_NOTIMPL; 449 + } 450 + 451 + static HRESULT WINAPI WMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced6 *iface, DWORD *percent) 452 + { 453 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 454 + FIXME("(%p)->(%p)\n", This, percent); 455 + return E_NOTIMPL; 456 + } 457 + 458 + static HRESULT WINAPI WMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced6 *iface, const WCHAR *filename) 459 + { 460 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 461 + FIXME("(%p)->(%s)\n", This, debugstr_w(filename)); 462 + return E_NOTIMPL; 463 + } 464 + 465 + static HRESULT WINAPI WMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced6 *iface, WCHAR *protocol, DWORD *protocol_len) 466 + { 467 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 468 + FIXME("(%p)->(%p %p)\n", This, protocol, protocol_len); 469 + return E_NOTIMPL; 470 + } 471 + 472 + static HRESULT WINAPI WMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced6 *iface, WORD marker_index, 473 + QWORD duration, float rate, void *context) 474 + { 475 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 476 + FIXME("(%p)->(%d %s %f %p)\n", This, marker_index, wine_dbgstr_longlong(duration), rate, context); 477 + return E_NOTIMPL; 478 + } 479 + 480 + static HRESULT WINAPI WMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced6 *iface, DWORD output_num, 481 + const WCHAR *name, WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 482 + { 483 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 484 + FIXME("(%p)->(%d %s %p %p %p)\n", This, output_num, debugstr_w(name), type, value, length); 485 + return E_NOTIMPL; 486 + } 487 + 488 + static HRESULT WINAPI WMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced6 *iface, DWORD output_num, 489 + const WCHAR *name, WMT_ATTR_DATATYPE type, const BYTE *value, WORD length) 490 + { 491 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 492 + FIXME("(%p)->(%d %s %d %p %d)\n", This, output_num, debugstr_w(name), type, value, length); 493 + return E_NOTIMPL; 494 + } 495 + 496 + static HRESULT WINAPI WMReaderAdvanced2_Preroll(IWMReaderAdvanced6 *iface, QWORD start, QWORD duration, float rate) 497 + { 498 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 499 + FIXME("(%p)->(%s %s %f)\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(duration), rate); 500 + return E_NOTIMPL; 501 + } 502 + 503 + static HRESULT WINAPI WMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced6 *iface, BOOL log_client_id) 504 + { 505 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 506 + FIXME("(%p)->(%x)\n", This, log_client_id); 507 + return E_NOTIMPL; 508 + } 509 + 510 + static HRESULT WINAPI WMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced6 *iface, BOOL *log_client_id) 511 + { 512 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 513 + FIXME("(%p)->(%p)\n", This, log_client_id); 514 + return E_NOTIMPL; 515 + } 516 + 517 + static HRESULT WINAPI WMReaderAdvanced2_StopBuffering(IWMReaderAdvanced6 *iface) 518 + { 519 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 520 + FIXME("(%p)\n", This); 521 + return E_NOTIMPL; 522 + } 523 + 524 + static HRESULT WINAPI WMReaderAdvanced2_OpenStream(IWMReaderAdvanced6 *iface, IStream *stream, 525 + IWMReaderCallback *callback, void *context) 526 + { 527 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 528 + FIXME("(%p)->(%p %p %p)\n", This, stream, callback, context); 529 + return E_NOTIMPL; 530 + } 531 + 532 + static HRESULT WINAPI WMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced6 *iface) 533 + { 534 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 535 + FIXME("(%p)\n", This); 536 + return E_NOTIMPL; 537 + } 538 + 539 + static HRESULT WINAPI WMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced6 *iface, WORD stream_num, 540 + void *offset_start, void *duration, WMT_OFFSET_FORMAT format, float rate, void *context) 541 + { 542 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 543 + FIXME("(%p)->(%d %p %p %d %f %p)\n", This, stream_num, offset_start, duration, format, rate, context); 544 + return E_NOTIMPL; 545 + } 546 + 547 + static HRESULT WINAPI WMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced6 *iface, DWORD output_num, WORD *language_count) 548 + { 549 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 550 + FIXME("(%p)->(%d %p)\n", This, output_num, language_count); 551 + return E_NOTIMPL; 552 + } 553 + 554 + static HRESULT WINAPI WMReaderAdvanced4_GetLanguage(IWMReaderAdvanced6 *iface, DWORD output_num, 555 + WORD language, WCHAR *language_string, WORD *language_string_len) 556 + { 557 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 558 + FIXME("(%p)->(%d %x %p %p)\n", This, output_num, language, language_string, language_string_len); 559 + return E_NOTIMPL; 560 + } 561 + 562 + static HRESULT WINAPI WMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced6 *iface, double *factor) 563 + { 564 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 565 + FIXME("(%p)->(%p)\n", This, factor); 566 + return E_NOTIMPL; 567 + } 568 + 569 + static HRESULT WINAPI WMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced6 *iface, BOOL *using_fast_cache) 570 + { 571 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 572 + FIXME("(%p)->(%p)\n", This, using_fast_cache); 573 + return E_NOTIMPL; 574 + } 575 + 576 + static HRESULT WINAPI WMReaderAdvanced4_AddLogParam(IWMReaderAdvanced6 *iface, const WCHAR *namespace, 577 + const WCHAR *name, const WCHAR *value) 578 + { 579 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 580 + FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(namespace), debugstr_w(name), debugstr_w(value)); 581 + return E_NOTIMPL; 582 + } 583 + 584 + static HRESULT WINAPI WMReaderAdvanced4_SendLogParams(IWMReaderAdvanced6 *iface) 585 + { 586 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 587 + FIXME("(%p)\n", This); 588 + return E_NOTIMPL; 589 + } 590 + 591 + static HRESULT WINAPI WMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced6 *iface, BOOL *can_save) 592 + { 593 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 594 + FIXME("(%p)->(%p)\n", This, can_save); 595 + return E_NOTIMPL; 596 + } 597 + 598 + static HRESULT WINAPI WMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced6 *iface) 599 + { 600 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 601 + FIXME("(%p)\n", This); 602 + return E_NOTIMPL; 603 + } 604 + 605 + static HRESULT WINAPI WMReaderAdvanced4_GetURL(IWMReaderAdvanced6 *iface, WCHAR *url, DWORD *url_len) 606 + { 607 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 608 + FIXME("(%p)->(%p %p)\n", This, url, url_len); 609 + return E_NOTIMPL; 610 + } 611 + 612 + static HRESULT WINAPI WMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced6 *iface, DWORD output_num, IWMPlayerHook *hook) 613 + { 614 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 615 + FIXME("(%p)->(%d %p)\n", This, output_num, hook); 616 + return E_NOTIMPL; 617 + } 618 + 619 + static HRESULT WINAPI WMReaderAdvanced6_SetProtextStreamSamples(IWMReaderAdvanced6 *iface, BYTE *cert, 620 + DWORD cert_size, DWORD cert_type, DWORD flags, BYTE *initialization_vector, DWORD *initialization_vector_size) 621 + { 622 + WMReader *This = impl_from_IWMReaderAdvanced6(iface); 623 + FIXME("(%p)->(%p %d %d %x %p %p)\n", This, cert, cert_size, cert_type, flags, initialization_vector, 624 + initialization_vector_size); 625 + return E_NOTIMPL; 626 + } 627 + 628 + static const IWMReaderAdvanced6Vtbl WMReaderAdvanced6Vtbl = { 629 + WMReaderAdvanced_QueryInterface, 630 + WMReaderAdvanced_AddRef, 631 + WMReaderAdvanced_Release, 632 + WMReaderAdvanced_SetUserProvidedClock, 633 + WMReaderAdvanced_GetUserProvidedClock, 634 + WMReaderAdvanced_DeliverTime, 635 + WMReaderAdvanced_SetManualStreamSelection, 636 + WMReaderAdvanced_GetManualStreamSelection, 637 + WMReaderAdvanced_SetStreamsSelected, 638 + WMReaderAdvanced_GetStreamSelected, 639 + WMReaderAdvanced_SetReceiveSelectionCallbacks, 640 + WMReaderAdvanced_GetReceiveSelectionCallbacks, 641 + WMReaderAdvanced_SetReceiveStreamSamples, 642 + WMReaderAdvanced_GetReceiveStreamSamples, 643 + WMReaderAdvanced_SetAllocateForOutput, 644 + WMReaderAdvanced_GetAllocateForOutput, 645 + WMReaderAdvanced_SetAllocateForStream, 646 + WMReaderAdvanced_GetAllocateForStream, 647 + WMReaderAdvanced_GetStatistics, 648 + WMReaderAdvanced_SetClientInfo, 649 + WMReaderAdvanced_GetMaxOutputSampleSize, 650 + WMReaderAdvanced_GetMaxStreamSampleSize, 651 + WMReaderAdvanced_NotifyLateDelivery, 652 + WMReaderAdvanced2_SetPlayMode, 653 + WMReaderAdvanced2_GetPlayMode, 654 + WMReaderAdvanced2_GetBufferProgress, 655 + WMReaderAdvanced2_GetDownloadProgress, 656 + WMReaderAdvanced2_GetSaveAsProgress, 657 + WMReaderAdvanced2_SaveFileAs, 658 + WMReaderAdvanced2_GetProtocolName, 659 + WMReaderAdvanced2_StartAtMarker, 660 + WMReaderAdvanced2_GetOutputSetting, 661 + WMReaderAdvanced2_SetOutputSetting, 662 + WMReaderAdvanced2_Preroll, 663 + WMReaderAdvanced2_SetLogClientID, 664 + WMReaderAdvanced2_GetLogClientID, 665 + WMReaderAdvanced2_StopBuffering, 666 + WMReaderAdvanced2_OpenStream, 667 + WMReaderAdvanced3_StopNetStreaming, 668 + WMReaderAdvanced3_StartAtPosition, 669 + WMReaderAdvanced4_GetLanguageCount, 670 + WMReaderAdvanced4_GetLanguage, 671 + WMReaderAdvanced4_GetMaxSpeedFactor, 672 + WMReaderAdvanced4_IsUsingFastCache, 673 + WMReaderAdvanced4_AddLogParam, 674 + WMReaderAdvanced4_SendLogParams, 675 + WMReaderAdvanced4_CanSaveFileAs, 676 + WMReaderAdvanced4_CancelSaveFileAs, 677 + WMReaderAdvanced4_GetURL, 678 + WMReaderAdvanced5_SetPlayerHook, 679 + WMReaderAdvanced6_SetProtextStreamSamples 680 + }; 681 + 682 + static inline WMReader *impl_from_IWMReaderAccelerator(IWMReaderAccelerator *iface) 683 + { 684 + return CONTAINING_RECORD(iface, WMReader, IWMReaderAccelerator_iface); 685 + } 686 + 687 + static HRESULT WINAPI reader_accl_QueryInterface(IWMReaderAccelerator *iface, REFIID riid, void **object) 688 + { 689 + WMReader *This = impl_from_IWMReaderAccelerator(iface); 690 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, object); 691 + } 692 + 693 + static ULONG WINAPI reader_accl_AddRef(IWMReaderAccelerator *iface) 694 + { 695 + WMReader *This = impl_from_IWMReaderAccelerator(iface); 696 + return IWMReader_AddRef(&This->IWMReader_iface); 697 + } 698 + 699 + static ULONG WINAPI reader_accl_Release(IWMReaderAccelerator *iface) 700 + { 701 + WMReader *This = impl_from_IWMReaderAccelerator(iface); 702 + return IWMReader_Release(&This->IWMReader_iface); 703 + } 704 + 705 + static HRESULT WINAPI reader_accl_GetCodecInterface(IWMReaderAccelerator *iface, DWORD output, REFIID riid, void **codec) 706 + { 707 + WMReader *This = impl_from_IWMReaderAccelerator(iface); 708 + 709 + FIXME("%p, %d, %s, %p\n", This, output, debugstr_guid(riid), codec); 710 + 711 + return E_NOTIMPL; 712 + } 713 + 714 + static HRESULT WINAPI reader_accl_Notify(IWMReaderAccelerator *iface, DWORD output, WM_MEDIA_TYPE *subtype) 715 + { 716 + WMReader *This = impl_from_IWMReaderAccelerator(iface); 717 + 718 + FIXME("%p, %d, %p\n", This, output, subtype); 719 + 720 + return E_NOTIMPL; 721 + } 722 + 723 + static const IWMReaderAcceleratorVtbl WMReaderAcceleratorVtbl = { 724 + reader_accl_QueryInterface, 725 + reader_accl_AddRef, 726 + reader_accl_Release, 727 + reader_accl_GetCodecInterface, 728 + reader_accl_Notify 729 + }; 730 + 731 + static inline WMReader *impl_from_IWMReaderNetworkConfig2(IWMReaderNetworkConfig2 *iface) 732 + { 733 + return CONTAINING_RECORD(iface, WMReader, IWMReaderNetworkConfig2_iface); 734 + } 735 + 736 + static HRESULT WINAPI networkconfig_QueryInterface(IWMReaderNetworkConfig2 *iface, REFIID riid, void **ppv) 737 + { 738 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 739 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 740 + } 741 + 742 + static ULONG WINAPI networkconfig_AddRef(IWMReaderNetworkConfig2 *iface) 743 + { 744 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 745 + return IWMReader_AddRef(&This->IWMReader_iface); 746 + } 747 + 748 + static ULONG WINAPI networkconfig_Release(IWMReaderNetworkConfig2 *iface) 749 + { 750 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 751 + return IWMReader_Release(&This->IWMReader_iface); 752 + } 753 + 754 + static HRESULT WINAPI networkconfig_GetBufferingTime(IWMReaderNetworkConfig2 *iface, QWORD *buffering_time) 755 + { 756 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 757 + FIXME("%p, %p\n", This, buffering_time); 758 + return E_NOTIMPL; 759 + } 760 + 761 + static HRESULT WINAPI networkconfig_SetBufferingTime(IWMReaderNetworkConfig2 *iface, QWORD buffering_time) 762 + { 763 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 764 + FIXME("%p, %s\n", This, wine_dbgstr_longlong(buffering_time)); 765 + return E_NOTIMPL; 766 + } 767 + 768 + static HRESULT WINAPI networkconfig_GetUDPPortRanges(IWMReaderNetworkConfig2 *iface, WM_PORT_NUMBER_RANGE *array, 769 + DWORD *ranges) 770 + { 771 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 772 + FIXME("%p, %p, %p\n", This, array, ranges); 773 + return E_NOTIMPL; 774 + } 775 + 776 + static HRESULT WINAPI networkconfig_SetUDPPortRanges(IWMReaderNetworkConfig2 *iface, WM_PORT_NUMBER_RANGE *array, 777 + DWORD ranges) 778 + { 779 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 780 + FIXME("%p, %p, %u\n", This, array, ranges); 781 + return E_NOTIMPL; 782 + } 783 + 784 + static HRESULT WINAPI networkconfig_GetProxySettings(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 785 + WMT_PROXY_SETTINGS *proxy) 786 + { 787 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 788 + FIXME("%p, %s, %p\n", This, debugstr_w(protocol), proxy); 789 + return E_NOTIMPL; 790 + } 791 + 792 + static HRESULT WINAPI networkconfig_SetProxySettings(IWMReaderNetworkConfig2 *iface, LPCWSTR protocol, 793 + WMT_PROXY_SETTINGS proxy) 794 + { 795 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 796 + FIXME("%p, %s, %d\n", This, debugstr_w(protocol), proxy); 797 + return E_NOTIMPL; 798 + } 799 + 800 + static HRESULT WINAPI networkconfig_GetProxyHostName(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 801 + WCHAR *hostname, DWORD *size) 802 + { 803 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 804 + FIXME("%p, %s, %p, %p\n", This, debugstr_w(protocol), hostname, size); 805 + return E_NOTIMPL; 806 + } 807 + 808 + static HRESULT WINAPI networkconfig_SetProxyHostName(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 809 + const WCHAR *hostname) 810 + { 811 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 812 + FIXME("%p, %s, %s\n", This, debugstr_w(protocol), debugstr_w(hostname)); 813 + return E_NOTIMPL; 814 + } 815 + 816 + static HRESULT WINAPI networkconfig_GetProxyPort(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 817 + DWORD *port) 818 + { 819 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 820 + FIXME("%p, %s, %p\n", This, debugstr_w(protocol), port); 821 + return E_NOTIMPL; 822 + } 823 + 824 + static HRESULT WINAPI networkconfig_SetProxyPort(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 825 + DWORD port) 826 + { 827 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 828 + FIXME("%p, %s, %u\n", This, debugstr_w(protocol), port); 829 + return E_NOTIMPL; 830 + } 831 + 832 + static HRESULT WINAPI networkconfig_GetProxyExceptionList(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 833 + WCHAR *exceptions, DWORD *count) 834 + { 835 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 836 + FIXME("%p, %s, %p, %p\n", This, debugstr_w(protocol), exceptions, count); 837 + return E_NOTIMPL; 838 + } 839 + 840 + static HRESULT WINAPI networkconfig_SetProxyExceptionList(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 841 + const WCHAR *exceptions) 842 + { 843 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 844 + FIXME("%p, %s, %s\n", This, debugstr_w(protocol), debugstr_w(exceptions)); 845 + return E_NOTIMPL; 846 + } 847 + 848 + static HRESULT WINAPI networkconfig_GetProxyBypassForLocal(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 849 + BOOL *bypass) 850 + { 851 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 852 + FIXME("%p, %s, %p\n", This, debugstr_w(protocol), bypass); 853 + return E_NOTIMPL; 854 + } 855 + 856 + static HRESULT WINAPI networkconfig_SetProxyBypassForLocal(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 857 + BOOL bypass) 858 + { 859 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 860 + FIXME("%p, %s, %d\n", This, debugstr_w(protocol), bypass); 861 + return E_NOTIMPL; 862 + } 863 + 864 + static HRESULT WINAPI networkconfig_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2 *iface, 865 + BOOL *detection) 866 + { 867 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 868 + FIXME("%p, %p\n", This, detection); 869 + return E_NOTIMPL; 870 + } 871 + 872 + static HRESULT WINAPI networkconfig_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2 *iface, 873 + BOOL detection) 874 + { 875 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 876 + FIXME("%p, %d\n", This, detection); 877 + return E_NOTIMPL; 878 + } 879 + 880 + static HRESULT WINAPI networkconfig_GetEnableMulticast(IWMReaderNetworkConfig2 *iface, BOOL *multicast) 881 + { 882 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 883 + FIXME("%p, %p\n", This, multicast); 884 + return E_NOTIMPL; 885 + } 886 + 887 + static HRESULT WINAPI networkconfig_SetEnableMulticast(IWMReaderNetworkConfig2 *iface, BOOL multicast) 888 + { 889 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 890 + FIXME("%p, %d\n", This, multicast); 891 + return E_NOTIMPL; 892 + } 893 + 894 + static HRESULT WINAPI networkconfig_GetEnableHTTP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 895 + { 896 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 897 + FIXME("%p, %p\n", This, enable); 898 + return E_NOTIMPL; 899 + } 900 + 901 + static HRESULT WINAPI networkconfig_SetEnableHTTP(IWMReaderNetworkConfig2 *iface, BOOL enable) 902 + { 903 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 904 + FIXME("%p, %d\n", This, enable); 905 + return E_NOTIMPL; 906 + } 907 + 908 + static HRESULT WINAPI networkconfig_GetEnableUDP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 909 + { 910 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 911 + FIXME("%p, %p\n", This, enable); 912 + return E_NOTIMPL; 913 + } 914 + 915 + static HRESULT WINAPI networkconfig_SetEnableUDP(IWMReaderNetworkConfig2 *iface, BOOL enable) 916 + { 917 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 918 + FIXME("%p, %d\n", This, enable); 919 + return E_NOTIMPL; 920 + } 921 + 922 + static HRESULT WINAPI networkconfig_GetEnableTCP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 923 + { 924 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 925 + FIXME("%p, %p\n", This, enable); 926 + return E_NOTIMPL; 927 + } 928 + 929 + static HRESULT WINAPI networkconfig_SetEnableTCP(IWMReaderNetworkConfig2 *iface, BOOL enable) 930 + { 931 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 932 + FIXME("%p, %d\n", This, enable); 933 + return E_NOTIMPL; 934 + } 935 + 936 + static HRESULT WINAPI networkconfig_ResetProtocolRollover(IWMReaderNetworkConfig2 *iface) 937 + { 938 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 939 + FIXME("%p\n", This); 940 + return E_NOTIMPL; 941 + } 942 + 943 + static HRESULT WINAPI networkconfig_GetConnectionBandwidth(IWMReaderNetworkConfig2 *iface, DWORD *bandwidth) 944 + { 945 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 946 + FIXME("%p, %p\n", This, bandwidth); 947 + return E_NOTIMPL; 948 + } 949 + 950 + static HRESULT WINAPI networkconfig_SetConnectionBandwidth(IWMReaderNetworkConfig2 *iface, DWORD bandwidth) 951 + { 952 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 953 + FIXME("%p, %u\n", This, bandwidth); 954 + return E_NOTIMPL; 955 + } 956 + 957 + static HRESULT WINAPI networkconfig_GetNumProtocolsSupported(IWMReaderNetworkConfig2 *iface, DWORD *protocols) 958 + { 959 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 960 + FIXME("%p, %p\n", This, protocols); 961 + return E_NOTIMPL; 962 + } 963 + 964 + static HRESULT WINAPI networkconfig_GetSupportedProtocolName(IWMReaderNetworkConfig2 *iface, DWORD protocol_num, 965 + WCHAR *protocol, DWORD *size) 966 + { 967 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 968 + FIXME("%p, %u, %p %p\n", This, protocol_num, protocol, size); 969 + return E_NOTIMPL; 970 + } 971 + 972 + static HRESULT WINAPI networkconfig_AddLoggingUrl(IWMReaderNetworkConfig2 *iface, const WCHAR *url) 973 + { 974 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 975 + FIXME("%p, %s\n", This, debugstr_w(url)); 976 + return E_NOTIMPL; 977 + } 978 + 979 + static HRESULT WINAPI networkconfig_GetLoggingUrl(IWMReaderNetworkConfig2 *iface, DWORD index, WCHAR *url, 980 + DWORD *size) 981 + { 982 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 983 + FIXME("%p, %u, %p, %p\n", This, index, url, size); 984 + return E_NOTIMPL; 985 + } 986 + 987 + static HRESULT WINAPI networkconfig_GetLoggingUrlCount(IWMReaderNetworkConfig2 *iface, DWORD *count) 988 + { 989 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 990 + FIXME("%p, %p\n", This, count); 991 + return E_NOTIMPL; 992 + } 993 + 994 + static HRESULT WINAPI networkconfig_ResetLoggingUrlList(IWMReaderNetworkConfig2 *iface) 995 + { 996 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 997 + FIXME("%p\n", This); 998 + return E_NOTIMPL; 999 + } 1000 + 1001 + static HRESULT WINAPI networkconfig_GetEnableContentCaching(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1002 + { 1003 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1004 + FIXME("%p, %p\n", This, enable); 1005 + return E_NOTIMPL; 1006 + } 1007 + 1008 + static HRESULT WINAPI networkconfig_SetEnableContentCaching(IWMReaderNetworkConfig2 *iface, BOOL enable) 1009 + { 1010 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1011 + FIXME("%p, %d\n", This, enable); 1012 + return E_NOTIMPL; 1013 + } 1014 + 1015 + static HRESULT WINAPI networkconfig_GetEnableFastCache(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1016 + { 1017 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1018 + FIXME("%p, %p\n", This, enable); 1019 + return E_NOTIMPL; 1020 + } 1021 + 1022 + static HRESULT WINAPI networkconfig_SetEnableFastCache(IWMReaderNetworkConfig2 *iface, BOOL enable) 1023 + { 1024 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1025 + FIXME("%p, %d\n", This, enable); 1026 + return E_NOTIMPL; 1027 + } 1028 + 1029 + static HRESULT WINAPI networkconfig_GetAcceleratedStreamingDuration(IWMReaderNetworkConfig2 *iface, 1030 + QWORD *duration) 1031 + { 1032 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1033 + FIXME("%p, %p\n", This, duration); 1034 + return E_NOTIMPL; 1035 + } 1036 + 1037 + static HRESULT WINAPI networkconfig_SetAcceleratedStreamingDuration(IWMReaderNetworkConfig2 *iface, 1038 + QWORD duration) 1039 + { 1040 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1041 + FIXME("%p, %s\n", This, wine_dbgstr_longlong(duration)); 1042 + return E_NOTIMPL; 1043 + } 1044 + 1045 + static HRESULT WINAPI networkconfig_GetAutoReconnectLimit(IWMReaderNetworkConfig2 *iface, DWORD *limit) 1046 + { 1047 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1048 + FIXME("%p, %p\n", This, limit); 1049 + return E_NOTIMPL; 1050 + } 1051 + 1052 + static HRESULT WINAPI networkconfig_SetAutoReconnectLimit(IWMReaderNetworkConfig2 *iface, DWORD limit) 1053 + { 1054 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1055 + FIXME("%p, %u\n", This, limit); 1056 + return E_NOTIMPL; 1057 + } 1058 + 1059 + static HRESULT WINAPI networkconfig_GetEnableResends(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1060 + { 1061 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1062 + FIXME("%p, %p\n", This, enable); 1063 + return E_NOTIMPL; 1064 + } 1065 + 1066 + static HRESULT WINAPI networkconfig_SetEnableResends(IWMReaderNetworkConfig2 *iface, BOOL enable) 1067 + { 1068 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1069 + FIXME("%p, %u\n", This, enable); 1070 + return E_NOTIMPL; 1071 + } 1072 + 1073 + static HRESULT WINAPI networkconfig_GetEnableThinning(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1074 + { 1075 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1076 + FIXME("%p, %p\n", This, enable); 1077 + return E_NOTIMPL; 1078 + } 1079 + 1080 + static HRESULT WINAPI networkconfig_SetEnableThinning(IWMReaderNetworkConfig2 *iface, BOOL enable) 1081 + { 1082 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1083 + FIXME("%p, %u\n", This, enable); 1084 + return E_NOTIMPL; 1085 + } 1086 + 1087 + static HRESULT WINAPI networkconfig_GetMaxNetPacketSize(IWMReaderNetworkConfig2 *iface, DWORD *packet_size) 1088 + { 1089 + WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1090 + FIXME("%p, %p\n", This, packet_size); 1091 + return E_NOTIMPL; 1092 + } 1093 + 1094 + static const IWMReaderNetworkConfig2Vtbl WMReaderNetworkConfig2Vtbl = 1095 + { 1096 + networkconfig_QueryInterface, 1097 + networkconfig_AddRef, 1098 + networkconfig_Release, 1099 + networkconfig_GetBufferingTime, 1100 + networkconfig_SetBufferingTime, 1101 + networkconfig_GetUDPPortRanges, 1102 + networkconfig_SetUDPPortRanges, 1103 + networkconfig_GetProxySettings, 1104 + networkconfig_SetProxySettings, 1105 + networkconfig_GetProxyHostName, 1106 + networkconfig_SetProxyHostName, 1107 + networkconfig_GetProxyPort, 1108 + networkconfig_SetProxyPort, 1109 + networkconfig_GetProxyExceptionList, 1110 + networkconfig_SetProxyExceptionList, 1111 + networkconfig_GetProxyBypassForLocal, 1112 + networkconfig_SetProxyBypassForLocal, 1113 + networkconfig_GetForceRerunAutoProxyDetection, 1114 + networkconfig_SetForceRerunAutoProxyDetection, 1115 + networkconfig_GetEnableMulticast, 1116 + networkconfig_SetEnableMulticast, 1117 + networkconfig_GetEnableHTTP, 1118 + networkconfig_SetEnableHTTP, 1119 + networkconfig_GetEnableUDP, 1120 + networkconfig_SetEnableUDP, 1121 + networkconfig_GetEnableTCP, 1122 + networkconfig_SetEnableTCP, 1123 + networkconfig_ResetProtocolRollover, 1124 + networkconfig_GetConnectionBandwidth, 1125 + networkconfig_SetConnectionBandwidth, 1126 + networkconfig_GetNumProtocolsSupported, 1127 + networkconfig_GetSupportedProtocolName, 1128 + networkconfig_AddLoggingUrl, 1129 + networkconfig_GetLoggingUrl, 1130 + networkconfig_GetLoggingUrlCount, 1131 + networkconfig_ResetLoggingUrlList, 1132 + networkconfig_GetEnableContentCaching, 1133 + networkconfig_SetEnableContentCaching, 1134 + networkconfig_GetEnableFastCache, 1135 + networkconfig_SetEnableFastCache, 1136 + networkconfig_GetAcceleratedStreamingDuration, 1137 + networkconfig_SetAcceleratedStreamingDuration, 1138 + networkconfig_GetAutoReconnectLimit, 1139 + networkconfig_SetAutoReconnectLimit, 1140 + networkconfig_GetEnableResends, 1141 + networkconfig_SetEnableResends, 1142 + networkconfig_GetEnableThinning, 1143 + networkconfig_SetEnableThinning, 1144 + networkconfig_GetMaxNetPacketSize 1145 + }; 1146 + 1147 + static inline WMReader *impl_from_IWMReaderStreamClock(IWMReaderStreamClock *iface) 1148 + { 1149 + return CONTAINING_RECORD(iface, WMReader, IWMReaderStreamClock_iface); 1150 + } 1151 + 1152 + static HRESULT WINAPI readclock_QueryInterface(IWMReaderStreamClock *iface, REFIID riid, void **ppv) 1153 + { 1154 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1155 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1156 + } 1157 + 1158 + static ULONG WINAPI readclock_AddRef(IWMReaderStreamClock *iface) 1159 + { 1160 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1161 + return IWMReader_AddRef(&This->IWMReader_iface); 1162 + } 1163 + 1164 + static ULONG WINAPI readclock_Release(IWMReaderStreamClock *iface) 1165 + { 1166 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1167 + return IWMReader_Release(&This->IWMReader_iface); 1168 + } 1169 + 1170 + static HRESULT WINAPI readclock_GetTime(IWMReaderStreamClock *iface, QWORD *now) 1171 + { 1172 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1173 + FIXME("%p, %p\n", This, now); 1174 + return E_NOTIMPL; 1175 + } 1176 + 1177 + static HRESULT WINAPI readclock_SetTimer(IWMReaderStreamClock *iface, QWORD when, void *param, DWORD *id) 1178 + { 1179 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1180 + FIXME("%p, %s, %p, %p\n", This, wine_dbgstr_longlong(when), param, id); 1181 + return E_NOTIMPL; 1182 + } 1183 + 1184 + static HRESULT WINAPI readclock_KillTimer(IWMReaderStreamClock *iface, DWORD id) 1185 + { 1186 + WMReader *This = impl_from_IWMReaderStreamClock(iface); 1187 + FIXME("%p, %d\n", This, id); 1188 + return E_NOTIMPL; 1189 + } 1190 + 1191 + static const IWMReaderStreamClockVtbl WMReaderStreamClockVtbl = 1192 + { 1193 + readclock_QueryInterface, 1194 + readclock_AddRef, 1195 + readclock_Release, 1196 + readclock_GetTime, 1197 + readclock_SetTimer, 1198 + readclock_KillTimer 1199 + }; 1200 + 1201 + static inline WMReader *impl_from_IWMReaderTypeNegotiation(IWMReaderTypeNegotiation *iface) 1202 + { 1203 + return CONTAINING_RECORD(iface, WMReader, IWMReaderTypeNegotiation_iface); 1204 + } 1205 + 1206 + static HRESULT WINAPI negotiation_QueryInterface(IWMReaderTypeNegotiation *iface, REFIID riid, void **ppv) 1207 + { 1208 + WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1209 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1210 + } 1211 + 1212 + static ULONG WINAPI negotiation_AddRef(IWMReaderTypeNegotiation *iface) 1213 + { 1214 + WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1215 + return IWMReader_AddRef(&This->IWMReader_iface); 1216 + } 1217 + 1218 + static ULONG WINAPI negotiation_Release(IWMReaderTypeNegotiation *iface) 1219 + { 1220 + WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1221 + return IWMReader_Release(&This->IWMReader_iface); 1222 + } 1223 + 1224 + static HRESULT WINAPI negotiation_TryOutputProps(IWMReaderTypeNegotiation *iface, DWORD output, IWMOutputMediaProps *props) 1225 + { 1226 + WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1227 + FIXME("%p, %d, %p\n", This, output, props); 1228 + return E_NOTIMPL; 1229 + } 1230 + 1231 + static const IWMReaderTypeNegotiationVtbl WMReaderTypeNegotiationVtbl = 1232 + { 1233 + negotiation_QueryInterface, 1234 + negotiation_AddRef, 1235 + negotiation_Release, 1236 + negotiation_TryOutputProps 1237 + }; 1238 + 1239 + static inline WMReader *impl_from_IWMReaderTimecode(IWMReaderTimecode *iface) 1240 + { 1241 + return CONTAINING_RECORD(iface, WMReader, IWMReaderTimecode_iface); 1242 + } 1243 + 1244 + static HRESULT WINAPI timecode_QueryInterface(IWMReaderTimecode *iface, REFIID riid, void **ppv) 1245 + { 1246 + WMReader *This = impl_from_IWMReaderTimecode(iface); 1247 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1248 + } 1249 + 1250 + static ULONG WINAPI timecode_AddRef(IWMReaderTimecode *iface) 1251 + { 1252 + WMReader *This = impl_from_IWMReaderTimecode(iface); 1253 + return IWMReader_AddRef(&This->IWMReader_iface); 1254 + } 1255 + 1256 + static ULONG WINAPI timecode_Release(IWMReaderTimecode *iface) 1257 + { 1258 + WMReader *This = impl_from_IWMReaderTimecode(iface); 1259 + return IWMReader_Release(&This->IWMReader_iface); 1260 + } 1261 + 1262 + static HRESULT WINAPI timecode_GetTimecodeRangeCount(IWMReaderTimecode *iface, WORD num, WORD *count) 1263 + { 1264 + WMReader *This = impl_from_IWMReaderTimecode(iface); 1265 + FIXME("%p, %d, %p\n", This, num, count); 1266 + return E_NOTIMPL; 1267 + } 1268 + 1269 + static HRESULT WINAPI timecode_GetTimecodeRangeBounds(IWMReaderTimecode *iface, WORD stream, WORD range, 1270 + DWORD *start_timecode, DWORD *end_timecode) 1271 + { 1272 + WMReader *This = impl_from_IWMReaderTimecode(iface); 1273 + FIXME("%p, %d, %d, %p, %p\n", This, stream, range, start_timecode, end_timecode); 1274 + return E_NOTIMPL; 1275 + } 1276 + 1277 + static const IWMReaderTimecodeVtbl WMReaderTimecodeVtbl = 1278 + { 1279 + timecode_QueryInterface, 1280 + timecode_AddRef, 1281 + timecode_Release, 1282 + timecode_GetTimecodeRangeCount, 1283 + timecode_GetTimecodeRangeBounds 1284 + }; 1285 + 1286 + 1287 + static inline WMReader *impl_from_IWMReaderPlaylistBurn(IWMReaderPlaylistBurn *iface) 1288 + { 1289 + return CONTAINING_RECORD(iface, WMReader, IWMReaderPlaylistBurn_iface); 1290 + } 1291 + 1292 + static HRESULT WINAPI playlist_QueryInterface(IWMReaderPlaylistBurn *iface, REFIID riid, void **ppv) 1293 + { 1294 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1295 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1296 + } 1297 + 1298 + static ULONG WINAPI playlist_AddRef(IWMReaderPlaylistBurn *iface) 1299 + { 1300 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1301 + return IWMReader_AddRef(&This->IWMReader_iface); 1302 + } 1303 + 1304 + static ULONG WINAPI playlist_Release(IWMReaderPlaylistBurn *iface) 1305 + { 1306 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1307 + return IWMReader_Release(&This->IWMReader_iface); 1308 + } 1309 + 1310 + static HRESULT WINAPI playlist_InitPlaylistBurn(IWMReaderPlaylistBurn *iface, DWORD count, 1311 + LPCWSTR_WMSDK_TYPE_SAFE *filenames, IWMStatusCallback *callback, void *context) 1312 + { 1313 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1314 + FIXME("%p, %d, %p, %p, %p\n", This, count, filenames, callback, context); 1315 + return E_NOTIMPL; 1316 + } 1317 + 1318 + static HRESULT WINAPI playlist_GetInitResults(IWMReaderPlaylistBurn *iface, DWORD count, HRESULT *stat) 1319 + { 1320 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1321 + FIXME("%p, %d, %p\n", This, count, stat); 1322 + return E_NOTIMPL; 1323 + } 1324 + 1325 + static HRESULT WINAPI playlist_Cancel(IWMReaderPlaylistBurn *iface) 1326 + { 1327 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1328 + FIXME("%p\n", This); 1329 + return E_NOTIMPL; 1330 + } 1331 + 1332 + static HRESULT WINAPI playlist_EndPlaylistBurn(IWMReaderPlaylistBurn *iface, HRESULT result) 1333 + { 1334 + WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1335 + FIXME("%p, 0x%08x\n", This, result); 1336 + return E_NOTIMPL; 1337 + } 1338 + 1339 + static const IWMReaderPlaylistBurnVtbl WMReaderPlaylistBurnVtbl = 1340 + { 1341 + playlist_QueryInterface, 1342 + playlist_AddRef, 1343 + playlist_Release, 1344 + playlist_InitPlaylistBurn, 1345 + playlist_GetInitResults, 1346 + playlist_Cancel, 1347 + playlist_EndPlaylistBurn 1348 + }; 1349 + 1350 + static inline WMReader *impl_from_IWMHeaderInfo3(IWMHeaderInfo3 *iface) 1351 + { 1352 + return CONTAINING_RECORD(iface, WMReader, IWMHeaderInfo3_iface); 1353 + } 1354 + 1355 + static HRESULT WINAPI headerinfo_QueryInterface(IWMHeaderInfo3 *iface, REFIID riid, void **ppv) 1356 + { 1357 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1358 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1359 + } 1360 + 1361 + static ULONG WINAPI headerinfo_AddRef(IWMHeaderInfo3 *iface) 1362 + { 1363 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1364 + return IWMReader_AddRef(&This->IWMReader_iface); 1365 + } 1366 + 1367 + static ULONG WINAPI headerinfo_Release(IWMHeaderInfo3 *iface) 1368 + { 1369 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1370 + return IWMReader_Release(&This->IWMReader_iface); 1371 + } 1372 + 1373 + static HRESULT WINAPI headerinfo_GetAttributeCount(IWMHeaderInfo3 *iface, WORD stream_num, WORD *attributes) 1374 + { 1375 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1376 + FIXME("%p, %d, %p\n", This, stream_num, attributes); 1377 + return E_NOTIMPL; 1378 + } 1379 + 1380 + static HRESULT WINAPI headerinfo_GetAttributeByIndex(IWMHeaderInfo3 *iface, WORD index, WORD *stream_num, 1381 + WCHAR *name, WORD *name_len, WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 1382 + { 1383 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1384 + FIXME("%p, %d, %p, %p, %p, %p, %p, %p\n", This, index, stream_num, name, name_len, type, 1385 + value, length); 1386 + return E_NOTIMPL; 1387 + } 1388 + 1389 + static HRESULT WINAPI headerinfo_GetAttributeByName(IWMHeaderInfo3 *iface, WORD *stream_num, LPCWSTR name, 1390 + WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 1391 + { 1392 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1393 + FIXME("%p, %p, %s, %p, %p, %p\n", This, stream_num, debugstr_w(name), type, value, length); 1394 + return E_NOTIMPL; 1395 + } 1396 + 1397 + static HRESULT WINAPI headerinfo_SetAttribute(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1398 + WMT_ATTR_DATATYPE type, const BYTE *value, WORD length) 1399 + { 1400 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1401 + FIXME("%p, %d, %s, %d, %p, %d\n", This, stream_num, debugstr_w(name), type, value, length); 1402 + return E_NOTIMPL; 1403 + } 1404 + 1405 + static HRESULT WINAPI headerinfo_GetMarkerCount(IWMHeaderInfo3 *iface, WORD *markers) 1406 + { 1407 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1408 + FIXME("%p, %p\n", This, markers); 1409 + return E_NOTIMPL; 1410 + } 1411 + 1412 + static HRESULT WINAPI headerinfo_GetMarker(IWMHeaderInfo3 *iface, WORD index, WCHAR *marker_name, 1413 + WORD *marker_len, QWORD *marker_time) 1414 + { 1415 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1416 + FIXME("%p, %d, %p, %p, %p\n", This, index, marker_name, marker_len, marker_time); 1417 + return E_NOTIMPL; 1418 + } 1419 + 1420 + static HRESULT WINAPI headerinfo_AddMarker(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE marker_name, 1421 + QWORD marker_time) 1422 + { 1423 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1424 + FIXME("%p, %p, %s\n", This, marker_name, wine_dbgstr_longlong(marker_time)); 1425 + return E_NOTIMPL; 1426 + } 1427 + 1428 + static HRESULT WINAPI headerinfo_RemoveMarker(IWMHeaderInfo3 *iface, WORD index) 1429 + { 1430 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1431 + FIXME("%p, %d\n", This, index); 1432 + return E_NOTIMPL; 1433 + } 1434 + 1435 + static HRESULT WINAPI headerinfo_GetScriptCount(IWMHeaderInfo3 *iface, WORD *scripts) 1436 + { 1437 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1438 + FIXME("%p, %p\n", This, scripts); 1439 + return E_NOTIMPL; 1440 + } 1441 + 1442 + static HRESULT WINAPI headerinfo_GetScript(IWMHeaderInfo3 *iface, WORD index, WCHAR *type, 1443 + WORD *type_len, WCHAR *command, WORD *command_len, QWORD *script_time) 1444 + { 1445 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1446 + FIXME("%p, %d, %p, %p, %p, %p, %p\n", This, index, type, type_len, command, command_len, script_time); 1447 + return E_NOTIMPL; 1448 + } 1449 + 1450 + static HRESULT WINAPI headerinfo_AddScript(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE type, 1451 + LPCWSTR_WMSDK_TYPE_SAFE command, QWORD script_time) 1452 + { 1453 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1454 + FIXME("%p, %s, %s, %s\n", This, debugstr_w(type), debugstr_w(command), wine_dbgstr_longlong(script_time)); 1455 + return E_NOTIMPL; 1456 + } 1457 + 1458 + static HRESULT WINAPI headerinfo_RemoveScript(IWMHeaderInfo3 *iface, WORD index) 1459 + { 1460 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1461 + FIXME("%p, %d\n", This, index); 1462 + return E_NOTIMPL; 1463 + } 1464 + 1465 + static HRESULT WINAPI headerinfo_GetCodecInfoCount(IWMHeaderInfo3 *iface, DWORD *codec_infos) 1466 + { 1467 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1468 + FIXME("%p, %p\n", This, codec_infos); 1469 + return E_NOTIMPL; 1470 + } 1471 + 1472 + static HRESULT WINAPI headerinfo_GetCodecInfo(IWMHeaderInfo3 *iface, DWORD index, WORD *name_len, 1473 + WCHAR *name, WORD *description_len, WCHAR *description, WMT_CODEC_INFO_TYPE *codec_type, 1474 + WORD *codec_info_cnt, BYTE *codec_info) 1475 + { 1476 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1477 + FIXME("%p, %d, %p, %p, %p, %p, %p, %p, %p\n", This, index, name_len, name, description_len, 1478 + description, codec_type, codec_info_cnt, codec_info); 1479 + return E_NOTIMPL; 1480 + } 1481 + 1482 + static HRESULT WINAPI headerinfo_GetAttributeCountEx(IWMHeaderInfo3 *iface, WORD stream_num, WORD *attributes) 1483 + { 1484 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1485 + FIXME("%p, %d, %p\n", This, stream_num, attributes); 1486 + return E_NOTIMPL; 1487 + } 1488 + 1489 + static HRESULT WINAPI headerinfo_GetAttributeIndices(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1490 + WORD *lang_index, WORD *indices, WORD *count) 1491 + { 1492 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1493 + FIXME("%p, %d, %s, %p, %p, %p\n", This, stream_num, debugstr_w(name), lang_index, indices, count); 1494 + return E_NOTIMPL; 1495 + } 1496 + 1497 + static HRESULT WINAPI headerinfo_GetAttributeByIndexEx(IWMHeaderInfo3 *iface, WORD stream_num, 1498 + WORD index, LPWSTR name, WORD *name_len, WMT_ATTR_DATATYPE *type, WORD *lang_index, 1499 + BYTE *value, DWORD *data_len) 1500 + { 1501 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1502 + FIXME("%p, %d, %d, %s, %p, %p, %p, %p, %p\n", This, stream_num, index, debugstr_w(name), name_len, 1503 + type, lang_index, value, data_len); 1504 + return E_NOTIMPL; 1505 + } 1506 + 1507 + static HRESULT WINAPI headerinfo_ModifyAttribute(IWMHeaderInfo3 *iface, WORD stream_num, 1508 + WORD index, WMT_ATTR_DATATYPE type, WORD lang_index, const BYTE *value, DWORD length) 1509 + { 1510 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1511 + FIXME("%p, %d, %d, %d, %d, %p, %d\n", This, stream_num, index, type, lang_index, value, length); 1512 + return E_NOTIMPL; 1513 + } 1514 + 1515 + static HRESULT WINAPI headerinfo_AddAttribute(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1516 + WORD *index, WMT_ATTR_DATATYPE type, WORD lang_index, const BYTE *value, DWORD length) 1517 + { 1518 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1519 + FIXME("%p, %d, %s, %p, %d, %d, %p, %d\n", This, stream_num, debugstr_w(name), index, 1520 + type, lang_index, value, length); 1521 + return E_NOTIMPL; 1522 + } 1523 + 1524 + static HRESULT WINAPI headerinfo_DeleteAttribute(IWMHeaderInfo3 *iface, WORD stream_num, WORD index) 1525 + { 1526 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1527 + FIXME("%p, %d, %d\n", This, stream_num, index); 1528 + return E_NOTIMPL; 1529 + } 1530 + 1531 + static HRESULT WINAPI headerinfo_AddCodecInfo(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE name, 1532 + LPCWSTR_WMSDK_TYPE_SAFE description, WMT_CODEC_INFO_TYPE codec_type, WORD codec_info_cnt, 1533 + BYTE *codec_info) 1534 + { 1535 + WMReader *This = impl_from_IWMHeaderInfo3(iface); 1536 + FIXME("%p, %p, %p, %d, %d, %p\n", This, name, description, codec_type, codec_info_cnt, 1537 + codec_info); 1538 + return E_NOTIMPL; 1539 + } 1540 + 1541 + static const IWMHeaderInfo3Vtbl WMHeaderInfo3Vtbl = 1542 + { 1543 + headerinfo_QueryInterface, 1544 + headerinfo_AddRef, 1545 + headerinfo_Release, 1546 + headerinfo_GetAttributeCount, 1547 + headerinfo_GetAttributeByIndex, 1548 + headerinfo_GetAttributeByName, 1549 + headerinfo_SetAttribute, 1550 + headerinfo_GetMarkerCount, 1551 + headerinfo_GetMarker, 1552 + headerinfo_AddMarker, 1553 + headerinfo_RemoveMarker, 1554 + headerinfo_GetScriptCount, 1555 + headerinfo_GetScript, 1556 + headerinfo_AddScript, 1557 + headerinfo_RemoveScript, 1558 + headerinfo_GetCodecInfoCount, 1559 + headerinfo_GetCodecInfo, 1560 + headerinfo_GetAttributeCountEx, 1561 + headerinfo_GetAttributeIndices, 1562 + headerinfo_GetAttributeByIndexEx, 1563 + headerinfo_ModifyAttribute, 1564 + headerinfo_AddAttribute, 1565 + headerinfo_DeleteAttribute, 1566 + headerinfo_AddCodecInfo 1567 + }; 1568 + 1569 + 1570 + static inline WMReader *impl_from_IWMLanguageList(IWMLanguageList *iface) 1571 + { 1572 + return CONTAINING_RECORD(iface, WMReader, IWMLanguageList_iface); 1573 + } 1574 + 1575 + static HRESULT WINAPI langlist_QueryInterface(IWMLanguageList *iface, REFIID riid, void **ppv) 1576 + { 1577 + WMReader *This = impl_from_IWMLanguageList(iface); 1578 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1579 + } 1580 + 1581 + static ULONG WINAPI langlist_AddRef(IWMLanguageList *iface) 1582 + { 1583 + WMReader *This = impl_from_IWMLanguageList(iface); 1584 + return IWMReader_AddRef(&This->IWMReader_iface); 1585 + } 1586 + 1587 + static ULONG WINAPI langlist_Release(IWMLanguageList *iface) 1588 + { 1589 + WMReader *This = impl_from_IWMLanguageList(iface); 1590 + return IWMReader_Release(&This->IWMReader_iface); 1591 + } 1592 + 1593 + static HRESULT WINAPI langlist_GetLanguageCount(IWMLanguageList *iface, WORD *count) 1594 + { 1595 + WMReader *This = impl_from_IWMLanguageList(iface); 1596 + FIXME("%p, %p\n", This, count); 1597 + return E_NOTIMPL; 1598 + } 1599 + 1600 + static HRESULT WINAPI langlist_GetLanguageDetails(IWMLanguageList *iface, WORD index, 1601 + WCHAR *language, WORD *length) 1602 + { 1603 + WMReader *This = impl_from_IWMLanguageList(iface); 1604 + FIXME("%p, %d, %p, %p\n", This, index, language, length); 1605 + return E_NOTIMPL; 1606 + } 1607 + 1608 + static HRESULT WINAPI langlist_AddLanguageByRFC1766String(IWMLanguageList *iface, LPCWSTR_WMSDK_TYPE_SAFE language, 1609 + WORD *index) 1610 + { 1611 + WMReader *This = impl_from_IWMLanguageList(iface); 1612 + FIXME("%p, %p, %p\n", This, language, index); 1613 + return E_NOTIMPL; 1614 + } 1615 + 1616 + static const IWMLanguageListVtbl WMLanguageListVtbl = 1617 + { 1618 + langlist_QueryInterface, 1619 + langlist_AddRef, 1620 + langlist_Release, 1621 + langlist_GetLanguageCount, 1622 + langlist_GetLanguageDetails, 1623 + langlist_AddLanguageByRFC1766String 1624 + }; 1625 + 1626 + static inline WMReader *impl_from_IReferenceClock(IReferenceClock *iface) 1627 + { 1628 + return CONTAINING_RECORD(iface, WMReader, IReferenceClock_iface); 1629 + } 1630 + 1631 + static HRESULT WINAPI refclock_QueryInterface(IReferenceClock *iface, REFIID riid, void **ppv) 1632 + { 1633 + WMReader *This = impl_from_IReferenceClock(iface); 1634 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1635 + } 1636 + 1637 + static ULONG WINAPI refclock_AddRef(IReferenceClock *iface) 1638 + { 1639 + WMReader *This = impl_from_IReferenceClock(iface); 1640 + return IWMReader_AddRef(&This->IWMReader_iface); 1641 + } 1642 + 1643 + static ULONG WINAPI refclock_Release(IReferenceClock *iface) 1644 + { 1645 + WMReader *This = impl_from_IReferenceClock(iface); 1646 + return IWMReader_Release(&This->IWMReader_iface); 1647 + } 1648 + 1649 + static HRESULT WINAPI refclock_GetTime(IReferenceClock *iface, REFERENCE_TIME *time) 1650 + { 1651 + WMReader *This = impl_from_IReferenceClock(iface); 1652 + FIXME("%p, %p\n", This, time); 1653 + return E_NOTIMPL; 1654 + } 1655 + 1656 + static HRESULT WINAPI refclock_AdviseTime(IReferenceClock *iface, REFERENCE_TIME basetime, 1657 + REFERENCE_TIME streamtime, HEVENT event, DWORD_PTR *cookie) 1658 + { 1659 + WMReader *This = impl_from_IReferenceClock(iface); 1660 + FIXME("%p, %s, %s, %lu, %p\n", This, wine_dbgstr_longlong(basetime), 1661 + wine_dbgstr_longlong(streamtime), event, cookie); 1662 + return E_NOTIMPL; 1663 + } 1664 + 1665 + static HRESULT WINAPI refclock_AdvisePeriodic(IReferenceClock *iface, REFERENCE_TIME starttime, 1666 + REFERENCE_TIME period, HSEMAPHORE semaphore, DWORD_PTR *cookie) 1667 + { 1668 + WMReader *This = impl_from_IReferenceClock(iface); 1669 + FIXME("%p, %s, %s, %lu, %p\n", This, wine_dbgstr_longlong(starttime), 1670 + wine_dbgstr_longlong(period), semaphore, cookie); 1671 + return E_NOTIMPL; 1672 + } 1673 + 1674 + static HRESULT WINAPI refclock_Unadvise(IReferenceClock *iface, DWORD_PTR cookie) 1675 + { 1676 + WMReader *This = impl_from_IReferenceClock(iface); 1677 + FIXME("%p, %lu\n", This, cookie); 1678 + return E_NOTIMPL; 1679 + } 1680 + 1681 + static const IReferenceClockVtbl ReferenceClockVtbl = 1682 + { 1683 + refclock_QueryInterface, 1684 + refclock_AddRef, 1685 + refclock_Release, 1686 + refclock_GetTime, 1687 + refclock_AdviseTime, 1688 + refclock_AdvisePeriodic, 1689 + refclock_Unadvise 1690 + }; 1691 + 1692 + static inline WMReader *impl_from_IWMProfile3(IWMProfile3 *iface) 1693 + { 1694 + return CONTAINING_RECORD(iface, WMReader, IWMProfile3_iface); 1695 + } 1696 + 1697 + static HRESULT WINAPI profile3_QueryInterface(IWMProfile3 *iface, REFIID riid, void **ppv) 1698 + { 1699 + WMReader *This = impl_from_IWMProfile3(iface); 1700 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1701 + } 1702 + 1703 + static ULONG WINAPI profile3_AddRef(IWMProfile3 *iface) 1704 + { 1705 + WMReader *This = impl_from_IWMProfile3(iface); 1706 + return IWMReader_AddRef(&This->IWMReader_iface); 1707 + } 1708 + 1709 + static ULONG WINAPI profile3_Release(IWMProfile3 *iface) 1710 + { 1711 + WMReader *This = impl_from_IWMProfile3(iface); 1712 + return IWMReader_Release(&This->IWMReader_iface); 1713 + } 1714 + 1715 + static HRESULT WINAPI profile3_GetVersion(IWMProfile3 *iface, WMT_VERSION *version) 1716 + { 1717 + WMReader *This = impl_from_IWMProfile3(iface); 1718 + FIXME("%p, %p\n", This, version); 1719 + return E_NOTIMPL; 1720 + } 1721 + 1722 + static HRESULT WINAPI profile3_GetName(IWMProfile3 *iface, WCHAR *name, DWORD *length) 1723 + { 1724 + WMReader *This = impl_from_IWMProfile3(iface); 1725 + FIXME("%p, %p, %p\n", This, name, length); 1726 + return E_NOTIMPL; 1727 + } 1728 + 1729 + static HRESULT WINAPI profile3_SetName(IWMProfile3 *iface, const WCHAR *name) 1730 + { 1731 + WMReader *This = impl_from_IWMProfile3(iface); 1732 + FIXME("%p, %s\n", This, debugstr_w(name)); 1733 + return E_NOTIMPL; 1734 + } 1735 + 1736 + static HRESULT WINAPI profile3_GetDescription(IWMProfile3 *iface, WCHAR *description, DWORD *length) 1737 + { 1738 + WMReader *This = impl_from_IWMProfile3(iface); 1739 + FIXME("%p, %p, %p\n", This, description, length); 1740 + return E_NOTIMPL; 1741 + } 1742 + 1743 + static HRESULT WINAPI profile3_SetDescription(IWMProfile3 *iface, const WCHAR *description) 1744 + { 1745 + WMReader *This = impl_from_IWMProfile3(iface); 1746 + FIXME("%p, %s\n", This, debugstr_w(description)); 1747 + return E_NOTIMPL; 1748 + } 1749 + 1750 + static HRESULT WINAPI profile3_GetStreamCount(IWMProfile3 *iface, DWORD *count) 1751 + { 1752 + WMReader *This = impl_from_IWMProfile3(iface); 1753 + FIXME("%p, %p\n", This, count); 1754 + return E_NOTIMPL; 1755 + } 1756 + 1757 + static HRESULT WINAPI profile3_GetStream(IWMProfile3 *iface, DWORD index, IWMStreamConfig **config) 1758 + { 1759 + WMReader *This = impl_from_IWMProfile3(iface); 1760 + FIXME("%p, %d, %p\n", This, index, config); 1761 + return E_NOTIMPL; 1762 + } 1763 + 1764 + static HRESULT WINAPI profile3_GetStreamByNumber(IWMProfile3 *iface, WORD stream, IWMStreamConfig **config) 1765 + { 1766 + WMReader *This = impl_from_IWMProfile3(iface); 1767 + FIXME("%p, %d, %p\n", This, stream, config); 1768 + return E_NOTIMPL; 1769 + } 1770 + 1771 + static HRESULT WINAPI profile3_RemoveStream(IWMProfile3 *iface, IWMStreamConfig *config) 1772 + { 1773 + WMReader *This = impl_from_IWMProfile3(iface); 1774 + FIXME("%p, %p\n", This, config); 1775 + return E_NOTIMPL; 1776 + } 1777 + 1778 + static HRESULT WINAPI profile3_RemoveStreamByNumber(IWMProfile3 *iface, WORD stream) 1779 + { 1780 + WMReader *This = impl_from_IWMProfile3(iface); 1781 + FIXME("%p, %d\n", This, stream); 1782 + return E_NOTIMPL; 1783 + } 1784 + 1785 + static HRESULT WINAPI profile3_AddStream(IWMProfile3 *iface, IWMStreamConfig *config) 1786 + { 1787 + WMReader *This = impl_from_IWMProfile3(iface); 1788 + FIXME("%p, %p\n", This, config); 1789 + return E_NOTIMPL; 1790 + } 1791 + 1792 + static HRESULT WINAPI profile3_ReconfigStream(IWMProfile3 *iface, IWMStreamConfig *config) 1793 + { 1794 + WMReader *This = impl_from_IWMProfile3(iface); 1795 + FIXME("%p, %p\n", This, config); 1796 + return E_NOTIMPL; 1797 + } 1798 + 1799 + static HRESULT WINAPI profile3_CreateNewStream(IWMProfile3 *iface, REFGUID type, IWMStreamConfig **config) 1800 + { 1801 + WMReader *This = impl_from_IWMProfile3(iface); 1802 + FIXME("%p, %s, %p\n", This, debugstr_guid(type), config); 1803 + return E_NOTIMPL; 1804 + } 1805 + 1806 + static HRESULT WINAPI profile3_GetMutualExclusionCount(IWMProfile3 *iface, DWORD *count) 1807 + { 1808 + WMReader *This = impl_from_IWMProfile3(iface); 1809 + FIXME("%p, %p\n", This, count); 1810 + return E_NOTIMPL; 1811 + } 1812 + 1813 + static HRESULT WINAPI profile3_GetMutualExclusion(IWMProfile3 *iface, DWORD index, IWMMutualExclusion **mutual) 1814 + { 1815 + WMReader *This = impl_from_IWMProfile3(iface); 1816 + FIXME("%p, %d, %p\n", This, index, mutual); 1817 + return E_NOTIMPL; 1818 + } 1819 + 1820 + static HRESULT WINAPI profile3_RemoveMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion *mutual) 1821 + { 1822 + WMReader *This = impl_from_IWMProfile3(iface); 1823 + FIXME("%p, %p\n", This, mutual); 1824 + return E_NOTIMPL; 1825 + } 1826 + 1827 + static HRESULT WINAPI profile3_AddMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion *mutual) 1828 + { 1829 + WMReader *This = impl_from_IWMProfile3(iface); 1830 + FIXME("%p, %p\n", This, mutual); 1831 + return E_NOTIMPL; 1832 + } 1833 + 1834 + static HRESULT WINAPI profile3_CreateNewMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion **mutual) 1835 + { 1836 + WMReader *This = impl_from_IWMProfile3(iface); 1837 + FIXME("%p, %p\n", This, mutual); 1838 + return E_NOTIMPL; 1839 + } 1840 + 1841 + static HRESULT WINAPI profile3_GetProfileID(IWMProfile3 *iface, GUID *guid) 1842 + { 1843 + WMReader *This = impl_from_IWMProfile3(iface); 1844 + FIXME("%p, %p\n", This, guid); 1845 + return E_NOTIMPL; 1846 + } 1847 + 1848 + static HRESULT WINAPI profile3_GetStorageFormat(IWMProfile3 *iface, WMT_STORAGE_FORMAT *storage) 1849 + { 1850 + WMReader *This = impl_from_IWMProfile3(iface); 1851 + FIXME("%p, %p\n", This, storage); 1852 + return E_NOTIMPL; 1853 + } 1854 + 1855 + static HRESULT WINAPI profile3_SetStorageFormat(IWMProfile3 *iface, WMT_STORAGE_FORMAT storage) 1856 + { 1857 + WMReader *This = impl_from_IWMProfile3(iface); 1858 + FIXME("%p, %d\n", This, storage); 1859 + return E_NOTIMPL; 1860 + } 1861 + 1862 + static HRESULT WINAPI profile3_GetBandwidthSharingCount(IWMProfile3 *iface, DWORD *count) 1863 + { 1864 + WMReader *This = impl_from_IWMProfile3(iface); 1865 + FIXME("%p, %p\n", This, count); 1866 + return E_NOTIMPL; 1867 + } 1868 + 1869 + static HRESULT WINAPI profile3_GetBandwidthSharing(IWMProfile3 *iface, DWORD index, IWMBandwidthSharing **bandwidth) 1870 + { 1871 + WMReader *This = impl_from_IWMProfile3(iface); 1872 + FIXME("%p, %d, %p\n", This, index, bandwidth); 1873 + return E_NOTIMPL; 1874 + } 1875 + 1876 + static HRESULT WINAPI profile3_RemoveBandwidthSharing( IWMProfile3 *iface, IWMBandwidthSharing *bandwidth) 1877 + { 1878 + WMReader *This = impl_from_IWMProfile3(iface); 1879 + FIXME("%p, %p\n", This, bandwidth); 1880 + return E_NOTIMPL; 1881 + } 1882 + 1883 + static HRESULT WINAPI profile3_AddBandwidthSharing(IWMProfile3 *iface, IWMBandwidthSharing *bandwidth) 1884 + { 1885 + WMReader *This = impl_from_IWMProfile3(iface); 1886 + FIXME("%p, %p\n", This, bandwidth); 1887 + return E_NOTIMPL; 1888 + } 1889 + 1890 + static HRESULT WINAPI profile3_CreateNewBandwidthSharing( IWMProfile3 *iface, IWMBandwidthSharing **bandwidth) 1891 + { 1892 + WMReader *This = impl_from_IWMProfile3(iface); 1893 + FIXME("%p, %p\n", This, bandwidth); 1894 + return E_NOTIMPL; 1895 + } 1896 + 1897 + static HRESULT WINAPI profile3_GetStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization **stream) 1898 + { 1899 + WMReader *This = impl_from_IWMProfile3(iface); 1900 + FIXME("%p, %p\n", This, stream); 1901 + return E_NOTIMPL; 1902 + } 1903 + 1904 + static HRESULT WINAPI profile3_SetStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization *stream) 1905 + { 1906 + WMReader *This = impl_from_IWMProfile3(iface); 1907 + FIXME("%p, %p\n", This, stream); 1908 + return E_NOTIMPL; 1909 + } 1910 + 1911 + static HRESULT WINAPI profile3_RemoveStreamPrioritization(IWMProfile3 *iface) 1912 + { 1913 + WMReader *This = impl_from_IWMProfile3(iface); 1914 + FIXME("%p\n", This); 1915 + return E_NOTIMPL; 1916 + } 1917 + 1918 + static HRESULT WINAPI profile3_CreateNewStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization **stream) 1919 + { 1920 + WMReader *This = impl_from_IWMProfile3(iface); 1921 + FIXME("%p, %p\n", This, stream); 1922 + return E_NOTIMPL; 1923 + } 1924 + 1925 + static HRESULT WINAPI profile3_GetExpectedPacketCount(IWMProfile3 *iface, QWORD duration, QWORD *packets) 1926 + { 1927 + WMReader *This = impl_from_IWMProfile3(iface); 1928 + FIXME("%p, %s, %p\n", This, wine_dbgstr_longlong(duration), packets); 1929 + return E_NOTIMPL; 1930 + } 1931 + 1932 + static const IWMProfile3Vtbl WMProfile3Vtbl = 1933 + { 1934 + profile3_QueryInterface, 1935 + profile3_AddRef, 1936 + profile3_Release, 1937 + profile3_GetVersion, 1938 + profile3_GetName, 1939 + profile3_SetName, 1940 + profile3_GetDescription, 1941 + profile3_SetDescription, 1942 + profile3_GetStreamCount, 1943 + profile3_GetStream, 1944 + profile3_GetStreamByNumber, 1945 + profile3_RemoveStream, 1946 + profile3_RemoveStreamByNumber, 1947 + profile3_AddStream, 1948 + profile3_ReconfigStream, 1949 + profile3_CreateNewStream, 1950 + profile3_GetMutualExclusionCount, 1951 + profile3_GetMutualExclusion, 1952 + profile3_RemoveMutualExclusion, 1953 + profile3_AddMutualExclusion, 1954 + profile3_CreateNewMutualExclusion, 1955 + profile3_GetProfileID, 1956 + profile3_GetStorageFormat, 1957 + profile3_SetStorageFormat, 1958 + profile3_GetBandwidthSharingCount, 1959 + profile3_GetBandwidthSharing, 1960 + profile3_RemoveBandwidthSharing, 1961 + profile3_AddBandwidthSharing, 1962 + profile3_CreateNewBandwidthSharing, 1963 + profile3_GetStreamPrioritization, 1964 + profile3_SetStreamPrioritization, 1965 + profile3_RemoveStreamPrioritization, 1966 + profile3_CreateNewStreamPrioritization, 1967 + profile3_GetExpectedPacketCount 1968 + }; 1969 + 1970 + static inline WMReader *impl_from_IWMPacketSize2(IWMPacketSize2 *iface) 1971 + { 1972 + return CONTAINING_RECORD(iface, WMReader, IWMPacketSize2_iface); 1973 + } 1974 + 1975 + static HRESULT WINAPI packetsize_QueryInterface(IWMPacketSize2 *iface, REFIID riid, void **ppv) 1976 + { 1977 + WMReader *This = impl_from_IWMPacketSize2(iface); 1978 + return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1979 + } 1980 + 1981 + static ULONG WINAPI packetsize_AddRef(IWMPacketSize2 *iface) 1982 + { 1983 + WMReader *This = impl_from_IWMPacketSize2(iface); 1984 + return IWMReader_AddRef(&This->IWMReader_iface); 1985 + } 1986 + 1987 + static ULONG WINAPI packetsize_Release(IWMPacketSize2 *iface) 1988 + { 1989 + WMReader *This = impl_from_IWMPacketSize2(iface); 1990 + return IWMReader_Release(&This->IWMReader_iface); 1991 + } 1992 + 1993 + static HRESULT WINAPI packetsize_GetMaxPacketSize(IWMPacketSize2 *iface, DWORD *size) 1994 + { 1995 + WMReader *This = impl_from_IWMPacketSize2(iface); 1996 + FIXME("%p, %p\n", This, size); 1997 + return E_NOTIMPL; 1998 + } 1999 + 2000 + static HRESULT WINAPI packetsize_SetMaxPacketSize(IWMPacketSize2 *iface, DWORD size) 2001 + { 2002 + WMReader *This = impl_from_IWMPacketSize2(iface); 2003 + FIXME("%p, %d\n", This, size); 2004 + return E_NOTIMPL; 2005 + } 2006 + 2007 + static HRESULT WINAPI packetsize_GetMinPacketSize(IWMPacketSize2 *iface, DWORD *size) 2008 + { 2009 + WMReader *This = impl_from_IWMPacketSize2(iface); 2010 + FIXME("%p, %p\n", This, size); 2011 + return E_NOTIMPL; 2012 + } 2013 + 2014 + static HRESULT WINAPI packetsize_SetMinPacketSize(IWMPacketSize2 *iface, DWORD size) 2015 + { 2016 + WMReader *This = impl_from_IWMPacketSize2(iface); 2017 + FIXME("%p, %d\n", This, size); 2018 + return E_NOTIMPL; 2019 + } 2020 + 2021 + static const IWMPacketSize2Vtbl WMPacketSize2Vtbl = 2022 + { 2023 + packetsize_QueryInterface, 2024 + packetsize_AddRef, 2025 + packetsize_Release, 2026 + packetsize_GetMaxPacketSize, 2027 + packetsize_SetMaxPacketSize, 2028 + packetsize_GetMinPacketSize, 2029 + packetsize_SetMinPacketSize 2030 + }; 2031 + 2032 + HRESULT WINAPI WMCreateReader(IUnknown *reserved, DWORD rights, IWMReader **ret_reader) 2033 + { 2034 + WMReader *reader; 2035 + 2036 + TRACE("(%p, %x, %p)\n", reserved, rights, ret_reader); 2037 + 2038 + reader = heap_alloc(sizeof(*reader)); 2039 + if(!reader) 2040 + return E_OUTOFMEMORY; 2041 + 2042 + reader->IWMReader_iface.lpVtbl = &WMReaderVtbl; 2043 + reader->IWMReaderAdvanced6_iface.lpVtbl = &WMReaderAdvanced6Vtbl; 2044 + reader->IWMReaderAccelerator_iface.lpVtbl = &WMReaderAcceleratorVtbl; 2045 + reader->IWMReaderNetworkConfig2_iface.lpVtbl = &WMReaderNetworkConfig2Vtbl; 2046 + reader->IWMReaderStreamClock_iface.lpVtbl = &WMReaderStreamClockVtbl; 2047 + reader->IWMReaderTypeNegotiation_iface.lpVtbl = &WMReaderTypeNegotiationVtbl; 2048 + reader->IWMReaderTimecode_iface.lpVtbl = &WMReaderTimecodeVtbl; 2049 + reader->IWMReaderPlaylistBurn_iface.lpVtbl = &WMReaderPlaylistBurnVtbl; 2050 + reader->IWMHeaderInfo3_iface.lpVtbl = &WMHeaderInfo3Vtbl; 2051 + reader->IWMLanguageList_iface.lpVtbl = &WMLanguageListVtbl; 2052 + reader->IReferenceClock_iface.lpVtbl = &ReferenceClockVtbl; 2053 + reader->IWMProfile3_iface.lpVtbl = &WMProfile3Vtbl; 2054 + reader->IWMPacketSize2_iface.lpVtbl = &WMPacketSize2Vtbl; 2055 + reader->ref = 1; 2056 + 2057 + *ret_reader = &reader->IWMReader_iface; 2058 + return S_OK; 2059 + } 2060 + 2061 + HRESULT WINAPI WMCreateReaderPriv(IWMReader **ret_reader) 2062 + { 2063 + return WMCreateReader(NULL, 0, ret_reader); 2064 + } 2065 + 2066 + typedef struct { 2067 + IWMSyncReader IWMSyncReader_iface; 2068 + LONG ref; 2069 + } WMSyncReader; 2070 + 2071 + static inline WMSyncReader *impl_from_IWMSyncReader(IWMSyncReader *iface) 2072 + { 2073 + return CONTAINING_RECORD(iface, WMSyncReader, IWMSyncReader_iface); 2074 + } 2075 + 2076 + static HRESULT WINAPI WMSyncReader_QueryInterface(IWMSyncReader *iface, REFIID riid, void **ppv) 2077 + { 2078 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2079 + 2080 + if(IsEqualGUID(riid, &IID_IUnknown)) { 2081 + TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); 2082 + *ppv = &This->IWMSyncReader_iface; 2083 + }else if(IsEqualGUID(riid, &IID_IWMSyncReader)) { 2084 + TRACE("(%p)->(IID_IWMSyncReader %p)\n", This, ppv); 2085 + *ppv = &This->IWMSyncReader_iface; 2086 + }else { 2087 + *ppv = NULL; 2088 + FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); 2089 + return E_NOINTERFACE; 2090 + } 2091 + 2092 + IUnknown_AddRef((IUnknown*)*ppv); 2093 + return S_OK; 2094 + } 2095 + 2096 + static ULONG WINAPI WMSyncReader_AddRef(IWMSyncReader *iface) 2097 + { 2098 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2099 + LONG ref = InterlockedIncrement(&This->ref); 2100 + 2101 + TRACE("(%p) ref=%d\n", This, ref); 2102 + 2103 + return ref; 2104 + } 2105 + 2106 + static ULONG WINAPI WMSyncReader_Release(IWMSyncReader *iface) 2107 + { 2108 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2109 + LONG ref = InterlockedDecrement(&This->ref); 2110 + 2111 + TRACE("(%p) ref=%d\n", This, ref); 2112 + 2113 + if(!ref) 2114 + heap_free(This); 2115 + 2116 + return ref; 2117 + } 2118 + 2119 + static HRESULT WINAPI WMSyncReader_Close(IWMSyncReader *iface) 2120 + { 2121 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2122 + FIXME("(%p): stub!\n", This); 2123 + return E_NOTIMPL; 2124 + } 2125 + 2126 + static HRESULT WINAPI WMSyncReader_GetMaxOutputSampleSize(IWMSyncReader *iface, DWORD output, DWORD *max) 2127 + { 2128 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2129 + FIXME("(%p)->(%d %p): stub!\n", This, output, max); 2130 + return E_NOTIMPL; 2131 + } 2132 + 2133 + static HRESULT WINAPI WMSyncReader_GetMaxStreamSampleSize(IWMSyncReader *iface, WORD stream, DWORD *max) 2134 + { 2135 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2136 + FIXME("(%p)->(%d %p): stub!\n", This, stream, max); 2137 + return E_NOTIMPL; 2138 + } 2139 + 2140 + static HRESULT WINAPI WMSyncReader_GetNextSample(IWMSyncReader *iface, WORD stream, INSSBuffer **sample, 2141 + QWORD *sample_time, QWORD *sample_duration, DWORD *flags, DWORD *output_num, WORD *stream_num) 2142 + { 2143 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2144 + FIXME("(%p)->(%d %p %p %p %p %p %p): stub!\n", This, stream, sample, sample_time, 2145 + sample_duration, flags, output_num, stream_num); 2146 + return E_NOTIMPL; 2147 + } 2148 + 2149 + static HRESULT WINAPI WMSyncReader_GetOutputCount(IWMSyncReader *iface, DWORD *outputs) 2150 + { 2151 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2152 + FIXME("(%p)->(%p): stub!\n", This, outputs); 2153 + return E_NOTIMPL; 2154 + } 2155 + 2156 + static HRESULT WINAPI WMSyncReader_GetOutputFormat(IWMSyncReader *iface, DWORD output_num, DWORD format_num, 2157 + IWMOutputMediaProps **props) 2158 + { 2159 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2160 + FIXME("(%p)->(%u %u %p): stub!\n", This, output_num, format_num, props); 2161 + return E_NOTIMPL; 2162 + } 2163 + 2164 + static HRESULT WINAPI WMSyncReader_GetOutputFormatCount(IWMSyncReader *iface, DWORD output_num, DWORD *formats) 2165 + { 2166 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2167 + FIXME("(%p)->(%u %p): stub!\n", This, output_num, formats); 2168 + return E_NOTIMPL; 2169 + } 2170 + 2171 + static HRESULT WINAPI WMSyncReader_GetOutputNumberForStream(IWMSyncReader *iface, WORD stream_num, DWORD *output_num) 2172 + { 2173 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2174 + FIXME("(%p)->(%u %p): stub!\n", This, stream_num, output_num); 2175 + return E_NOTIMPL; 2176 + } 2177 + 2178 + static HRESULT WINAPI WMSyncReader_GetOutputProps(IWMSyncReader *iface, DWORD output_num, IWMOutputMediaProps **output) 2179 + { 2180 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2181 + FIXME("(%p)->(%u %p): stub!\n", This, output_num, output); 2182 + return E_NOTIMPL; 2183 + } 2184 + 2185 + static HRESULT WINAPI WMSyncReader_GetOutputSetting(IWMSyncReader *iface, DWORD output_num, const WCHAR *name, 2186 + WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 2187 + { 2188 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2189 + FIXME("(%p)->(%u %s %p %p %p): stub!\n", This, output_num, debugstr_w(name), type, value, length); 2190 + return E_NOTIMPL; 2191 + } 2192 + 2193 + static HRESULT WINAPI WMSyncReader_GetReadStreamSamples(IWMSyncReader *iface, WORD stream_num, BOOL *compressed) 2194 + { 2195 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2196 + FIXME("(%p)->(%d %p): stub!\n", This, stream_num, compressed); 2197 + return E_NOTIMPL; 2198 + } 2199 + 2200 + static HRESULT WINAPI WMSyncReader_GetStreamNumberForOutput(IWMSyncReader *iface, DWORD output, WORD *stream_num) 2201 + { 2202 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2203 + FIXME("(%p)->(%u %p): stub!\n", This, output, stream_num); 2204 + return S_OK; 2205 + } 2206 + 2207 + static HRESULT WINAPI WMSyncReader_GetStreamSelected(IWMSyncReader *iface, WORD stream_num, WMT_STREAM_SELECTION *selection) 2208 + { 2209 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2210 + FIXME("(%p)->(%d %p): stub!\n", This, stream_num, selection); 2211 + return E_NOTIMPL; 2212 + } 2213 + 2214 + static HRESULT WINAPI WMSyncReader_Open(IWMSyncReader *iface, const WCHAR *filename) 2215 + { 2216 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2217 + FIXME("(%p)->(%s): stub!\n", This, debugstr_w(filename)); 2218 + return E_NOTIMPL; 2219 + } 2220 + 2221 + static HRESULT WINAPI WMSyncReader_OpenStream(IWMSyncReader *iface, IStream *stream) 2222 + { 2223 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2224 + FIXME("(%p)->(%p): stub!\n", This, stream); 2225 + return S_OK; 2226 + } 2227 + 2228 + static HRESULT WINAPI WMSyncReader_SetOutputProps(IWMSyncReader *iface, DWORD output_num, IWMOutputMediaProps *output) 2229 + { 2230 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2231 + FIXME("(%p)->(%u %p): stub!\n", This, output_num, output); 2232 + return E_NOTIMPL; 2233 + } 2234 + 2235 + static HRESULT WINAPI WMSyncReader_SetOutputSetting(IWMSyncReader *iface, DWORD output_num, const WCHAR *name, 2236 + WMT_ATTR_DATATYPE type, const BYTE *value, WORD length) 2237 + { 2238 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2239 + FIXME("(%p)->(%d %s %d %p %d): stub!\n", This, output_num, debugstr_w(name), type, value, length); 2240 + return E_NOTIMPL; 2241 + } 2242 + 2243 + static HRESULT WINAPI WMSyncReader_SetRange(IWMSyncReader *iface, QWORD start, LONGLONG duration) 2244 + { 2245 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2246 + FIXME("(%p)->(%s %s): stub!\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(duration)); 2247 + return E_NOTIMPL; 2248 + } 2249 + 2250 + static HRESULT WINAPI WMSyncReader_SetRangeByFrame(IWMSyncReader *iface, WORD stream_num, QWORD frame_num, 2251 + LONGLONG frames) 2252 + { 2253 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2254 + FIXME("(%p)->(%d %s %s): stub!\n", This, stream_num, wine_dbgstr_longlong(frame_num), wine_dbgstr_longlong(frames)); 2255 + return E_NOTIMPL; 2256 + } 2257 + 2258 + static HRESULT WINAPI WMSyncReader_SetReadStreamSamples(IWMSyncReader *iface, WORD stream_num, BOOL compressed) 2259 + { 2260 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2261 + FIXME("(%p)->(%u %x): stub!\n", This, stream_num, compressed); 2262 + return E_NOTIMPL; 2263 + } 2264 + 2265 + static HRESULT WINAPI WMSyncReader_SetStreamsSelected(IWMSyncReader *iface, WORD stream_count, 2266 + WORD *stream_numbers, WMT_STREAM_SELECTION *selections) 2267 + { 2268 + WMSyncReader *This = impl_from_IWMSyncReader(iface); 2269 + FIXME("(%p)->(%d %p %p): stub!\n", This, stream_count, stream_numbers, selections); 2270 + return S_OK; 2271 + } 2272 + 2273 + static const IWMSyncReaderVtbl WMSyncReaderVtbl = { 2274 + WMSyncReader_QueryInterface, 2275 + WMSyncReader_AddRef, 2276 + WMSyncReader_Release, 2277 + WMSyncReader_Open, 2278 + WMSyncReader_Close, 2279 + WMSyncReader_SetRange, 2280 + WMSyncReader_SetRangeByFrame, 2281 + WMSyncReader_GetNextSample, 2282 + WMSyncReader_SetStreamsSelected, 2283 + WMSyncReader_GetStreamSelected, 2284 + WMSyncReader_SetReadStreamSamples, 2285 + WMSyncReader_GetReadStreamSamples, 2286 + WMSyncReader_GetOutputSetting, 2287 + WMSyncReader_SetOutputSetting, 2288 + WMSyncReader_GetOutputCount, 2289 + WMSyncReader_GetOutputProps, 2290 + WMSyncReader_SetOutputProps, 2291 + WMSyncReader_GetOutputFormatCount, 2292 + WMSyncReader_GetOutputFormat, 2293 + WMSyncReader_GetOutputNumberForStream, 2294 + WMSyncReader_GetStreamNumberForOutput, 2295 + WMSyncReader_GetMaxOutputSampleSize, 2296 + WMSyncReader_GetMaxStreamSampleSize, 2297 + WMSyncReader_OpenStream 2298 + }; 2299 + 2300 + HRESULT WINAPI WMCreateSyncReader(IUnknown *pcert, DWORD rights, IWMSyncReader **syncreader) 2301 + { 2302 + WMSyncReader *sync; 2303 + 2304 + TRACE("(%p, %x, %p)\n", pcert, rights, syncreader); 2305 + 2306 + sync = heap_alloc(sizeof(*sync)); 2307 + 2308 + if (!sync) 2309 + return E_OUTOFMEMORY; 2310 + 2311 + sync->IWMSyncReader_iface.lpVtbl = &WMSyncReaderVtbl; 2312 + sync->ref = 1; 2313 + 2314 + *syncreader = &sync->IWMSyncReader_iface; 2315 + 2316 + return S_OK; 2317 + } 2318 + 2319 + HRESULT WINAPI WMCreateSyncReaderPriv(IWMSyncReader **syncreader) 2320 + { 2321 + return WMCreateSyncReader(NULL, 0, syncreader); 2322 + }
+4 -4
dll/win32/wmvcore/wmvcore.spec
··· 1 - @ stub WMCheckURLExtension 1 + @ stdcall WMCheckURLExtension(wstr) 2 2 @ stdcall WMCheckURLScheme(wstr) 3 - @ stub WMCreateBackupRestorerPrivate 4 - @ stub WMCreateSyncReaderPriv 3 + @ stdcall WMCreateBackupRestorerPrivate(ptr ptr) WMCreateBackupRestorer 5 4 @ stub WMIsAvailableOffline 6 5 @ stub WMValidateData 7 6 @ stdcall -private DllRegisterServer() 8 - @ stub WMCreateBackupRestorer 7 + @ stdcall WMCreateBackupRestorer(ptr ptr) 9 8 @ stdcall WMCreateEditor(ptr) 10 9 @ stub WMCreateIndexer 11 10 @ stdcall WMCreateProfileManager(ptr) 12 11 @ stdcall WMCreateReader(ptr long ptr) 13 12 @ stdcall WMCreateReaderPriv(ptr) 14 13 @ stdcall WMCreateSyncReader(ptr long ptr) 14 + @ stdcall WMCreateSyncReaderPriv(ptr) 15 15 @ stdcall WMCreateWriter(ptr ptr) 16 16 @ stub WMCreateWriterFileSink 17 17 @ stub WMCreateWriterNetworkSink
+61 -2068
dll/win32/wmvcore/wmvcore_main.c
··· 48 48 return S_OK; 49 49 } 50 50 51 + HRESULT WINAPI WMCheckURLExtension(const WCHAR *url) 52 + { 53 + FIXME("(%s): stub\n", wine_dbgstr_w(url)); 54 + 55 + if (!url) 56 + return E_INVALIDARG; 57 + 58 + return NS_E_INVALID_NAME; 59 + } 60 + 51 61 HRESULT WINAPI WMCheckURLScheme(const WCHAR *scheme) 52 62 { 53 63 FIXME("(%s): stub\n", wine_dbgstr_w(scheme)); ··· 64 74 return E_NOTIMPL; 65 75 } 66 76 67 - typedef struct { 68 - IWMReader IWMReader_iface; 69 - IWMReaderAdvanced6 IWMReaderAdvanced6_iface; 70 - IWMReaderAccelerator IWMReaderAccelerator_iface; 71 - IWMReaderNetworkConfig2 IWMReaderNetworkConfig2_iface; 72 - IWMReaderStreamClock IWMReaderStreamClock_iface; 73 - IWMReaderTypeNegotiation IWMReaderTypeNegotiation_iface; 74 - IWMReaderTimecode IWMReaderTimecode_iface; 75 - IWMReaderPlaylistBurn IWMReaderPlaylistBurn_iface; 76 - IWMHeaderInfo3 IWMHeaderInfo3_iface; 77 - IWMLanguageList IWMLanguageList_iface; 78 - IReferenceClock IReferenceClock_iface; 79 - IWMProfile3 IWMProfile3_iface; 80 - IWMPacketSize2 IWMPacketSize2_iface; 81 - LONG ref; 82 - } WMReader; 83 - 84 - static inline WMReader *impl_from_IWMReader(IWMReader *iface) 85 - { 86 - return CONTAINING_RECORD(iface, WMReader, IWMReader_iface); 87 - } 88 - 89 - static HRESULT WINAPI WMReader_QueryInterface(IWMReader *iface, REFIID riid, void **ppv) 90 - { 91 - WMReader *This = impl_from_IWMReader(iface); 92 - 93 - if(IsEqualGUID(riid, &IID_IUnknown)) { 94 - TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); 95 - *ppv = &This->IWMReader_iface; 96 - }else if(IsEqualGUID(riid, &IID_IWMReader)) { 97 - TRACE("(%p)->(IID_IWMReader %p)\n", This, ppv); 98 - *ppv = &This->IWMReader_iface; 99 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced)) { 100 - TRACE("(%p)->(IID_IWMReaderAdvanced %p)\n", This, ppv); 101 - *ppv = &This->IWMReaderAdvanced6_iface; 102 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced2)) { 103 - TRACE("(%p)->(IID_IWMReaderAdvanced2 %p)\n", This, ppv); 104 - *ppv = &This->IWMReaderAdvanced6_iface; 105 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced3)) { 106 - TRACE("(%p)->(IID_IWMReaderAdvanced3 %p)\n", This, ppv); 107 - *ppv = &This->IWMReaderAdvanced6_iface; 108 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced4)) { 109 - TRACE("(%p)->(IID_IWMReaderAdvanced4 %p)\n", This, ppv); 110 - *ppv = &This->IWMReaderAdvanced6_iface; 111 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced5)) { 112 - TRACE("(%p)->(IID_IWMReaderAdvanced5 %p)\n", This, ppv); 113 - *ppv = &This->IWMReaderAdvanced6_iface; 114 - }else if(IsEqualGUID(riid, &IID_IWMReaderAdvanced6)) { 115 - TRACE("(%p)->(IID_IWMReaderAdvanced6 %p)\n", This, ppv); 116 - *ppv = &This->IWMReaderAdvanced6_iface; 117 - }else if(IsEqualGUID(riid, &IID_IWMReaderAccelerator)) { 118 - TRACE("(%p)->(IID_IWMReaderAccelerator %p)\n", This, ppv); 119 - *ppv = &This->IWMReaderAccelerator_iface; 120 - }else if(IsEqualGUID(riid, &IID_IWMReaderNetworkConfig)) { 121 - TRACE("(%p)->(IWMReaderNetworkConfig %p)\n", This, ppv); 122 - *ppv = &This->IWMReaderNetworkConfig2_iface; 123 - }else if(IsEqualGUID(riid, &IID_IWMReaderNetworkConfig2)) { 124 - TRACE("(%p)->(IWMReaderNetworkConfig2 %p)\n", This, ppv); 125 - *ppv = &This->IWMReaderNetworkConfig2_iface; 126 - }else if(IsEqualGUID(riid, &IID_IWMReaderStreamClock)) { 127 - TRACE("(%p)->(IWMReaderStreamClock %p)\n", This, ppv); 128 - *ppv = &This->IWMReaderStreamClock_iface; 129 - }else if(IsEqualGUID(riid, &IID_IWMReaderTypeNegotiation)) { 130 - TRACE("(%p)->(IWMReaderTypeNegotiation %p)\n", This, ppv); 131 - *ppv = &This->IWMReaderTypeNegotiation_iface; 132 - }else if(IsEqualGUID(riid, &IID_IWMReaderTimecode)) { 133 - TRACE("(%p)->(IWMReaderTimecode %p)\n", This, ppv); 134 - *ppv = &This->IWMReaderTimecode_iface; 135 - }else if(IsEqualGUID(riid, &IID_IWMReaderPlaylistBurn)) { 136 - TRACE("(%p)->(IWMReaderPlaylistBurn %p)\n", This, ppv); 137 - *ppv = &This->IWMReaderPlaylistBurn_iface; 138 - }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo)) { 139 - TRACE("(%p)->(IWMHeaderInfo %p)\n", This, ppv); 140 - *ppv = &This->IWMHeaderInfo3_iface; 141 - }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo2)) { 142 - TRACE("(%p)->(IWMHeaderInfo2 %p)\n", This, ppv); 143 - *ppv = &This->IWMHeaderInfo3_iface; 144 - }else if(IsEqualGUID(riid, &IID_IWMHeaderInfo3)) { 145 - TRACE("(%p)->(IWMHeaderInfo3 %p)\n", This, ppv); 146 - *ppv = &This->IWMHeaderInfo3_iface; 147 - }else if(IsEqualGUID(riid, &IID_IWMLanguageList)) { 148 - TRACE("(%p)->(IWMLanguageList %p)\n", This, ppv); 149 - *ppv = &This->IWMLanguageList_iface; 150 - }else if(IsEqualGUID(riid, &IID_IReferenceClock)) { 151 - TRACE("(%p)->(IWMLanguageList %p)\n", This, ppv); 152 - *ppv = &This->IReferenceClock_iface; 153 - }else if(IsEqualGUID(riid, &IID_IWMProfile)) { 154 - TRACE("(%p)->(IWMProfile %p)\n", This, ppv); 155 - *ppv = &This->IWMProfile3_iface; 156 - }else if(IsEqualGUID(riid, &IID_IWMProfile2)) { 157 - TRACE("(%p)->(IWMProfile2 %p)\n", This, ppv); 158 - *ppv = &This->IWMProfile3_iface; 159 - }else if(IsEqualGUID(riid, &IID_IWMProfile3)) { 160 - TRACE("(%p)->(IWMProfile3 %p)\n", This, ppv); 161 - *ppv = &This->IWMProfile3_iface; 162 - }else if(IsEqualGUID(riid, &IID_IWMPacketSize)) { 163 - TRACE("(%p)->(IWMPacketSize %p)\n", This, ppv); 164 - *ppv = &This->IWMPacketSize2_iface; 165 - }else if(IsEqualGUID(riid, &IID_IWMPacketSize2)) { 166 - TRACE("(%p)->(IWMPacketSize2 %p)\n", This, ppv); 167 - *ppv = &This->IWMPacketSize2_iface; 168 - }else { 169 - *ppv = NULL; 170 - FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); 171 - return E_NOINTERFACE; 172 - } 173 - 174 - IUnknown_AddRef((IUnknown*)*ppv); 175 - return S_OK; 176 - } 177 - 178 - static ULONG WINAPI WMReader_AddRef(IWMReader *iface) 77 + HRESULT WINAPI WMCreateBackupRestorer(IUnknown *callback, IWMLicenseBackup **licBackup) 179 78 { 180 - WMReader *This = impl_from_IWMReader(iface); 181 - LONG ref = InterlockedIncrement(&This->ref); 79 + FIXME("(%p %p): stub\n", callback, licBackup); 182 80 183 - TRACE("(%p) ref=%d\n", This, ref); 81 + if (!callback) 82 + return E_INVALIDARG; 184 83 185 - return ref; 186 - } 187 - 188 - static ULONG WINAPI WMReader_Release(IWMReader *iface) 189 - { 190 - WMReader *This = impl_from_IWMReader(iface); 191 - LONG ref = InterlockedDecrement(&This->ref); 192 - 193 - TRACE("(%p) ref=%d\n", This, ref); 194 - 195 - if(!ref) 196 - heap_free(This); 197 - 198 - return ref; 199 - } 200 - 201 - static HRESULT WINAPI WMReader_Open(IWMReader *iface, const WCHAR *url, IWMReaderCallback *callback, void *context) 202 - { 203 - WMReader *This = impl_from_IWMReader(iface); 204 - FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(url), callback, context); 205 - return E_NOTIMPL; 206 - } 207 - 208 - static HRESULT WINAPI WMReader_Close(IWMReader *iface) 209 - { 210 - WMReader *This = impl_from_IWMReader(iface); 211 - FIXME("(%p)\n", This); 212 - return E_NOTIMPL; 213 - } 214 - 215 - static HRESULT WINAPI WMReader_GetOutputCount(IWMReader *iface, DWORD *outputs) 216 - { 217 - WMReader *This = impl_from_IWMReader(iface); 218 - FIXME("(%p)->(%p)\n", This, outputs); 219 - return E_NOTIMPL; 220 - } 221 - 222 - static HRESULT WINAPI WMReader_GetOutputProps(IWMReader *iface, DWORD output_num, IWMOutputMediaProps **output) 223 - { 224 - WMReader *This = impl_from_IWMReader(iface); 225 - FIXME("(%p)->(%u %p)\n", This, output_num, output); 226 - return E_NOTIMPL; 227 - } 228 - 229 - static HRESULT WINAPI WMReader_SetOutputProps(IWMReader *iface, DWORD output_num, IWMOutputMediaProps *output) 230 - { 231 - WMReader *This = impl_from_IWMReader(iface); 232 - FIXME("(%p)->(%u %p)\n", This, output_num, output); 233 - return E_NOTIMPL; 234 - } 235 - 236 - static HRESULT WINAPI WMReader_GetOutputFormatCount(IWMReader *iface, DWORD output_num, DWORD *formats) 237 - { 238 - WMReader *This = impl_from_IWMReader(iface); 239 - FIXME("(%p)->(%u %p)\n", This, output_num, formats); 240 - return E_NOTIMPL; 241 - } 242 - 243 - static HRESULT WINAPI WMReader_GetOutputFormat(IWMReader *iface, DWORD output_num, DWORD format_num, IWMOutputMediaProps **props) 244 - { 245 - WMReader *This = impl_from_IWMReader(iface); 246 - FIXME("(%p)->(%u %u %p)\n", This, output_num, format_num, props); 247 - return E_NOTIMPL; 248 - } 249 - 250 - static HRESULT WINAPI WMReader_Start(IWMReader *iface, QWORD start, QWORD duration, float rate, void *context) 251 - { 252 - WMReader *This = impl_from_IWMReader(iface); 253 - FIXME("(%p)->(%s %s %f %p)\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(duration), rate, context); 254 - return E_NOTIMPL; 255 - } 256 - 257 - static HRESULT WINAPI WMReader_Stop(IWMReader *iface) 258 - { 259 - WMReader *This = impl_from_IWMReader(iface); 260 - FIXME("(%p)\n", This); 261 - return E_NOTIMPL; 262 - } 263 - 264 - static HRESULT WINAPI WMReader_Pause(IWMReader *iface) 265 - { 266 - WMReader *This = impl_from_IWMReader(iface); 267 - FIXME("(%p)\n", This); 268 - return E_NOTIMPL; 269 - } 270 - 271 - static HRESULT WINAPI WMReader_Resume(IWMReader *iface) 272 - { 273 - WMReader *This = impl_from_IWMReader(iface); 274 - FIXME("(%p)\n", This); 275 - return E_NOTIMPL; 276 - } 277 - 278 - static const IWMReaderVtbl WMReaderVtbl = { 279 - WMReader_QueryInterface, 280 - WMReader_AddRef, 281 - WMReader_Release, 282 - WMReader_Open, 283 - WMReader_Close, 284 - WMReader_GetOutputCount, 285 - WMReader_GetOutputProps, 286 - WMReader_SetOutputProps, 287 - WMReader_GetOutputFormatCount, 288 - WMReader_GetOutputFormat, 289 - WMReader_Start, 290 - WMReader_Stop, 291 - WMReader_Pause, 292 - WMReader_Resume 293 - }; 294 - 295 - static inline WMReader *impl_from_IWMReaderAdvanced6(IWMReaderAdvanced6 *iface) 296 - { 297 - return CONTAINING_RECORD(iface, WMReader, IWMReaderAdvanced6_iface); 298 - } 299 - 300 - static HRESULT WINAPI WMReaderAdvanced_QueryInterface(IWMReaderAdvanced6 *iface, REFIID riid, void **ppv) 301 - { 302 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 303 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 304 - } 305 - 306 - static ULONG WINAPI WMReaderAdvanced_AddRef(IWMReaderAdvanced6 *iface) 307 - { 308 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 309 - return IWMReader_AddRef(&This->IWMReader_iface); 310 - } 311 - 312 - static ULONG WINAPI WMReaderAdvanced_Release(IWMReaderAdvanced6 *iface) 313 - { 314 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 315 - return IWMReader_Release(&This->IWMReader_iface); 316 - } 317 - 318 - static HRESULT WINAPI WMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced6 *iface, BOOL user_clock) 319 - { 320 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 321 - FIXME("(%p)->(%x)\n", This, user_clock); 322 - return E_NOTIMPL; 323 - } 324 - 325 - static HRESULT WINAPI WMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced6 *iface, BOOL *user_clock) 326 - { 327 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 328 - FIXME("(%p)->(%p)\n", This, user_clock); 329 - return E_NOTIMPL; 330 - } 331 - 332 - static HRESULT WINAPI WMReaderAdvanced_DeliverTime(IWMReaderAdvanced6 *iface, QWORD time) 333 - { 334 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 335 - FIXME("(%p)->(%s)\n", This, wine_dbgstr_longlong(time)); 336 - return E_NOTIMPL; 337 - } 338 - 339 - static HRESULT WINAPI WMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced6 *iface, BOOL selection) 340 - { 341 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 342 - FIXME("(%p)->(%x)\n", This, selection); 343 - return E_NOTIMPL; 344 - } 345 - 346 - static HRESULT WINAPI WMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced6 *iface, BOOL *selection) 347 - { 348 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 349 - FIXME("(%p)->(%p)\n", This, selection); 350 - return E_NOTIMPL; 351 - } 352 - 353 - static HRESULT WINAPI WMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced6 *iface, WORD stream_count, 354 - WORD *stream_numbers, WMT_STREAM_SELECTION *selections) 355 - { 356 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 357 - FIXME("(%p)->(%d %p %p)\n", This, stream_count, stream_numbers, selections); 358 - return E_NOTIMPL; 359 - } 360 - 361 - static HRESULT WINAPI WMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced6 *iface, WORD stream_num, 362 - WMT_STREAM_SELECTION *selection) 363 - { 364 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 365 - FIXME("(%p)->(%d %p)\n", This, stream_num, selection); 366 - return E_NOTIMPL; 367 - } 368 - 369 - static HRESULT WINAPI WMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced6 *iface, BOOL get_callbacks) 370 - { 371 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 372 - FIXME("(%p)->(%x)\n", This, get_callbacks); 373 - return E_NOTIMPL; 374 - } 375 - 376 - static HRESULT WINAPI WMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced6 *iface, BOOL *get_callbacks) 377 - { 378 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 379 - FIXME("(%p)->(%p)\n", This, get_callbacks); 380 - return E_NOTIMPL; 381 - } 382 - 383 - static HRESULT WINAPI WMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced6 *iface, WORD stream_num, 384 - BOOL receive_stream_samples) 385 - { 386 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 387 - FIXME("(%p)->(%d %x)\n", This, stream_num, receive_stream_samples); 388 - return E_NOTIMPL; 389 - } 390 - 391 - static HRESULT WINAPI WMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced6 *iface, WORD stream_num, 392 - BOOL *receive_stream_samples) 393 - { 394 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 395 - FIXME("(%p)->(%d %p)\n", This, stream_num, receive_stream_samples); 396 - return E_NOTIMPL; 397 - } 398 - 399 - static HRESULT WINAPI WMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced6 *iface, DWORD output_num, BOOL allocate) 400 - { 401 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 402 - FIXME("(%p)->(%d %x)\n", This, output_num, allocate); 403 - return E_NOTIMPL; 404 - } 405 - 406 - static HRESULT WINAPI WMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced6 *iface, DWORD output_num, BOOL *allocate) 407 - { 408 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 409 - FIXME("(%p)->(%d %p)\n", This, output_num, allocate); 410 - return E_NOTIMPL; 411 - } 412 - 413 - static HRESULT WINAPI WMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced6 *iface, WORD output_num, BOOL allocate) 414 - { 415 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 416 - FIXME("(%p)->(%d %x)\n", This, output_num, allocate); 417 - return E_NOTIMPL; 418 - } 419 - 420 - static HRESULT WINAPI WMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced6 *iface, WORD output_num, BOOL *allocate) 421 - { 422 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 423 - FIXME("(%p)->(%d %p)\n", This, output_num, allocate); 424 - return E_NOTIMPL; 425 - } 426 - 427 - static HRESULT WINAPI WMReaderAdvanced_GetStatistics(IWMReaderAdvanced6 *iface, WM_READER_STATISTICS *statistics) 428 - { 429 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 430 - FIXME("(%p)->(%p)\n", This, statistics); 431 - return E_NOTIMPL; 432 - } 433 - 434 - static HRESULT WINAPI WMReaderAdvanced_SetClientInfo(IWMReaderAdvanced6 *iface, WM_READER_CLIENTINFO *client_info) 435 - { 436 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 437 - FIXME("(%p)->(%p)\n", This, client_info); 438 - return E_NOTIMPL; 439 - } 440 - 441 - static HRESULT WINAPI WMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced6 *iface, DWORD output, DWORD *max) 442 - { 443 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 444 - FIXME("(%p)->(%d %p)\n", This, output, max); 445 - return E_NOTIMPL; 446 - } 447 - 448 - static HRESULT WINAPI WMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced6 *iface, WORD stream, DWORD *max) 449 - { 450 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 451 - FIXME("(%p)->(%d %p)\n", This, stream, max); 452 - return E_NOTIMPL; 453 - } 454 - 455 - static HRESULT WINAPI WMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced6 *iface, QWORD lateness) 456 - { 457 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 458 - FIXME("(%p)->(%s)\n", This, wine_dbgstr_longlong(lateness)); 459 - return E_NOTIMPL; 460 - } 461 - 462 - static HRESULT WINAPI WMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced6 *iface, WMT_PLAY_MODE mode) 463 - { 464 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 465 - FIXME("(%p)->(%d)\n", This, mode); 466 - return E_NOTIMPL; 467 - } 468 - 469 - static HRESULT WINAPI WMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced6 *iface, WMT_PLAY_MODE *mode) 470 - { 471 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 472 - FIXME("(%p)->(%p)\n", This, mode); 473 - return E_NOTIMPL; 474 - } 475 - 476 - static HRESULT WINAPI WMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced6 *iface, DWORD *percent, QWORD *buffering) 477 - { 478 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 479 - FIXME("(%p)->(%p %p)\n", This, percent, buffering); 480 - return E_NOTIMPL; 481 - } 482 - 483 - static HRESULT WINAPI WMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced6 *iface, DWORD *percent, 484 - QWORD *bytes_downloaded, QWORD *download) 485 - { 486 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 487 - FIXME("(%p)->(%p %p %p)\n", This, percent, bytes_downloaded, download); 488 - return E_NOTIMPL; 489 - } 490 - 491 - static HRESULT WINAPI WMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced6 *iface, DWORD *percent) 492 - { 493 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 494 - FIXME("(%p)->(%p)\n", This, percent); 495 - return E_NOTIMPL; 496 - } 497 - 498 - static HRESULT WINAPI WMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced6 *iface, const WCHAR *filename) 499 - { 500 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 501 - FIXME("(%p)->(%s)\n", This, debugstr_w(filename)); 502 - return E_NOTIMPL; 503 - } 504 - 505 - static HRESULT WINAPI WMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced6 *iface, WCHAR *protocol, DWORD *protocol_len) 506 - { 507 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 508 - FIXME("(%p)->(%p %p)\n", This, protocol, protocol_len); 509 - return E_NOTIMPL; 510 - } 511 - 512 - static HRESULT WINAPI WMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced6 *iface, WORD marker_index, 513 - QWORD duration, float rate, void *context) 514 - { 515 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 516 - FIXME("(%p)->(%d %s %f %p)\n", This, marker_index, wine_dbgstr_longlong(duration), rate, context); 517 - return E_NOTIMPL; 518 - } 519 - 520 - static HRESULT WINAPI WMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced6 *iface, DWORD output_num, 521 - const WCHAR *name, WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 522 - { 523 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 524 - FIXME("(%p)->(%d %s %p %p %p)\n", This, output_num, debugstr_w(name), type, value, length); 525 - return E_NOTIMPL; 526 - } 527 - 528 - static HRESULT WINAPI WMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced6 *iface, DWORD output_num, 529 - const WCHAR *name, WMT_ATTR_DATATYPE type, const BYTE *value, WORD length) 530 - { 531 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 532 - FIXME("(%p)->(%d %s %d %p %d)\n", This, output_num, debugstr_w(name), type, value, length); 533 - return E_NOTIMPL; 534 - } 535 - 536 - static HRESULT WINAPI WMReaderAdvanced2_Preroll(IWMReaderAdvanced6 *iface, QWORD start, QWORD duration, float rate) 537 - { 538 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 539 - FIXME("(%p)->(%s %s %f)\n", This, wine_dbgstr_longlong(start), wine_dbgstr_longlong(duration), rate); 540 - return E_NOTIMPL; 541 - } 542 - 543 - static HRESULT WINAPI WMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced6 *iface, BOOL log_client_id) 544 - { 545 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 546 - FIXME("(%p)->(%x)\n", This, log_client_id); 547 - return E_NOTIMPL; 548 - } 549 - 550 - static HRESULT WINAPI WMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced6 *iface, BOOL *log_client_id) 551 - { 552 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 553 - FIXME("(%p)->(%p)\n", This, log_client_id); 554 - return E_NOTIMPL; 555 - } 556 - 557 - static HRESULT WINAPI WMReaderAdvanced2_StopBuffering(IWMReaderAdvanced6 *iface) 558 - { 559 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 560 - FIXME("(%p)\n", This); 561 - return E_NOTIMPL; 562 - } 563 - 564 - static HRESULT WINAPI WMReaderAdvanced2_OpenStream(IWMReaderAdvanced6 *iface, IStream *stream, 565 - IWMReaderCallback *callback, void *context) 566 - { 567 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 568 - FIXME("(%p)->(%p %p %p)\n", This, stream, callback, context); 569 - return E_NOTIMPL; 570 - } 571 - 572 - static HRESULT WINAPI WMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced6 *iface) 573 - { 574 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 575 - FIXME("(%p)\n", This); 576 - return E_NOTIMPL; 577 - } 578 - 579 - static HRESULT WINAPI WMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced6 *iface, WORD stream_num, 580 - void *offset_start, void *duration, WMT_OFFSET_FORMAT format, float rate, void *context) 581 - { 582 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 583 - FIXME("(%p)->(%d %p %p %d %f %p)\n", This, stream_num, offset_start, duration, format, rate, context); 584 - return E_NOTIMPL; 585 - } 586 - 587 - static HRESULT WINAPI WMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced6 *iface, DWORD output_num, WORD *language_count) 588 - { 589 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 590 - FIXME("(%p)->(%d %p)\n", This, output_num, language_count); 591 - return E_NOTIMPL; 592 - } 593 - 594 - static HRESULT WINAPI WMReaderAdvanced4_GetLanguage(IWMReaderAdvanced6 *iface, DWORD output_num, 595 - WORD language, WCHAR *language_string, WORD *language_string_len) 596 - { 597 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 598 - FIXME("(%p)->(%d %x %p %p)\n", This, output_num, language, language_string, language_string_len); 599 - return E_NOTIMPL; 600 - } 601 - 602 - static HRESULT WINAPI WMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced6 *iface, double *factor) 603 - { 604 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 605 - FIXME("(%p)->(%p)\n", This, factor); 606 - return E_NOTIMPL; 607 - } 608 - 609 - static HRESULT WINAPI WMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced6 *iface, BOOL *using_fast_cache) 610 - { 611 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 612 - FIXME("(%p)->(%p)\n", This, using_fast_cache); 613 - return E_NOTIMPL; 614 - } 615 - 616 - static HRESULT WINAPI WMReaderAdvanced4_AddLogParam(IWMReaderAdvanced6 *iface, const WCHAR *namespace, 617 - const WCHAR *name, const WCHAR *value) 618 - { 619 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 620 - FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(namespace), debugstr_w(name), debugstr_w(value)); 621 - return E_NOTIMPL; 622 - } 623 - 624 - static HRESULT WINAPI WMReaderAdvanced4_SendLogParams(IWMReaderAdvanced6 *iface) 625 - { 626 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 627 - FIXME("(%p)\n", This); 628 - return E_NOTIMPL; 629 - } 630 - 631 - static HRESULT WINAPI WMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced6 *iface, BOOL *can_save) 632 - { 633 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 634 - FIXME("(%p)->(%p)\n", This, can_save); 635 - return E_NOTIMPL; 636 - } 637 - 638 - static HRESULT WINAPI WMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced6 *iface) 639 - { 640 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 641 - FIXME("(%p)\n", This); 642 - return E_NOTIMPL; 643 - } 644 - 645 - static HRESULT WINAPI WMReaderAdvanced4_GetURL(IWMReaderAdvanced6 *iface, WCHAR *url, DWORD *url_len) 646 - { 647 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 648 - FIXME("(%p)->(%p %p)\n", This, url, url_len); 649 - return E_NOTIMPL; 650 - } 651 - 652 - static HRESULT WINAPI WMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced6 *iface, DWORD output_num, IWMPlayerHook *hook) 653 - { 654 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 655 - FIXME("(%p)->(%d %p)\n", This, output_num, hook); 656 - return E_NOTIMPL; 657 - } 658 - 659 - static HRESULT WINAPI WMReaderAdvanced6_SetProtextStreamSamples(IWMReaderAdvanced6 *iface, BYTE *cert, 660 - DWORD cert_size, DWORD cert_type, DWORD flags, BYTE *initialization_vector, DWORD *initialization_vector_size) 661 - { 662 - WMReader *This = impl_from_IWMReaderAdvanced6(iface); 663 - FIXME("(%p)->(%p %d %d %x %p %p)\n", This, cert, cert_size, cert_type, flags, initialization_vector, 664 - initialization_vector_size); 665 - return E_NOTIMPL; 666 - } 667 - 668 - static const IWMReaderAdvanced6Vtbl WMReaderAdvanced6Vtbl = { 669 - WMReaderAdvanced_QueryInterface, 670 - WMReaderAdvanced_AddRef, 671 - WMReaderAdvanced_Release, 672 - WMReaderAdvanced_SetUserProvidedClock, 673 - WMReaderAdvanced_GetUserProvidedClock, 674 - WMReaderAdvanced_DeliverTime, 675 - WMReaderAdvanced_SetManualStreamSelection, 676 - WMReaderAdvanced_GetManualStreamSelection, 677 - WMReaderAdvanced_SetStreamsSelected, 678 - WMReaderAdvanced_GetStreamSelected, 679 - WMReaderAdvanced_SetReceiveSelectionCallbacks, 680 - WMReaderAdvanced_GetReceiveSelectionCallbacks, 681 - WMReaderAdvanced_SetReceiveStreamSamples, 682 - WMReaderAdvanced_GetReceiveStreamSamples, 683 - WMReaderAdvanced_SetAllocateForOutput, 684 - WMReaderAdvanced_GetAllocateForOutput, 685 - WMReaderAdvanced_SetAllocateForStream, 686 - WMReaderAdvanced_GetAllocateForStream, 687 - WMReaderAdvanced_GetStatistics, 688 - WMReaderAdvanced_SetClientInfo, 689 - WMReaderAdvanced_GetMaxOutputSampleSize, 690 - WMReaderAdvanced_GetMaxStreamSampleSize, 691 - WMReaderAdvanced_NotifyLateDelivery, 692 - WMReaderAdvanced2_SetPlayMode, 693 - WMReaderAdvanced2_GetPlayMode, 694 - WMReaderAdvanced2_GetBufferProgress, 695 - WMReaderAdvanced2_GetDownloadProgress, 696 - WMReaderAdvanced2_GetSaveAsProgress, 697 - WMReaderAdvanced2_SaveFileAs, 698 - WMReaderAdvanced2_GetProtocolName, 699 - WMReaderAdvanced2_StartAtMarker, 700 - WMReaderAdvanced2_GetOutputSetting, 701 - WMReaderAdvanced2_SetOutputSetting, 702 - WMReaderAdvanced2_Preroll, 703 - WMReaderAdvanced2_SetLogClientID, 704 - WMReaderAdvanced2_GetLogClientID, 705 - WMReaderAdvanced2_StopBuffering, 706 - WMReaderAdvanced2_OpenStream, 707 - WMReaderAdvanced3_StopNetStreaming, 708 - WMReaderAdvanced3_StartAtPosition, 709 - WMReaderAdvanced4_GetLanguageCount, 710 - WMReaderAdvanced4_GetLanguage, 711 - WMReaderAdvanced4_GetMaxSpeedFactor, 712 - WMReaderAdvanced4_IsUsingFastCache, 713 - WMReaderAdvanced4_AddLogParam, 714 - WMReaderAdvanced4_SendLogParams, 715 - WMReaderAdvanced4_CanSaveFileAs, 716 - WMReaderAdvanced4_CancelSaveFileAs, 717 - WMReaderAdvanced4_GetURL, 718 - WMReaderAdvanced5_SetPlayerHook, 719 - WMReaderAdvanced6_SetProtextStreamSamples 720 - }; 721 - 722 - static inline WMReader *impl_from_IWMReaderAccelerator(IWMReaderAccelerator *iface) 723 - { 724 - return CONTAINING_RECORD(iface, WMReader, IWMReaderAccelerator_iface); 725 - } 726 - 727 - static HRESULT WINAPI reader_accl_QueryInterface(IWMReaderAccelerator *iface, REFIID riid, void **object) 728 - { 729 - WMReader *This = impl_from_IWMReaderAccelerator(iface); 730 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, object); 731 - } 732 - 733 - static ULONG WINAPI reader_accl_AddRef(IWMReaderAccelerator *iface) 734 - { 735 - WMReader *This = impl_from_IWMReaderAccelerator(iface); 736 - return IWMReader_AddRef(&This->IWMReader_iface); 737 - } 738 - 739 - static ULONG WINAPI reader_accl_Release(IWMReaderAccelerator *iface) 740 - { 741 - WMReader *This = impl_from_IWMReaderAccelerator(iface); 742 - return IWMReader_Release(&This->IWMReader_iface); 743 - } 744 - 745 - static HRESULT WINAPI reader_accl_GetCodecInterface(IWMReaderAccelerator *iface, DWORD output, REFIID riid, void **codec) 746 - { 747 - WMReader *This = impl_from_IWMReaderAccelerator(iface); 748 - 749 - FIXME("%p, %d, %s, %p\n", This, output, debugstr_guid(riid), codec); 750 - 751 - return E_NOTIMPL; 752 - } 753 - 754 - static HRESULT WINAPI reader_accl_Notify(IWMReaderAccelerator *iface, DWORD output, WM_MEDIA_TYPE *subtype) 755 - { 756 - WMReader *This = impl_from_IWMReaderAccelerator(iface); 757 - 758 - FIXME("%p, %d, %p\n", This, output, subtype); 759 - 760 - return E_NOTIMPL; 761 - } 762 - 763 - static const IWMReaderAcceleratorVtbl WMReaderAcceleratorVtbl = { 764 - reader_accl_QueryInterface, 765 - reader_accl_AddRef, 766 - reader_accl_Release, 767 - reader_accl_GetCodecInterface, 768 - reader_accl_Notify 769 - }; 770 - 771 - static inline WMReader *impl_from_IWMReaderNetworkConfig2(IWMReaderNetworkConfig2 *iface) 772 - { 773 - return CONTAINING_RECORD(iface, WMReader, IWMReaderNetworkConfig2_iface); 774 - } 775 - 776 - static HRESULT WINAPI networkconfig_QueryInterface(IWMReaderNetworkConfig2 *iface, REFIID riid, void **ppv) 777 - { 778 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 779 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 780 - } 781 - 782 - static ULONG WINAPI networkconfig_AddRef(IWMReaderNetworkConfig2 *iface) 783 - { 784 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 785 - return IWMReader_AddRef(&This->IWMReader_iface); 786 - } 787 - 788 - static ULONG WINAPI networkconfig_Release(IWMReaderNetworkConfig2 *iface) 789 - { 790 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 791 - return IWMReader_Release(&This->IWMReader_iface); 792 - } 793 - 794 - static HRESULT WINAPI networkconfig_GetBufferingTime(IWMReaderNetworkConfig2 *iface, QWORD *buffering_time) 795 - { 796 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 797 - FIXME("%p, %p\n", This, buffering_time); 798 - return E_NOTIMPL; 799 - } 800 - 801 - static HRESULT WINAPI networkconfig_SetBufferingTime(IWMReaderNetworkConfig2 *iface, QWORD buffering_time) 802 - { 803 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 804 - FIXME("%p, %s\n", This, wine_dbgstr_longlong(buffering_time)); 805 - return E_NOTIMPL; 806 - } 807 - 808 - static HRESULT WINAPI networkconfig_GetUDPPortRanges(IWMReaderNetworkConfig2 *iface, WM_PORT_NUMBER_RANGE *array, 809 - DWORD *ranges) 810 - { 811 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 812 - FIXME("%p, %p, %p\n", This, array, ranges); 813 - return E_NOTIMPL; 814 - } 815 - 816 - static HRESULT WINAPI networkconfig_SetUDPPortRanges(IWMReaderNetworkConfig2 *iface, WM_PORT_NUMBER_RANGE *array, 817 - DWORD ranges) 818 - { 819 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 820 - FIXME("%p, %p, %u\n", This, array, ranges); 821 - return E_NOTIMPL; 822 - } 823 - 824 - static HRESULT WINAPI networkconfig_GetProxySettings(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 825 - WMT_PROXY_SETTINGS *proxy) 826 - { 827 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 828 - FIXME("%p, %s, %p\n", This, debugstr_w(protocol), proxy); 829 - return E_NOTIMPL; 830 - } 831 - 832 - static HRESULT WINAPI networkconfig_SetProxySettings(IWMReaderNetworkConfig2 *iface, LPCWSTR protocol, 833 - WMT_PROXY_SETTINGS proxy) 834 - { 835 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 836 - FIXME("%p, %s, %d\n", This, debugstr_w(protocol), proxy); 837 - return E_NOTIMPL; 838 - } 839 - 840 - static HRESULT WINAPI networkconfig_GetProxyHostName(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 841 - WCHAR *hostname, DWORD *size) 842 - { 843 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 844 - FIXME("%p, %s, %p, %p\n", This, debugstr_w(protocol), hostname, size); 845 - return E_NOTIMPL; 846 - } 847 - 848 - static HRESULT WINAPI networkconfig_SetProxyHostName(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 849 - const WCHAR *hostname) 850 - { 851 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 852 - FIXME("%p, %s, %s\n", This, debugstr_w(protocol), debugstr_w(hostname)); 853 - return E_NOTIMPL; 854 - } 855 - 856 - static HRESULT WINAPI networkconfig_GetProxyPort(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 857 - DWORD *port) 858 - { 859 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 860 - FIXME("%p, %s, %p\n", This, debugstr_w(protocol), port); 861 - return E_NOTIMPL; 862 - } 863 - 864 - static HRESULT WINAPI networkconfig_SetProxyPort(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 865 - DWORD port) 866 - { 867 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 868 - FIXME("%p, %s, %u\n", This, debugstr_w(protocol), port); 869 - return E_NOTIMPL; 870 - } 871 - 872 - static HRESULT WINAPI networkconfig_GetProxyExceptionList(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 873 - WCHAR *exceptions, DWORD *count) 874 - { 875 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 876 - FIXME("%p, %s, %p, %p\n", This, debugstr_w(protocol), exceptions, count); 877 - return E_NOTIMPL; 878 - } 879 - 880 - static HRESULT WINAPI networkconfig_SetProxyExceptionList(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 881 - const WCHAR *exceptions) 882 - { 883 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 884 - FIXME("%p, %s, %s\n", This, debugstr_w(protocol), debugstr_w(exceptions)); 885 - return E_NOTIMPL; 886 - } 887 - 888 - static HRESULT WINAPI networkconfig_GetProxyBypassForLocal(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 889 - BOOL *bypass) 890 - { 891 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 892 - FIXME("%p, %s, %p\n", This, debugstr_w(protocol), bypass); 893 - return E_NOTIMPL; 894 - } 895 - 896 - static HRESULT WINAPI networkconfig_SetProxyBypassForLocal(IWMReaderNetworkConfig2 *iface, const WCHAR *protocol, 897 - BOOL bypass) 898 - { 899 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 900 - FIXME("%p, %s, %d\n", This, debugstr_w(protocol), bypass); 901 - return E_NOTIMPL; 902 - } 903 - 904 - static HRESULT WINAPI networkconfig_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2 *iface, 905 - BOOL *detection) 906 - { 907 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 908 - FIXME("%p, %p\n", This, detection); 909 - return E_NOTIMPL; 910 - } 911 - 912 - static HRESULT WINAPI networkconfig_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2 *iface, 913 - BOOL detection) 914 - { 915 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 916 - FIXME("%p, %d\n", This, detection); 917 - return E_NOTIMPL; 918 - } 919 - 920 - static HRESULT WINAPI networkconfig_GetEnableMulticast(IWMReaderNetworkConfig2 *iface, BOOL *multicast) 921 - { 922 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 923 - FIXME("%p, %p\n", This, multicast); 924 - return E_NOTIMPL; 925 - } 926 - 927 - static HRESULT WINAPI networkconfig_SetEnableMulticast(IWMReaderNetworkConfig2 *iface, BOOL multicast) 928 - { 929 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 930 - FIXME("%p, %d\n", This, multicast); 931 - return E_NOTIMPL; 932 - } 933 - 934 - static HRESULT WINAPI networkconfig_GetEnableHTTP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 935 - { 936 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 937 - FIXME("%p, %p\n", This, enable); 938 - return E_NOTIMPL; 939 - } 940 - 941 - static HRESULT WINAPI networkconfig_SetEnableHTTP(IWMReaderNetworkConfig2 *iface, BOOL enable) 942 - { 943 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 944 - FIXME("%p, %d\n", This, enable); 945 - return E_NOTIMPL; 946 - } 947 - 948 - static HRESULT WINAPI networkconfig_GetEnableUDP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 949 - { 950 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 951 - FIXME("%p, %p\n", This, enable); 952 - return E_NOTIMPL; 953 - } 954 - 955 - static HRESULT WINAPI networkconfig_SetEnableUDP(IWMReaderNetworkConfig2 *iface, BOOL enable) 956 - { 957 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 958 - FIXME("%p, %d\n", This, enable); 959 - return E_NOTIMPL; 960 - } 961 - 962 - static HRESULT WINAPI networkconfig_GetEnableTCP(IWMReaderNetworkConfig2 *iface, BOOL *enable) 963 - { 964 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 965 - FIXME("%p, %p\n", This, enable); 966 - return E_NOTIMPL; 967 - } 968 - 969 - static HRESULT WINAPI networkconfig_SetEnableTCP(IWMReaderNetworkConfig2 *iface, BOOL enable) 970 - { 971 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 972 - FIXME("%p, %d\n", This, enable); 973 - return E_NOTIMPL; 974 - } 975 - 976 - static HRESULT WINAPI networkconfig_ResetProtocolRollover(IWMReaderNetworkConfig2 *iface) 977 - { 978 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 979 - FIXME("%p\n", This); 980 - return E_NOTIMPL; 981 - } 982 - 983 - static HRESULT WINAPI networkconfig_GetConnectionBandwidth(IWMReaderNetworkConfig2 *iface, DWORD *bandwidth) 984 - { 985 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 986 - FIXME("%p, %p\n", This, bandwidth); 987 - return E_NOTIMPL; 988 - } 989 - 990 - static HRESULT WINAPI networkconfig_SetConnectionBandwidth(IWMReaderNetworkConfig2 *iface, DWORD bandwidth) 991 - { 992 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 993 - FIXME("%p, %u\n", This, bandwidth); 994 - return E_NOTIMPL; 995 - } 996 - 997 - static HRESULT WINAPI networkconfig_GetNumProtocolsSupported(IWMReaderNetworkConfig2 *iface, DWORD *protocols) 998 - { 999 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1000 - FIXME("%p, %p\n", This, protocols); 1001 - return E_NOTIMPL; 1002 - } 1003 - 1004 - static HRESULT WINAPI networkconfig_GetSupportedProtocolName(IWMReaderNetworkConfig2 *iface, DWORD protocol_num, 1005 - WCHAR *protocol, DWORD *size) 1006 - { 1007 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1008 - FIXME("%p, %u, %p %p\n", This, protocol_num, protocol, size); 1009 - return E_NOTIMPL; 1010 - } 1011 - 1012 - static HRESULT WINAPI networkconfig_AddLoggingUrl(IWMReaderNetworkConfig2 *iface, const WCHAR *url) 1013 - { 1014 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1015 - FIXME("%p, %s\n", This, debugstr_w(url)); 1016 - return E_NOTIMPL; 1017 - } 1018 - 1019 - static HRESULT WINAPI networkconfig_GetLoggingUrl(IWMReaderNetworkConfig2 *iface, DWORD index, WCHAR *url, 1020 - DWORD *size) 1021 - { 1022 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1023 - FIXME("%p, %u, %p, %p\n", This, index, url, size); 1024 - return E_NOTIMPL; 1025 - } 1026 - 1027 - static HRESULT WINAPI networkconfig_GetLoggingUrlCount(IWMReaderNetworkConfig2 *iface, DWORD *count) 1028 - { 1029 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1030 - FIXME("%p, %p\n", This, count); 1031 - return E_NOTIMPL; 1032 - } 1033 - 1034 - static HRESULT WINAPI networkconfig_ResetLoggingUrlList(IWMReaderNetworkConfig2 *iface) 1035 - { 1036 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1037 - FIXME("%p\n", This); 1038 - return E_NOTIMPL; 1039 - } 1040 - 1041 - static HRESULT WINAPI networkconfig_GetEnableContentCaching(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1042 - { 1043 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1044 - FIXME("%p, %p\n", This, enable); 1045 - return E_NOTIMPL; 1046 - } 1047 - 1048 - static HRESULT WINAPI networkconfig_SetEnableContentCaching(IWMReaderNetworkConfig2 *iface, BOOL enable) 1049 - { 1050 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1051 - FIXME("%p, %d\n", This, enable); 1052 - return E_NOTIMPL; 1053 - } 1054 - 1055 - static HRESULT WINAPI networkconfig_GetEnableFastCache(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1056 - { 1057 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1058 - FIXME("%p, %p\n", This, enable); 1059 - return E_NOTIMPL; 1060 - } 1061 - 1062 - static HRESULT WINAPI networkconfig_SetEnableFastCache(IWMReaderNetworkConfig2 *iface, BOOL enable) 1063 - { 1064 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1065 - FIXME("%p, %d\n", This, enable); 1066 - return E_NOTIMPL; 1067 - } 1068 - 1069 - static HRESULT WINAPI networkconfig_GetAcceleratedStreamingDuration(IWMReaderNetworkConfig2 *iface, 1070 - QWORD *duration) 1071 - { 1072 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1073 - FIXME("%p, %p\n", This, duration); 1074 - return E_NOTIMPL; 1075 - } 1076 - 1077 - static HRESULT WINAPI networkconfig_SetAcceleratedStreamingDuration(IWMReaderNetworkConfig2 *iface, 1078 - QWORD duration) 1079 - { 1080 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1081 - FIXME("%p, %s\n", This, wine_dbgstr_longlong(duration)); 1082 - return E_NOTIMPL; 1083 - } 1084 - 1085 - static HRESULT WINAPI networkconfig_GetAutoReconnectLimit(IWMReaderNetworkConfig2 *iface, DWORD *limit) 1086 - { 1087 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1088 - FIXME("%p, %p\n", This, limit); 1089 - return E_NOTIMPL; 1090 - } 1091 - 1092 - static HRESULT WINAPI networkconfig_SetAutoReconnectLimit(IWMReaderNetworkConfig2 *iface, DWORD limit) 1093 - { 1094 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1095 - FIXME("%p, %u\n", This, limit); 1096 - return E_NOTIMPL; 1097 - } 1098 - 1099 - static HRESULT WINAPI networkconfig_GetEnableResends(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1100 - { 1101 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1102 - FIXME("%p, %p\n", This, enable); 1103 - return E_NOTIMPL; 1104 - } 1105 - 1106 - static HRESULT WINAPI networkconfig_SetEnableResends(IWMReaderNetworkConfig2 *iface, BOOL enable) 1107 - { 1108 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1109 - FIXME("%p, %u\n", This, enable); 1110 - return E_NOTIMPL; 1111 - } 1112 - 1113 - static HRESULT WINAPI networkconfig_GetEnableThinning(IWMReaderNetworkConfig2 *iface, BOOL *enable) 1114 - { 1115 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1116 - FIXME("%p, %p\n", This, enable); 1117 - return E_NOTIMPL; 1118 - } 1119 - 1120 - static HRESULT WINAPI networkconfig_SetEnableThinning(IWMReaderNetworkConfig2 *iface, BOOL enable) 1121 - { 1122 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1123 - FIXME("%p, %u\n", This, enable); 1124 - return E_NOTIMPL; 1125 - } 1126 - 1127 - static HRESULT WINAPI networkconfig_GetMaxNetPacketSize(IWMReaderNetworkConfig2 *iface, DWORD *packet_size) 1128 - { 1129 - WMReader *This = impl_from_IWMReaderNetworkConfig2(iface); 1130 - FIXME("%p, %p\n", This, packet_size); 1131 - return E_NOTIMPL; 1132 - } 1133 - 1134 - static const IWMReaderNetworkConfig2Vtbl WMReaderNetworkConfig2Vtbl = 1135 - { 1136 - networkconfig_QueryInterface, 1137 - networkconfig_AddRef, 1138 - networkconfig_Release, 1139 - networkconfig_GetBufferingTime, 1140 - networkconfig_SetBufferingTime, 1141 - networkconfig_GetUDPPortRanges, 1142 - networkconfig_SetUDPPortRanges, 1143 - networkconfig_GetProxySettings, 1144 - networkconfig_SetProxySettings, 1145 - networkconfig_GetProxyHostName, 1146 - networkconfig_SetProxyHostName, 1147 - networkconfig_GetProxyPort, 1148 - networkconfig_SetProxyPort, 1149 - networkconfig_GetProxyExceptionList, 1150 - networkconfig_SetProxyExceptionList, 1151 - networkconfig_GetProxyBypassForLocal, 1152 - networkconfig_SetProxyBypassForLocal, 1153 - networkconfig_GetForceRerunAutoProxyDetection, 1154 - networkconfig_SetForceRerunAutoProxyDetection, 1155 - networkconfig_GetEnableMulticast, 1156 - networkconfig_SetEnableMulticast, 1157 - networkconfig_GetEnableHTTP, 1158 - networkconfig_SetEnableHTTP, 1159 - networkconfig_GetEnableUDP, 1160 - networkconfig_SetEnableUDP, 1161 - networkconfig_GetEnableTCP, 1162 - networkconfig_SetEnableTCP, 1163 - networkconfig_ResetProtocolRollover, 1164 - networkconfig_GetConnectionBandwidth, 1165 - networkconfig_SetConnectionBandwidth, 1166 - networkconfig_GetNumProtocolsSupported, 1167 - networkconfig_GetSupportedProtocolName, 1168 - networkconfig_AddLoggingUrl, 1169 - networkconfig_GetLoggingUrl, 1170 - networkconfig_GetLoggingUrlCount, 1171 - networkconfig_ResetLoggingUrlList, 1172 - networkconfig_GetEnableContentCaching, 1173 - networkconfig_SetEnableContentCaching, 1174 - networkconfig_GetEnableFastCache, 1175 - networkconfig_SetEnableFastCache, 1176 - networkconfig_GetAcceleratedStreamingDuration, 1177 - networkconfig_SetAcceleratedStreamingDuration, 1178 - networkconfig_GetAutoReconnectLimit, 1179 - networkconfig_SetAutoReconnectLimit, 1180 - networkconfig_GetEnableResends, 1181 - networkconfig_SetEnableResends, 1182 - networkconfig_GetEnableThinning, 1183 - networkconfig_SetEnableThinning, 1184 - networkconfig_GetMaxNetPacketSize 1185 - }; 1186 - 1187 - static inline WMReader *impl_from_IWMReaderStreamClock(IWMReaderStreamClock *iface) 1188 - { 1189 - return CONTAINING_RECORD(iface, WMReader, IWMReaderStreamClock_iface); 1190 - } 1191 - 1192 - static HRESULT WINAPI readclock_QueryInterface(IWMReaderStreamClock *iface, REFIID riid, void **ppv) 1193 - { 1194 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1195 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1196 - } 1197 - 1198 - static ULONG WINAPI readclock_AddRef(IWMReaderStreamClock *iface) 1199 - { 1200 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1201 - return IWMReader_AddRef(&This->IWMReader_iface); 1202 - } 1203 - 1204 - static ULONG WINAPI readclock_Release(IWMReaderStreamClock *iface) 1205 - { 1206 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1207 - return IWMReader_Release(&This->IWMReader_iface); 1208 - } 1209 - 1210 - static HRESULT WINAPI readclock_GetTime(IWMReaderStreamClock *iface, QWORD *now) 1211 - { 1212 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1213 - FIXME("%p, %p\n", This, now); 1214 - return E_NOTIMPL; 1215 - } 1216 - 1217 - static HRESULT WINAPI readclock_SetTimer(IWMReaderStreamClock *iface, QWORD when, void *param, DWORD *id) 1218 - { 1219 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1220 - FIXME("%p, %s, %p, %p\n", This, wine_dbgstr_longlong(when), param, id); 1221 - return E_NOTIMPL; 1222 - } 1223 - 1224 - static HRESULT WINAPI readclock_KillTimer(IWMReaderStreamClock *iface, DWORD id) 1225 - { 1226 - WMReader *This = impl_from_IWMReaderStreamClock(iface); 1227 - FIXME("%p, %d\n", This, id); 1228 - return E_NOTIMPL; 1229 - } 1230 - 1231 - static const IWMReaderStreamClockVtbl WMReaderStreamClockVtbl = 1232 - { 1233 - readclock_QueryInterface, 1234 - readclock_AddRef, 1235 - readclock_Release, 1236 - readclock_GetTime, 1237 - readclock_SetTimer, 1238 - readclock_KillTimer 1239 - }; 1240 - 1241 - static inline WMReader *impl_from_IWMReaderTypeNegotiation(IWMReaderTypeNegotiation *iface) 1242 - { 1243 - return CONTAINING_RECORD(iface, WMReader, IWMReaderTypeNegotiation_iface); 1244 - } 1245 - 1246 - static HRESULT WINAPI negotiation_QueryInterface(IWMReaderTypeNegotiation *iface, REFIID riid, void **ppv) 1247 - { 1248 - WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1249 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1250 - } 1251 - 1252 - static ULONG WINAPI negotiation_AddRef(IWMReaderTypeNegotiation *iface) 1253 - { 1254 - WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1255 - return IWMReader_AddRef(&This->IWMReader_iface); 1256 - } 1257 - 1258 - static ULONG WINAPI negotiation_Release(IWMReaderTypeNegotiation *iface) 1259 - { 1260 - WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1261 - return IWMReader_Release(&This->IWMReader_iface); 1262 - } 1263 - 1264 - static HRESULT WINAPI negotiation_TryOutputProps(IWMReaderTypeNegotiation *iface, DWORD output, IWMOutputMediaProps *props) 1265 - { 1266 - WMReader *This = impl_from_IWMReaderTypeNegotiation(iface); 1267 - FIXME("%p, %d, %p\n", This, output, props); 1268 - return E_NOTIMPL; 1269 - } 1270 - 1271 - static const IWMReaderTypeNegotiationVtbl WMReaderTypeNegotiationVtbl = 1272 - { 1273 - negotiation_QueryInterface, 1274 - negotiation_AddRef, 1275 - negotiation_Release, 1276 - negotiation_TryOutputProps 1277 - }; 1278 - 1279 - static inline WMReader *impl_from_IWMReaderTimecode(IWMReaderTimecode *iface) 1280 - { 1281 - return CONTAINING_RECORD(iface, WMReader, IWMReaderTimecode_iface); 1282 - } 1283 - 1284 - static HRESULT WINAPI timecode_QueryInterface(IWMReaderTimecode *iface, REFIID riid, void **ppv) 1285 - { 1286 - WMReader *This = impl_from_IWMReaderTimecode(iface); 1287 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1288 - } 1289 - 1290 - static ULONG WINAPI timecode_AddRef(IWMReaderTimecode *iface) 1291 - { 1292 - WMReader *This = impl_from_IWMReaderTimecode(iface); 1293 - return IWMReader_AddRef(&This->IWMReader_iface); 1294 - } 1295 - 1296 - static ULONG WINAPI timecode_Release(IWMReaderTimecode *iface) 1297 - { 1298 - WMReader *This = impl_from_IWMReaderTimecode(iface); 1299 - return IWMReader_Release(&This->IWMReader_iface); 1300 - } 1301 - 1302 - static HRESULT WINAPI timecode_GetTimecodeRangeCount(IWMReaderTimecode *iface, WORD num, WORD *count) 1303 - { 1304 - WMReader *This = impl_from_IWMReaderTimecode(iface); 1305 - FIXME("%p, %d, %p\n", This, num, count); 1306 - return E_NOTIMPL; 1307 - } 1308 - 1309 - static HRESULT WINAPI timecode_GetTimecodeRangeBounds(IWMReaderTimecode *iface, WORD stream, WORD range, 1310 - DWORD *start_timecode, DWORD *end_timecode) 1311 - { 1312 - WMReader *This = impl_from_IWMReaderTimecode(iface); 1313 - FIXME("%p, %d, %d, %p, %p\n", This, stream, range, start_timecode, end_timecode); 1314 - return E_NOTIMPL; 1315 - } 1316 - 1317 - static const IWMReaderTimecodeVtbl WMReaderTimecodeVtbl = 1318 - { 1319 - timecode_QueryInterface, 1320 - timecode_AddRef, 1321 - timecode_Release, 1322 - timecode_GetTimecodeRangeCount, 1323 - timecode_GetTimecodeRangeBounds 1324 - }; 1325 - 1326 - 1327 - static inline WMReader *impl_from_IWMReaderPlaylistBurn(IWMReaderPlaylistBurn *iface) 1328 - { 1329 - return CONTAINING_RECORD(iface, WMReader, IWMReaderPlaylistBurn_iface); 1330 - } 1331 - 1332 - static HRESULT WINAPI playlist_QueryInterface(IWMReaderPlaylistBurn *iface, REFIID riid, void **ppv) 1333 - { 1334 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1335 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1336 - } 1337 - 1338 - static ULONG WINAPI playlist_AddRef(IWMReaderPlaylistBurn *iface) 1339 - { 1340 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1341 - return IWMReader_AddRef(&This->IWMReader_iface); 1342 - } 1343 - 1344 - static ULONG WINAPI playlist_Release(IWMReaderPlaylistBurn *iface) 1345 - { 1346 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1347 - return IWMReader_Release(&This->IWMReader_iface); 1348 - } 1349 - 1350 - static HRESULT WINAPI playlist_InitPlaylistBurn(IWMReaderPlaylistBurn *iface, DWORD count, 1351 - LPCWSTR_WMSDK_TYPE_SAFE *filenames, IWMStatusCallback *callback, void *context) 1352 - { 1353 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1354 - FIXME("%p, %d, %p, %p, %p\n", This, count, filenames, callback, context); 1355 - return E_NOTIMPL; 1356 - } 1357 - 1358 - static HRESULT WINAPI playlist_GetInitResults(IWMReaderPlaylistBurn *iface, DWORD count, HRESULT *stat) 1359 - { 1360 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1361 - FIXME("%p, %d, %p\n", This, count, stat); 1362 - return E_NOTIMPL; 1363 - } 1364 - 1365 - static HRESULT WINAPI playlist_Cancel(IWMReaderPlaylistBurn *iface) 1366 - { 1367 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1368 - FIXME("%p\n", This); 1369 - return E_NOTIMPL; 1370 - } 1371 - 1372 - static HRESULT WINAPI playlist_EndPlaylistBurn(IWMReaderPlaylistBurn *iface, HRESULT result) 1373 - { 1374 - WMReader *This = impl_from_IWMReaderPlaylistBurn(iface); 1375 - FIXME("%p, 0x%08x\n", This, result); 1376 - return E_NOTIMPL; 1377 - } 1378 - 1379 - static const IWMReaderPlaylistBurnVtbl WMReaderPlaylistBurnVtbl = 1380 - { 1381 - playlist_QueryInterface, 1382 - playlist_AddRef, 1383 - playlist_Release, 1384 - playlist_InitPlaylistBurn, 1385 - playlist_GetInitResults, 1386 - playlist_Cancel, 1387 - playlist_EndPlaylistBurn 1388 - }; 1389 - 1390 - static inline WMReader *impl_from_IWMHeaderInfo3(IWMHeaderInfo3 *iface) 1391 - { 1392 - return CONTAINING_RECORD(iface, WMReader, IWMHeaderInfo3_iface); 1393 - } 1394 - 1395 - static HRESULT WINAPI headerinfo_QueryInterface(IWMHeaderInfo3 *iface, REFIID riid, void **ppv) 1396 - { 1397 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1398 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1399 - } 1400 - 1401 - static ULONG WINAPI headerinfo_AddRef(IWMHeaderInfo3 *iface) 1402 - { 1403 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1404 - return IWMReader_AddRef(&This->IWMReader_iface); 1405 - } 1406 - 1407 - static ULONG WINAPI headerinfo_Release(IWMHeaderInfo3 *iface) 1408 - { 1409 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1410 - return IWMReader_Release(&This->IWMReader_iface); 1411 - } 1412 - 1413 - static HRESULT WINAPI headerinfo_GetAttributeCount(IWMHeaderInfo3 *iface, WORD stream_num, WORD *attributes) 1414 - { 1415 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1416 - FIXME("%p, %d, %p\n", This, stream_num, attributes); 1417 - return E_NOTIMPL; 1418 - } 1419 - 1420 - static HRESULT WINAPI headerinfo_GetAttributeByIndex(IWMHeaderInfo3 *iface, WORD index, WORD *stream_num, 1421 - WCHAR *name, WORD *name_len, WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 1422 - { 1423 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1424 - FIXME("%p, %d, %p, %p, %p, %p, %p, %p\n", This, index, stream_num, name, name_len, type, 1425 - value, length); 1426 - return E_NOTIMPL; 1427 - } 1428 - 1429 - static HRESULT WINAPI headerinfo_GetAttributeByName(IWMHeaderInfo3 *iface, WORD *stream_num, LPCWSTR name, 1430 - WMT_ATTR_DATATYPE *type, BYTE *value, WORD *length) 1431 - { 1432 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1433 - FIXME("%p, %p, %s, %p, %p, %p\n", This, stream_num, debugstr_w(name), type, value, length); 1434 - return E_NOTIMPL; 1435 - } 1436 - 1437 - static HRESULT WINAPI headerinfo_SetAttribute(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1438 - WMT_ATTR_DATATYPE type, const BYTE *value, WORD length) 1439 - { 1440 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1441 - FIXME("%p, %d, %s, %d, %p, %d\n", This, stream_num, debugstr_w(name), type, value, length); 1442 - return E_NOTIMPL; 1443 - } 1444 - 1445 - static HRESULT WINAPI headerinfo_GetMarkerCount(IWMHeaderInfo3 *iface, WORD *markers) 1446 - { 1447 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1448 - FIXME("%p, %p\n", This, markers); 1449 - return E_NOTIMPL; 1450 - } 1451 - 1452 - static HRESULT WINAPI headerinfo_GetMarker(IWMHeaderInfo3 *iface, WORD index, WCHAR *marker_name, 1453 - WORD *marker_len, QWORD *marker_time) 1454 - { 1455 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1456 - FIXME("%p, %d, %p, %p, %p\n", This, index, marker_name, marker_len, marker_time); 1457 - return E_NOTIMPL; 1458 - } 1459 - 1460 - static HRESULT WINAPI headerinfo_AddMarker(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE marker_name, 1461 - QWORD marker_time) 1462 - { 1463 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1464 - FIXME("%p, %p, %s\n", This, marker_name, wine_dbgstr_longlong(marker_time)); 1465 - return E_NOTIMPL; 1466 - } 1467 - 1468 - static HRESULT WINAPI headerinfo_RemoveMarker(IWMHeaderInfo3 *iface, WORD index) 1469 - { 1470 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1471 - FIXME("%p, %d\n", This, index); 1472 - return E_NOTIMPL; 1473 - } 1474 - 1475 - static HRESULT WINAPI headerinfo_GetScriptCount(IWMHeaderInfo3 *iface, WORD *scripts) 1476 - { 1477 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1478 - FIXME("%p, %p\n", This, scripts); 1479 - return E_NOTIMPL; 1480 - } 1481 - 1482 - static HRESULT WINAPI headerinfo_GetScript(IWMHeaderInfo3 *iface, WORD index, WCHAR *type, 1483 - WORD *type_len, WCHAR *command, WORD *command_len, QWORD *script_time) 1484 - { 1485 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1486 - FIXME("%p, %d, %p, %p, %p, %p, %p\n", This, index, type, type_len, command, command_len, script_time); 1487 - return E_NOTIMPL; 1488 - } 1489 - 1490 - static HRESULT WINAPI headerinfo_AddScript(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE type, 1491 - LPCWSTR_WMSDK_TYPE_SAFE command, QWORD script_time) 1492 - { 1493 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1494 - FIXME("%p, %s, %s, %s\n", This, debugstr_w(type), debugstr_w(command), wine_dbgstr_longlong(script_time)); 1495 - return E_NOTIMPL; 1496 - } 1497 - 1498 - static HRESULT WINAPI headerinfo_RemoveScript(IWMHeaderInfo3 *iface, WORD index) 1499 - { 1500 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1501 - FIXME("%p, %d\n", This, index); 1502 - return E_NOTIMPL; 1503 - } 1504 - 1505 - static HRESULT WINAPI headerinfo_GetCodecInfoCount(IWMHeaderInfo3 *iface, DWORD *codec_infos) 1506 - { 1507 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1508 - FIXME("%p, %p\n", This, codec_infos); 1509 - return E_NOTIMPL; 1510 - } 1511 - 1512 - static HRESULT WINAPI headerinfo_GetCodecInfo(IWMHeaderInfo3 *iface, DWORD index, WORD *name_len, 1513 - WCHAR *name, WORD *description_len, WCHAR *description, WMT_CODEC_INFO_TYPE *codec_type, 1514 - WORD *codec_info_cnt, BYTE *codec_info) 1515 - { 1516 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1517 - FIXME("%p, %d, %p, %p, %p, %p, %p, %p, %p\n", This, index, name_len, name, description_len, 1518 - description, codec_type, codec_info_cnt, codec_info); 1519 - return E_NOTIMPL; 1520 - } 1521 - 1522 - static HRESULT WINAPI headerinfo_GetAttributeCountEx(IWMHeaderInfo3 *iface, WORD stream_num, WORD *attributes) 1523 - { 1524 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1525 - FIXME("%p, %d, %p\n", This, stream_num, attributes); 1526 - return E_NOTIMPL; 1527 - } 1528 - 1529 - static HRESULT WINAPI headerinfo_GetAttributeIndices(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1530 - WORD *lang_index, WORD *indices, WORD *count) 1531 - { 1532 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1533 - FIXME("%p, %d, %s, %p, %p, %p\n", This, stream_num, debugstr_w(name), lang_index, indices, count); 1534 - return E_NOTIMPL; 1535 - } 1536 - 1537 - static HRESULT WINAPI headerinfo_GetAttributeByIndexEx(IWMHeaderInfo3 *iface, WORD stream_num, 1538 - WORD index, LPWSTR name, WORD *name_len, WMT_ATTR_DATATYPE *type, WORD *lang_index, 1539 - BYTE *value, DWORD *data_len) 1540 - { 1541 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1542 - FIXME("%p, %d, %d, %s, %p, %p, %p, %p, %p\n", This, stream_num, index, debugstr_w(name), name_len, 1543 - type, lang_index, value, data_len); 1544 - return E_NOTIMPL; 1545 - } 1546 - 1547 - static HRESULT WINAPI headerinfo_ModifyAttribute(IWMHeaderInfo3 *iface, WORD stream_num, 1548 - WORD index, WMT_ATTR_DATATYPE type, WORD lang_index, const BYTE *value, DWORD length) 1549 - { 1550 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1551 - FIXME("%p, %d, %d, %d, %d, %p, %d\n", This, stream_num, index, type, lang_index, value, length); 1552 - return E_NOTIMPL; 1553 - } 1554 - 1555 - static HRESULT WINAPI headerinfo_AddAttribute(IWMHeaderInfo3 *iface, WORD stream_num, LPCWSTR name, 1556 - WORD *index, WMT_ATTR_DATATYPE type, WORD lang_index, const BYTE *value, DWORD length) 1557 - { 1558 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1559 - FIXME("%p, %d, %s, %p, %d, %d, %p, %d\n", This, stream_num, debugstr_w(name), index, 1560 - type, lang_index, value, length); 1561 - return E_NOTIMPL; 1562 - } 1563 - 1564 - static HRESULT WINAPI headerinfo_DeleteAttribute(IWMHeaderInfo3 *iface, WORD stream_num, WORD index) 1565 - { 1566 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1567 - FIXME("%p, %d, %d\n", This, stream_num, index); 1568 - return E_NOTIMPL; 1569 - } 1570 - 1571 - static HRESULT WINAPI headerinfo_AddCodecInfo(IWMHeaderInfo3 *iface, LPCWSTR_WMSDK_TYPE_SAFE name, 1572 - LPCWSTR_WMSDK_TYPE_SAFE description, WMT_CODEC_INFO_TYPE codec_type, WORD codec_info_cnt, 1573 - BYTE *codec_info) 1574 - { 1575 - WMReader *This = impl_from_IWMHeaderInfo3(iface); 1576 - FIXME("%p, %p, %p, %d, %d, %p\n", This, name, description, codec_type, codec_info_cnt, 1577 - codec_info); 1578 - return E_NOTIMPL; 1579 - } 1580 - 1581 - static const IWMHeaderInfo3Vtbl WMHeaderInfo3Vtbl = 1582 - { 1583 - headerinfo_QueryInterface, 1584 - headerinfo_AddRef, 1585 - headerinfo_Release, 1586 - headerinfo_GetAttributeCount, 1587 - headerinfo_GetAttributeByIndex, 1588 - headerinfo_GetAttributeByName, 1589 - headerinfo_SetAttribute, 1590 - headerinfo_GetMarkerCount, 1591 - headerinfo_GetMarker, 1592 - headerinfo_AddMarker, 1593 - headerinfo_RemoveMarker, 1594 - headerinfo_GetScriptCount, 1595 - headerinfo_GetScript, 1596 - headerinfo_AddScript, 1597 - headerinfo_RemoveScript, 1598 - headerinfo_GetCodecInfoCount, 1599 - headerinfo_GetCodecInfo, 1600 - headerinfo_GetAttributeCountEx, 1601 - headerinfo_GetAttributeIndices, 1602 - headerinfo_GetAttributeByIndexEx, 1603 - headerinfo_ModifyAttribute, 1604 - headerinfo_AddAttribute, 1605 - headerinfo_DeleteAttribute, 1606 - headerinfo_AddCodecInfo 1607 - }; 1608 - 1609 - 1610 - static inline WMReader *impl_from_IWMLanguageList(IWMLanguageList *iface) 1611 - { 1612 - return CONTAINING_RECORD(iface, WMReader, IWMLanguageList_iface); 1613 - } 1614 - 1615 - static HRESULT WINAPI langlist_QueryInterface(IWMLanguageList *iface, REFIID riid, void **ppv) 1616 - { 1617 - WMReader *This = impl_from_IWMLanguageList(iface); 1618 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1619 - } 1620 - 1621 - static ULONG WINAPI langlist_AddRef(IWMLanguageList *iface) 1622 - { 1623 - WMReader *This = impl_from_IWMLanguageList(iface); 1624 - return IWMReader_AddRef(&This->IWMReader_iface); 1625 - } 1626 - 1627 - static ULONG WINAPI langlist_Release(IWMLanguageList *iface) 1628 - { 1629 - WMReader *This = impl_from_IWMLanguageList(iface); 1630 - return IWMReader_Release(&This->IWMReader_iface); 1631 - } 1632 - 1633 - static HRESULT WINAPI langlist_GetLanguageCount(IWMLanguageList *iface, WORD *count) 1634 - { 1635 - WMReader *This = impl_from_IWMLanguageList(iface); 1636 - FIXME("%p, %p\n", This, count); 1637 - return E_NOTIMPL; 1638 - } 1639 - 1640 - static HRESULT WINAPI langlist_GetLanguageDetails(IWMLanguageList *iface, WORD index, 1641 - WCHAR *language, WORD *length) 1642 - { 1643 - WMReader *This = impl_from_IWMLanguageList(iface); 1644 - FIXME("%p, %d, %p, %p\n", This, index, language, length); 1645 - return E_NOTIMPL; 1646 - } 1647 - 1648 - static HRESULT WINAPI langlist_AddLanguageByRFC1766String(IWMLanguageList *iface, LPCWSTR_WMSDK_TYPE_SAFE language, 1649 - WORD *index) 1650 - { 1651 - WMReader *This = impl_from_IWMLanguageList(iface); 1652 - FIXME("%p, %p, %p\n", This, language, index); 1653 - return E_NOTIMPL; 1654 - } 1655 - 1656 - static const IWMLanguageListVtbl WMLanguageListVtbl = 1657 - { 1658 - langlist_QueryInterface, 1659 - langlist_AddRef, 1660 - langlist_Release, 1661 - langlist_GetLanguageCount, 1662 - langlist_GetLanguageDetails, 1663 - langlist_AddLanguageByRFC1766String 1664 - }; 1665 - 1666 - static inline WMReader *impl_from_IReferenceClock(IReferenceClock *iface) 1667 - { 1668 - return CONTAINING_RECORD(iface, WMReader, IReferenceClock_iface); 1669 - } 1670 - 1671 - static HRESULT WINAPI refclock_QueryInterface(IReferenceClock *iface, REFIID riid, void **ppv) 1672 - { 1673 - WMReader *This = impl_from_IReferenceClock(iface); 1674 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1675 - } 1676 - 1677 - static ULONG WINAPI refclock_AddRef(IReferenceClock *iface) 1678 - { 1679 - WMReader *This = impl_from_IReferenceClock(iface); 1680 - return IWMReader_AddRef(&This->IWMReader_iface); 1681 - } 1682 - 1683 - static ULONG WINAPI refclock_Release(IReferenceClock *iface) 1684 - { 1685 - WMReader *This = impl_from_IReferenceClock(iface); 1686 - return IWMReader_Release(&This->IWMReader_iface); 1687 - } 1688 - 1689 - static HRESULT WINAPI refclock_GetTime(IReferenceClock *iface, REFERENCE_TIME *time) 1690 - { 1691 - WMReader *This = impl_from_IReferenceClock(iface); 1692 - FIXME("%p, %p\n", This, time); 1693 - return E_NOTIMPL; 1694 - } 1695 - 1696 - static HRESULT WINAPI refclock_AdviseTime(IReferenceClock *iface, REFERENCE_TIME basetime, 1697 - REFERENCE_TIME streamtime, HEVENT event, DWORD_PTR *cookie) 1698 - { 1699 - WMReader *This = impl_from_IReferenceClock(iface); 1700 - FIXME("%p, %s, %s, %lu, %p\n", This, wine_dbgstr_longlong(basetime), 1701 - wine_dbgstr_longlong(streamtime), event, cookie); 1702 - return E_NOTIMPL; 1703 - } 1704 - 1705 - static HRESULT WINAPI refclock_AdvisePeriodic(IReferenceClock *iface, REFERENCE_TIME starttime, 1706 - REFERENCE_TIME period, HSEMAPHORE semaphore, DWORD_PTR *cookie) 1707 - { 1708 - WMReader *This = impl_from_IReferenceClock(iface); 1709 - FIXME("%p, %s, %s, %lu, %p\n", This, wine_dbgstr_longlong(starttime), 1710 - wine_dbgstr_longlong(period), semaphore, cookie); 1711 - return E_NOTIMPL; 1712 - } 1713 - 1714 - static HRESULT WINAPI refclock_Unadvise(IReferenceClock *iface, DWORD_PTR cookie) 1715 - { 1716 - WMReader *This = impl_from_IReferenceClock(iface); 1717 - FIXME("%p, %lu\n", This, cookie); 1718 - return E_NOTIMPL; 1719 - } 1720 - 1721 - static const IReferenceClockVtbl ReferenceClockVtbl = 1722 - { 1723 - refclock_QueryInterface, 1724 - refclock_AddRef, 1725 - refclock_Release, 1726 - refclock_GetTime, 1727 - refclock_AdviseTime, 1728 - refclock_AdvisePeriodic, 1729 - refclock_Unadvise 1730 - }; 1731 - 1732 - static inline WMReader *impl_from_IWMProfile3(IWMProfile3 *iface) 1733 - { 1734 - return CONTAINING_RECORD(iface, WMReader, IWMProfile3_iface); 1735 - } 1736 - 1737 - static HRESULT WINAPI profile3_QueryInterface(IWMProfile3 *iface, REFIID riid, void **ppv) 1738 - { 1739 - WMReader *This = impl_from_IWMProfile3(iface); 1740 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 1741 - } 1742 - 1743 - static ULONG WINAPI profile3_AddRef(IWMProfile3 *iface) 1744 - { 1745 - WMReader *This = impl_from_IWMProfile3(iface); 1746 - return IWMReader_AddRef(&This->IWMReader_iface); 1747 - } 1748 - 1749 - static ULONG WINAPI profile3_Release(IWMProfile3 *iface) 1750 - { 1751 - WMReader *This = impl_from_IWMProfile3(iface); 1752 - return IWMReader_Release(&This->IWMReader_iface); 1753 - } 1754 - 1755 - static HRESULT WINAPI profile3_GetVersion(IWMProfile3 *iface, WMT_VERSION *version) 1756 - { 1757 - WMReader *This = impl_from_IWMProfile3(iface); 1758 - FIXME("%p, %p\n", This, version); 1759 - return E_NOTIMPL; 1760 - } 1761 - 1762 - static HRESULT WINAPI profile3_GetName(IWMProfile3 *iface, WCHAR *name, DWORD *length) 1763 - { 1764 - WMReader *This = impl_from_IWMProfile3(iface); 1765 - FIXME("%p, %p, %p\n", This, name, length); 1766 - return E_NOTIMPL; 1767 - } 1768 - 1769 - static HRESULT WINAPI profile3_SetName(IWMProfile3 *iface, const WCHAR *name) 1770 - { 1771 - WMReader *This = impl_from_IWMProfile3(iface); 1772 - FIXME("%p, %s\n", This, debugstr_w(name)); 1773 - return E_NOTIMPL; 1774 - } 1775 - 1776 - static HRESULT WINAPI profile3_GetDescription(IWMProfile3 *iface, WCHAR *description, DWORD *length) 1777 - { 1778 - WMReader *This = impl_from_IWMProfile3(iface); 1779 - FIXME("%p, %p, %p\n", This, description, length); 1780 - return E_NOTIMPL; 1781 - } 1782 - 1783 - static HRESULT WINAPI profile3_SetDescription(IWMProfile3 *iface, const WCHAR *description) 1784 - { 1785 - WMReader *This = impl_from_IWMProfile3(iface); 1786 - FIXME("%p, %s\n", This, debugstr_w(description)); 1787 - return E_NOTIMPL; 1788 - } 1789 - 1790 - static HRESULT WINAPI profile3_GetStreamCount(IWMProfile3 *iface, DWORD *count) 1791 - { 1792 - WMReader *This = impl_from_IWMProfile3(iface); 1793 - FIXME("%p, %p\n", This, count); 1794 - return E_NOTIMPL; 1795 - } 1796 - 1797 - static HRESULT WINAPI profile3_GetStream(IWMProfile3 *iface, DWORD index, IWMStreamConfig **config) 1798 - { 1799 - WMReader *This = impl_from_IWMProfile3(iface); 1800 - FIXME("%p, %d, %p\n", This, index, config); 1801 - return E_NOTIMPL; 1802 - } 1803 - 1804 - static HRESULT WINAPI profile3_GetStreamByNumber(IWMProfile3 *iface, WORD stream, IWMStreamConfig **config) 1805 - { 1806 - WMReader *This = impl_from_IWMProfile3(iface); 1807 - FIXME("%p, %d, %p\n", This, stream, config); 1808 - return E_NOTIMPL; 1809 - } 1810 - 1811 - static HRESULT WINAPI profile3_RemoveStream(IWMProfile3 *iface, IWMStreamConfig *config) 1812 - { 1813 - WMReader *This = impl_from_IWMProfile3(iface); 1814 - FIXME("%p, %p\n", This, config); 1815 - return E_NOTIMPL; 1816 - } 1817 - 1818 - static HRESULT WINAPI profile3_RemoveStreamByNumber(IWMProfile3 *iface, WORD stream) 1819 - { 1820 - WMReader *This = impl_from_IWMProfile3(iface); 1821 - FIXME("%p, %d\n", This, stream); 1822 - return E_NOTIMPL; 1823 - } 1824 - 1825 - static HRESULT WINAPI profile3_AddStream(IWMProfile3 *iface, IWMStreamConfig *config) 1826 - { 1827 - WMReader *This = impl_from_IWMProfile3(iface); 1828 - FIXME("%p, %p\n", This, config); 1829 - return E_NOTIMPL; 1830 - } 1831 - 1832 - static HRESULT WINAPI profile3_ReconfigStream(IWMProfile3 *iface, IWMStreamConfig *config) 1833 - { 1834 - WMReader *This = impl_from_IWMProfile3(iface); 1835 - FIXME("%p, %p\n", This, config); 1836 - return E_NOTIMPL; 1837 - } 1838 - 1839 - static HRESULT WINAPI profile3_CreateNewStream(IWMProfile3 *iface, REFGUID type, IWMStreamConfig **config) 1840 - { 1841 - WMReader *This = impl_from_IWMProfile3(iface); 1842 - FIXME("%p, %s, %p\n", This, debugstr_guid(type), config); 1843 - return E_NOTIMPL; 1844 - } 1845 - 1846 - static HRESULT WINAPI profile3_GetMutualExclusionCount(IWMProfile3 *iface, DWORD *count) 1847 - { 1848 - WMReader *This = impl_from_IWMProfile3(iface); 1849 - FIXME("%p, %p\n", This, count); 1850 - return E_NOTIMPL; 1851 - } 1852 - 1853 - static HRESULT WINAPI profile3_GetMutualExclusion(IWMProfile3 *iface, DWORD index, IWMMutualExclusion **mutual) 1854 - { 1855 - WMReader *This = impl_from_IWMProfile3(iface); 1856 - FIXME("%p, %d, %p\n", This, index, mutual); 1857 - return E_NOTIMPL; 1858 - } 1859 - 1860 - static HRESULT WINAPI profile3_RemoveMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion *mutual) 1861 - { 1862 - WMReader *This = impl_from_IWMProfile3(iface); 1863 - FIXME("%p, %p\n", This, mutual); 1864 - return E_NOTIMPL; 1865 - } 1866 - 1867 - static HRESULT WINAPI profile3_AddMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion *mutual) 1868 - { 1869 - WMReader *This = impl_from_IWMProfile3(iface); 1870 - FIXME("%p, %p\n", This, mutual); 1871 - return E_NOTIMPL; 1872 - } 1873 - 1874 - static HRESULT WINAPI profile3_CreateNewMutualExclusion(IWMProfile3 *iface, IWMMutualExclusion **mutual) 1875 - { 1876 - WMReader *This = impl_from_IWMProfile3(iface); 1877 - FIXME("%p, %p\n", This, mutual); 1878 - return E_NOTIMPL; 1879 - } 1880 - 1881 - static HRESULT WINAPI profile3_GetProfileID(IWMProfile3 *iface, GUID *guid) 1882 - { 1883 - WMReader *This = impl_from_IWMProfile3(iface); 1884 - FIXME("%p, %p\n", This, guid); 1885 - return E_NOTIMPL; 1886 - } 1887 - 1888 - static HRESULT WINAPI profile3_GetStorageFormat(IWMProfile3 *iface, WMT_STORAGE_FORMAT *storage) 1889 - { 1890 - WMReader *This = impl_from_IWMProfile3(iface); 1891 - FIXME("%p, %p\n", This, storage); 1892 - return E_NOTIMPL; 1893 - } 1894 - 1895 - static HRESULT WINAPI profile3_SetStorageFormat(IWMProfile3 *iface, WMT_STORAGE_FORMAT storage) 1896 - { 1897 - WMReader *This = impl_from_IWMProfile3(iface); 1898 - FIXME("%p, %d\n", This, storage); 1899 - return E_NOTIMPL; 1900 - } 1901 - 1902 - static HRESULT WINAPI profile3_GetBandwidthSharingCount(IWMProfile3 *iface, DWORD *count) 1903 - { 1904 - WMReader *This = impl_from_IWMProfile3(iface); 1905 - FIXME("%p, %p\n", This, count); 1906 - return E_NOTIMPL; 1907 - } 1908 - 1909 - static HRESULT WINAPI profile3_GetBandwidthSharing(IWMProfile3 *iface, DWORD index, IWMBandwidthSharing **bandwidth) 1910 - { 1911 - WMReader *This = impl_from_IWMProfile3(iface); 1912 - FIXME("%p, %d, %p\n", This, index, bandwidth); 1913 - return E_NOTIMPL; 1914 - } 1915 - 1916 - static HRESULT WINAPI profile3_RemoveBandwidthSharing( IWMProfile3 *iface, IWMBandwidthSharing *bandwidth) 1917 - { 1918 - WMReader *This = impl_from_IWMProfile3(iface); 1919 - FIXME("%p, %p\n", This, bandwidth); 1920 - return E_NOTIMPL; 1921 - } 1922 - 1923 - static HRESULT WINAPI profile3_AddBandwidthSharing(IWMProfile3 *iface, IWMBandwidthSharing *bandwidth) 1924 - { 1925 - WMReader *This = impl_from_IWMProfile3(iface); 1926 - FIXME("%p, %p\n", This, bandwidth); 1927 - return E_NOTIMPL; 1928 - } 1929 - 1930 - static HRESULT WINAPI profile3_CreateNewBandwidthSharing( IWMProfile3 *iface, IWMBandwidthSharing **bandwidth) 1931 - { 1932 - WMReader *This = impl_from_IWMProfile3(iface); 1933 - FIXME("%p, %p\n", This, bandwidth); 1934 - return E_NOTIMPL; 1935 - } 1936 - 1937 - static HRESULT WINAPI profile3_GetStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization **stream) 1938 - { 1939 - WMReader *This = impl_from_IWMProfile3(iface); 1940 - FIXME("%p, %p\n", This, stream); 1941 - return E_NOTIMPL; 1942 - } 1943 - 1944 - static HRESULT WINAPI profile3_SetStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization *stream) 1945 - { 1946 - WMReader *This = impl_from_IWMProfile3(iface); 1947 - FIXME("%p, %p\n", This, stream); 1948 - return E_NOTIMPL; 1949 - } 1950 - 1951 - static HRESULT WINAPI profile3_RemoveStreamPrioritization(IWMProfile3 *iface) 1952 - { 1953 - WMReader *This = impl_from_IWMProfile3(iface); 1954 - FIXME("%p\n", This); 1955 - return E_NOTIMPL; 1956 - } 1957 - 1958 - static HRESULT WINAPI profile3_CreateNewStreamPrioritization(IWMProfile3 *iface, IWMStreamPrioritization **stream) 1959 - { 1960 - WMReader *This = impl_from_IWMProfile3(iface); 1961 - FIXME("%p, %p\n", This, stream); 1962 - return E_NOTIMPL; 1963 - } 1964 - 1965 - static HRESULT WINAPI profile3_GetExpectedPacketCount(IWMProfile3 *iface, QWORD duration, QWORD *packets) 1966 - { 1967 - WMReader *This = impl_from_IWMProfile3(iface); 1968 - FIXME("%p, %s, %p\n", This, wine_dbgstr_longlong(duration), packets); 1969 - return E_NOTIMPL; 1970 - } 1971 - 1972 - static const IWMProfile3Vtbl WMProfile3Vtbl = 1973 - { 1974 - profile3_QueryInterface, 1975 - profile3_AddRef, 1976 - profile3_Release, 1977 - profile3_GetVersion, 1978 - profile3_GetName, 1979 - profile3_SetName, 1980 - profile3_GetDescription, 1981 - profile3_SetDescription, 1982 - profile3_GetStreamCount, 1983 - profile3_GetStream, 1984 - profile3_GetStreamByNumber, 1985 - profile3_RemoveStream, 1986 - profile3_RemoveStreamByNumber, 1987 - profile3_AddStream, 1988 - profile3_ReconfigStream, 1989 - profile3_CreateNewStream, 1990 - profile3_GetMutualExclusionCount, 1991 - profile3_GetMutualExclusion, 1992 - profile3_RemoveMutualExclusion, 1993 - profile3_AddMutualExclusion, 1994 - profile3_CreateNewMutualExclusion, 1995 - profile3_GetProfileID, 1996 - profile3_GetStorageFormat, 1997 - profile3_SetStorageFormat, 1998 - profile3_GetBandwidthSharingCount, 1999 - profile3_GetBandwidthSharing, 2000 - profile3_RemoveBandwidthSharing, 2001 - profile3_AddBandwidthSharing, 2002 - profile3_CreateNewBandwidthSharing, 2003 - profile3_GetStreamPrioritization, 2004 - profile3_SetStreamPrioritization, 2005 - profile3_RemoveStreamPrioritization, 2006 - profile3_CreateNewStreamPrioritization, 2007 - profile3_GetExpectedPacketCount 2008 - }; 2009 - 2010 - static inline WMReader *impl_from_IWMPacketSize2(IWMPacketSize2 *iface) 2011 - { 2012 - return CONTAINING_RECORD(iface, WMReader, IWMPacketSize2_iface); 2013 - } 2014 - 2015 - static HRESULT WINAPI packetsize_QueryInterface(IWMPacketSize2 *iface, REFIID riid, void **ppv) 2016 - { 2017 - WMReader *This = impl_from_IWMPacketSize2(iface); 2018 - return IWMReader_QueryInterface(&This->IWMReader_iface, riid, ppv); 2019 - } 2020 - 2021 - static ULONG WINAPI packetsize_AddRef(IWMPacketSize2 *iface) 2022 - { 2023 - WMReader *This = impl_from_IWMPacketSize2(iface); 2024 - return IWMReader_AddRef(&This->IWMReader_iface); 2025 - } 2026 - 2027 - static ULONG WINAPI packetsize_Release(IWMPacketSize2 *iface) 2028 - { 2029 - WMReader *This = impl_from_IWMPacketSize2(iface); 2030 - return IWMReader_Release(&This->IWMReader_iface); 2031 - } 2032 - 2033 - static HRESULT WINAPI packetsize_GetMaxPacketSize(IWMPacketSize2 *iface, DWORD *size) 2034 - { 2035 - WMReader *This = impl_from_IWMPacketSize2(iface); 2036 - FIXME("%p, %p\n", This, size); 2037 - return E_NOTIMPL; 2038 - } 2039 - 2040 - static HRESULT WINAPI packetsize_SetMaxPacketSize(IWMPacketSize2 *iface, DWORD size) 2041 - { 2042 - WMReader *This = impl_from_IWMPacketSize2(iface); 2043 - FIXME("%p, %d\n", This, size); 2044 - return E_NOTIMPL; 2045 - } 2046 - 2047 - static HRESULT WINAPI packetsize_GetMinPacketSize(IWMPacketSize2 *iface, DWORD *size) 2048 - { 2049 - WMReader *This = impl_from_IWMPacketSize2(iface); 2050 - FIXME("%p, %p\n", This, size); 2051 - return E_NOTIMPL; 2052 - } 2053 - 2054 - static HRESULT WINAPI packetsize_SetMinPacketSize(IWMPacketSize2 *iface, DWORD size) 2055 - { 2056 - WMReader *This = impl_from_IWMPacketSize2(iface); 2057 - FIXME("%p, %d\n", This, size); 2058 - return E_NOTIMPL; 2059 - } 2060 - 2061 - static const IWMPacketSize2Vtbl WMPacketSize2Vtbl = 2062 - { 2063 - packetsize_QueryInterface, 2064 - packetsize_AddRef, 2065 - packetsize_Release, 2066 - packetsize_GetMaxPacketSize, 2067 - packetsize_SetMaxPacketSize, 2068 - packetsize_GetMinPacketSize, 2069 - packetsize_SetMinPacketSize 2070 - }; 2071 - 2072 - HRESULT WINAPI WMCreateReader(IUnknown *reserved, DWORD rights, IWMReader **ret_reader) 2073 - { 2074 - WMReader *reader; 2075 - 2076 - TRACE("(%p, %x, %p)\n", reserved, rights, ret_reader); 2077 - 2078 - reader = heap_alloc(sizeof(*reader)); 2079 - if(!reader) 2080 - return E_OUTOFMEMORY; 2081 - 2082 - reader->IWMReader_iface.lpVtbl = &WMReaderVtbl; 2083 - reader->IWMReaderAdvanced6_iface.lpVtbl = &WMReaderAdvanced6Vtbl; 2084 - reader->IWMReaderAccelerator_iface.lpVtbl = &WMReaderAcceleratorVtbl; 2085 - reader->IWMReaderNetworkConfig2_iface.lpVtbl = &WMReaderNetworkConfig2Vtbl; 2086 - reader->IWMReaderStreamClock_iface.lpVtbl = &WMReaderStreamClockVtbl; 2087 - reader->IWMReaderTypeNegotiation_iface.lpVtbl = &WMReaderTypeNegotiationVtbl; 2088 - reader->IWMReaderTimecode_iface.lpVtbl = &WMReaderTimecodeVtbl; 2089 - reader->IWMReaderPlaylistBurn_iface.lpVtbl = &WMReaderPlaylistBurnVtbl; 2090 - reader->IWMHeaderInfo3_iface.lpVtbl = &WMHeaderInfo3Vtbl; 2091 - reader->IWMLanguageList_iface.lpVtbl = &WMLanguageListVtbl; 2092 - reader->IReferenceClock_iface.lpVtbl = &ReferenceClockVtbl; 2093 - reader->IWMProfile3_iface.lpVtbl = &WMProfile3Vtbl; 2094 - reader->IWMPacketSize2_iface.lpVtbl = &WMPacketSize2Vtbl; 2095 - reader->ref = 1; 2096 - 2097 - *ret_reader = &reader->IWMReader_iface; 2098 - return S_OK; 2099 - } 2100 - 2101 - HRESULT WINAPI WMCreateReaderPriv(IWMReader **ret_reader) 2102 - { 2103 - return WMCreateReader(NULL, 0, ret_reader); 2104 - } 2105 - 2106 - HRESULT WINAPI WMCreateSyncReader(IUnknown *pcert, DWORD rights, IWMSyncReader **syncreader) 2107 - { 2108 - FIXME("(%p, %x, %p): stub\n", pcert, rights, syncreader); 2109 - 2110 - *syncreader = NULL; 84 + *licBackup = NULL; 2111 85 2112 86 return E_NOTIMPL; 2113 87 } 2114 88 2115 89 typedef struct { 2116 - IWMProfileManager IWMProfileManager_iface; 90 + IWMProfileManager2 IWMProfileManager2_iface; 2117 91 LONG ref; 2118 92 } WMProfileManager; 2119 93 2120 - static inline WMProfileManager *impl_from_IWMProfileManager(IWMProfileManager *iface) 94 + static inline WMProfileManager *impl_from_IWMProfileManager2(IWMProfileManager2 *iface) 2121 95 { 2122 - return CONTAINING_RECORD(iface, WMProfileManager, IWMProfileManager_iface); 96 + return CONTAINING_RECORD(iface, WMProfileManager, IWMProfileManager2_iface); 2123 97 } 2124 98 2125 - static HRESULT WINAPI WMProfileManager_QueryInterface(IWMProfileManager *iface, REFIID riid, void **ppv) 99 + static HRESULT WINAPI WMProfileManager_QueryInterface(IWMProfileManager2 *iface, REFIID riid, void **ppv) 2126 100 { 2127 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 101 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2128 102 2129 103 if(IsEqualGUID(&IID_IUnknown, riid)) { 2130 104 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); 2131 - *ppv = &This->IWMProfileManager_iface; 105 + *ppv = &This->IWMProfileManager2_iface; 2132 106 }else if(IsEqualGUID(&IID_IWMProfileManager, riid)) { 2133 107 TRACE("(%p)->(IID_IWMProfileManager %p)\n", This, ppv); 2134 - *ppv = &This->IWMProfileManager_iface; 108 + *ppv = &This->IWMProfileManager2_iface; 109 + }else if(IsEqualGUID(&IID_IWMProfileManager2, riid)) { 110 + TRACE("(%p)->(IID_IWMProfileManager2 %p)\n", This, ppv); 111 + *ppv = &This->IWMProfileManager2_iface; 2135 112 }else { 2136 113 FIXME("Unsupported iface %s\n", debugstr_guid(riid)); 2137 114 *ppv = NULL; ··· 2142 119 return S_OK; 2143 120 } 2144 121 2145 - static ULONG WINAPI WMProfileManager_AddRef(IWMProfileManager *iface) 122 + static ULONG WINAPI WMProfileManager_AddRef(IWMProfileManager2 *iface) 2146 123 { 2147 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 124 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2148 125 LONG ref = InterlockedIncrement(&This->ref); 2149 126 2150 127 TRACE("(%p) ref=%d\n", This, ref); ··· 2152 129 return ref; 2153 130 } 2154 131 2155 - static ULONG WINAPI WMProfileManager_Release(IWMProfileManager *iface) 132 + static ULONG WINAPI WMProfileManager_Release(IWMProfileManager2 *iface) 2156 133 { 2157 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 134 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2158 135 LONG ref = InterlockedDecrement(&This->ref); 2159 136 2160 137 TRACE("(%p) ref=%d\n", This, ref); ··· 2165 142 return ref; 2166 143 } 2167 144 2168 - static HRESULT WINAPI WMProfileManager_CreateEmptyProfile(IWMProfileManager *iface, WMT_VERSION version, IWMProfile **ret) 145 + static HRESULT WINAPI WMProfileManager_CreateEmptyProfile(IWMProfileManager2 *iface, WMT_VERSION version, IWMProfile **ret) 2169 146 { 2170 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 147 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2171 148 FIXME("(%p)->(%x %p)\n", This, version, ret); 2172 149 return E_NOTIMPL; 2173 150 } 2174 151 2175 - static HRESULT WINAPI WMProfileManager_LoadProfileByID(IWMProfileManager *iface, REFGUID guid, IWMProfile **ret) 152 + static HRESULT WINAPI WMProfileManager_LoadProfileByID(IWMProfileManager2 *iface, REFGUID guid, IWMProfile **ret) 2176 153 { 2177 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 154 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2178 155 FIXME("(%p)->(%s %p)\n", This, debugstr_guid(guid), ret); 2179 156 return E_NOTIMPL; 2180 157 } 2181 158 2182 - static HRESULT WINAPI WMProfileManager_LoadProfileByData(IWMProfileManager *iface, const WCHAR *profile, IWMProfile **ret) 159 + static HRESULT WINAPI WMProfileManager_LoadProfileByData(IWMProfileManager2 *iface, const WCHAR *profile, IWMProfile **ret) 2183 160 { 2184 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 161 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2185 162 FIXME("(%p)->(%s %p)\n", This, debugstr_w(profile), ret); 2186 163 return E_NOTIMPL; 2187 164 } 2188 165 2189 - static HRESULT WINAPI WMProfileManager_SaveProfile(IWMProfileManager *iface, IWMProfile *profile, WCHAR *profile_str, DWORD *len) 166 + static HRESULT WINAPI WMProfileManager_SaveProfile(IWMProfileManager2 *iface, IWMProfile *profile, WCHAR *profile_str, DWORD *len) 2190 167 { 2191 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 168 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2192 169 FIXME("(%p)->(%p %p %p)\n", This, profile, profile_str, len); 2193 170 return E_NOTIMPL; 2194 171 } 2195 172 2196 - static HRESULT WINAPI WMProfileManager_GetSystemProfileCount(IWMProfileManager *iface, DWORD *ret) 173 + static HRESULT WINAPI WMProfileManager_GetSystemProfileCount(IWMProfileManager2 *iface, DWORD *ret) 2197 174 { 2198 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 175 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2199 176 FIXME("(%p)->(%p)\n", This, ret); 2200 177 return E_NOTIMPL; 2201 178 } 2202 179 2203 - static HRESULT WINAPI WMProfileManager_LoadSystemProfile(IWMProfileManager *iface, DWORD index, IWMProfile **ret) 180 + static HRESULT WINAPI WMProfileManager_LoadSystemProfile(IWMProfileManager2 *iface, DWORD index, IWMProfile **ret) 2204 181 { 2205 - WMProfileManager *This = impl_from_IWMProfileManager(iface); 182 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 2206 183 FIXME("(%p)->(%d %p)\n", This, index, ret); 2207 184 return E_NOTIMPL; 2208 185 } 2209 186 2210 - static const IWMProfileManagerVtbl WMProfileManagerVtbl = { 187 + static HRESULT WINAPI WMProfileManager2_GetSystemProfileVersion(IWMProfileManager2 *iface, WMT_VERSION *version) 188 + { 189 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 190 + FIXME("(%p)->(%p)\n", This, version); 191 + return E_NOTIMPL; 192 + } 193 + 194 + static HRESULT WINAPI WMProfileManager2_SetSystemProfileVersion(IWMProfileManager2 *iface, WMT_VERSION version) 195 + { 196 + WMProfileManager *This = impl_from_IWMProfileManager2(iface); 197 + FIXME("(%p)->(%x)\n", This, version); 198 + return E_NOTIMPL; 199 + } 200 + 201 + static const IWMProfileManager2Vtbl WMProfileManager2Vtbl = { 2211 202 WMProfileManager_QueryInterface, 2212 203 WMProfileManager_AddRef, 2213 204 WMProfileManager_Release, ··· 2216 207 WMProfileManager_LoadProfileByData, 2217 208 WMProfileManager_SaveProfile, 2218 209 WMProfileManager_GetSystemProfileCount, 2219 - WMProfileManager_LoadSystemProfile 210 + WMProfileManager_LoadSystemProfile, 211 + WMProfileManager2_GetSystemProfileVersion, 212 + WMProfileManager2_SetSystemProfileVersion 2220 213 }; 2221 214 2222 215 HRESULT WINAPI WMCreateProfileManager(IWMProfileManager **ret) ··· 2229 222 if(!profile_mgr) 2230 223 return E_OUTOFMEMORY; 2231 224 2232 - profile_mgr->IWMProfileManager_iface.lpVtbl = &WMProfileManagerVtbl; 225 + profile_mgr->IWMProfileManager2_iface.lpVtbl = &WMProfileManager2Vtbl; 2233 226 profile_mgr->ref = 1; 2234 227 2235 - *ret = &profile_mgr->IWMProfileManager_iface; 228 + *ret = (IWMProfileManager *)&profile_mgr->IWMProfileManager2_iface; 2236 229 return S_OK; 2237 230 }
+1 -1
media/doc/README.WINE
··· 211 211 dll/win32/wldap32 # Synced to WineStaging-4.18 212 212 dll/win32/wmi # Synced to WineStaging-2.9 213 213 dll/win32/wmiutils # Synced to WineStaging-4.18 214 - dll/win32/wmvcore # Synced to WineStaging-3.9 214 + dll/win32/wmvcore # Synced to WineStaging-4.18 215 215 dll/win32/wshom.ocx # Synced to WineStaging-3.3 216 216 dll/win32/wtsapi32 # Synced to WineStaging-3.9 217 217 dll/win32/wuapi # Synced to WineStaging-3.3