2 * Copyright 2012 Austin English
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.
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.
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
23 #include "wine/debug.h"
25 WINE_DEFAULT_DEBUG_CHANNEL(wmvcore
);
27 BOOL WINAPI
DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID lpvReserved
)
29 TRACE("(0x%p, %d, %p)\n", hinstDLL
, fdwReason
, lpvReserved
);
33 case DLL_WINE_PREATTACH
:
34 return FALSE
; /* prefer native version */
35 case DLL_PROCESS_ATTACH
:
36 DisableThreadLibraryCalls(hinstDLL
);
43 HRESULT WINAPI
DllRegisterServer(void)
50 HRESULT WINAPI
WMCheckURLScheme(const WCHAR
*scheme
)
52 FIXME("(%s): stub\n", wine_dbgstr_w(scheme
));
54 return NS_E_INVALID_NAME
;
57 HRESULT WINAPI
WMCreateEditor(IWMMetadataEditor
**editor
)
59 FIXME("(%p): stub\n", editor
);
67 IWMReader IWMReader_iface
;
68 IWMReaderAdvanced6 IWMReaderAdvanced6_iface
;
69 IWMReaderAccelerator IWMReaderAccelerator_iface
;
70 IWMReaderNetworkConfig2 IWMReaderNetworkConfig2_iface
;
71 IWMReaderStreamClock IWMReaderStreamClock_iface
;
72 IWMReaderTypeNegotiation IWMReaderTypeNegotiation_iface
;
76 static inline WMReader
*impl_from_IWMReader(IWMReader
*iface
)
78 return CONTAINING_RECORD(iface
, WMReader
, IWMReader_iface
);
81 static HRESULT WINAPI
WMReader_QueryInterface(IWMReader
*iface
, REFIID riid
, void **ppv
)
83 WMReader
*This
= impl_from_IWMReader(iface
);
85 if(IsEqualGUID(riid
, &IID_IUnknown
)) {
86 TRACE("(%p)->(IID_IUnknown %p)\n", This
, ppv
);
87 *ppv
= &This
->IWMReader_iface
;
88 }else if(IsEqualGUID(riid
, &IID_IWMReader
)) {
89 TRACE("(%p)->(IID_IWMReader %p)\n", This
, ppv
);
90 *ppv
= &This
->IWMReader_iface
;
91 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced
)) {
92 TRACE("(%p)->(IID_IWMReaderAdvanced %p)\n", This
, ppv
);
93 *ppv
= &This
->IWMReaderAdvanced6_iface
;
94 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced2
)) {
95 TRACE("(%p)->(IID_IWMReaderAdvanced2 %p)\n", This
, ppv
);
96 *ppv
= &This
->IWMReaderAdvanced6_iface
;
97 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced3
)) {
98 TRACE("(%p)->(IID_IWMReaderAdvanced3 %p)\n", This
, ppv
);
99 *ppv
= &This
->IWMReaderAdvanced6_iface
;
100 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced4
)) {
101 TRACE("(%p)->(IID_IWMReaderAdvanced4 %p)\n", This
, ppv
);
102 *ppv
= &This
->IWMReaderAdvanced6_iface
;
103 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced5
)) {
104 TRACE("(%p)->(IID_IWMReaderAdvanced5 %p)\n", This
, ppv
);
105 *ppv
= &This
->IWMReaderAdvanced6_iface
;
106 }else if(IsEqualGUID(riid
, &IID_IWMReaderAdvanced6
)) {
107 TRACE("(%p)->(IID_IWMReaderAdvanced6 %p)\n", This
, ppv
);
108 *ppv
= &This
->IWMReaderAdvanced6_iface
;
109 }else if(IsEqualGUID(riid
, &IID_IWMReaderAccelerator
)) {
110 TRACE("(%p)->(IID_IWMReaderAccelerator %p)\n", This
, ppv
);
111 *ppv
= &This
->IWMReaderAccelerator_iface
;
112 }else if(IsEqualGUID(riid
, &IID_IWMReaderNetworkConfig
)) {
113 TRACE("(%p)->(IWMReaderNetworkConfig %p)\n", This
, ppv
);
114 *ppv
= &This
->IWMReaderNetworkConfig2_iface
;
115 }else if(IsEqualGUID(riid
, &IID_IWMReaderNetworkConfig2
)) {
116 TRACE("(%p)->(IWMReaderNetworkConfig2 %p)\n", This
, ppv
);
117 *ppv
= &This
->IWMReaderNetworkConfig2_iface
;
118 }else if(IsEqualGUID(riid
, &IID_IWMReaderStreamClock
)) {
119 TRACE("(%p)->(IWMReaderStreamClock %p)\n", This
, ppv
);
120 *ppv
= &This
->IWMReaderStreamClock_iface
;
121 }else if(IsEqualGUID(riid
, &IID_IWMReaderTypeNegotiation
)) {
122 TRACE("(%p)->(IWMReaderTypeNegotiation %p)\n", This
, ppv
);
123 *ppv
= &This
->IWMReaderTypeNegotiation_iface
;
126 FIXME("(%p)->(%s %p)\n", This
, debugstr_guid(riid
), ppv
);
127 return E_NOINTERFACE
;
130 IUnknown_AddRef((IUnknown
*)*ppv
);
134 static ULONG WINAPI
WMReader_AddRef(IWMReader
*iface
)
136 WMReader
*This
= impl_from_IWMReader(iface
);
137 LONG ref
= InterlockedIncrement(&This
->ref
);
139 TRACE("(%p) ref=%d\n", This
, ref
);
144 static ULONG WINAPI
WMReader_Release(IWMReader
*iface
)
146 WMReader
*This
= impl_from_IWMReader(iface
);
147 LONG ref
= InterlockedDecrement(&This
->ref
);
149 TRACE("(%p) ref=%d\n", This
, ref
);
157 static HRESULT WINAPI
WMReader_Open(IWMReader
*iface
, const WCHAR
*url
, IWMReaderCallback
*callback
, void *context
)
159 WMReader
*This
= impl_from_IWMReader(iface
);
160 FIXME("(%p)->(%s %p %p)\n", This
, debugstr_w(url
), callback
, context
);
164 static HRESULT WINAPI
WMReader_Close(IWMReader
*iface
)
166 WMReader
*This
= impl_from_IWMReader(iface
);
167 FIXME("(%p)\n", This
);
171 static HRESULT WINAPI
WMReader_GetOutputCount(IWMReader
*iface
, DWORD
*outputs
)
173 WMReader
*This
= impl_from_IWMReader(iface
);
174 FIXME("(%p)->(%p)\n", This
, outputs
);
178 static HRESULT WINAPI
WMReader_GetOutputProps(IWMReader
*iface
, DWORD output_num
, IWMOutputMediaProps
**output
)
180 WMReader
*This
= impl_from_IWMReader(iface
);
181 FIXME("(%p)->(%u %p)\n", This
, output_num
, output
);
185 static HRESULT WINAPI
WMReader_SetOutputProps(IWMReader
*iface
, DWORD output_num
, IWMOutputMediaProps
*output
)
187 WMReader
*This
= impl_from_IWMReader(iface
);
188 FIXME("(%p)->(%u %p)\n", This
, output_num
, output
);
192 static HRESULT WINAPI
WMReader_GetOutputFormatCount(IWMReader
*iface
, DWORD output_num
, DWORD
*formats
)
194 WMReader
*This
= impl_from_IWMReader(iface
);
195 FIXME("(%p)->(%u %p)\n", This
, output_num
, formats
);
199 static HRESULT WINAPI
WMReader_GetOutputFormat(IWMReader
*iface
, DWORD output_num
, DWORD format_num
, IWMOutputMediaProps
**props
)
201 WMReader
*This
= impl_from_IWMReader(iface
);
202 FIXME("(%p)->(%u %u %p)\n", This
, output_num
, format_num
, props
);
206 static HRESULT WINAPI
WMReader_Start(IWMReader
*iface
, QWORD start
, QWORD duration
, float rate
, void *context
)
208 WMReader
*This
= impl_from_IWMReader(iface
);
209 FIXME("(%p)->(%s %s %f %p)\n", This
, wine_dbgstr_longlong(start
), wine_dbgstr_longlong(duration
), rate
, context
);
213 static HRESULT WINAPI
WMReader_Stop(IWMReader
*iface
)
215 WMReader
*This
= impl_from_IWMReader(iface
);
216 FIXME("(%p)\n", This
);
220 static HRESULT WINAPI
WMReader_Pause(IWMReader
*iface
)
222 WMReader
*This
= impl_from_IWMReader(iface
);
223 FIXME("(%p)\n", This
);
227 static HRESULT WINAPI
WMReader_Resume(IWMReader
*iface
)
229 WMReader
*This
= impl_from_IWMReader(iface
);
230 FIXME("(%p)\n", This
);
234 static const IWMReaderVtbl WMReaderVtbl
= {
235 WMReader_QueryInterface
,
240 WMReader_GetOutputCount
,
241 WMReader_GetOutputProps
,
242 WMReader_SetOutputProps
,
243 WMReader_GetOutputFormatCount
,
244 WMReader_GetOutputFormat
,
251 static inline WMReader
*impl_from_IWMReaderAdvanced6(IWMReaderAdvanced6
*iface
)
253 return CONTAINING_RECORD(iface
, WMReader
, IWMReaderAdvanced6_iface
);
256 static HRESULT WINAPI
WMReaderAdvanced_QueryInterface(IWMReaderAdvanced6
*iface
, REFIID riid
, void **ppv
)
258 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
259 return IWMReader_QueryInterface(&This
->IWMReader_iface
, riid
, ppv
);
262 static ULONG WINAPI
WMReaderAdvanced_AddRef(IWMReaderAdvanced6
*iface
)
264 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
265 return IWMReader_AddRef(&This
->IWMReader_iface
);
268 static ULONG WINAPI
WMReaderAdvanced_Release(IWMReaderAdvanced6
*iface
)
270 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
271 return IWMReader_Release(&This
->IWMReader_iface
);
274 static HRESULT WINAPI
WMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced6
*iface
, BOOL user_clock
)
276 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
277 FIXME("(%p)->(%x)\n", This
, user_clock
);
281 static HRESULT WINAPI
WMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced6
*iface
, BOOL
*user_clock
)
283 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
284 FIXME("(%p)->(%p)\n", This
, user_clock
);
288 static HRESULT WINAPI
WMReaderAdvanced_DeliverTime(IWMReaderAdvanced6
*iface
, QWORD time
)
290 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
291 FIXME("(%p)->(%s)\n", This
, wine_dbgstr_longlong(time
));
295 static HRESULT WINAPI
WMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced6
*iface
, BOOL selection
)
297 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
298 FIXME("(%p)->(%x)\n", This
, selection
);
302 static HRESULT WINAPI
WMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced6
*iface
, BOOL
*selection
)
304 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
305 FIXME("(%p)->(%p)\n", This
, selection
);
309 static HRESULT WINAPI
WMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced6
*iface
, WORD stream_count
,
310 WORD
*stream_numbers
, WMT_STREAM_SELECTION
*selections
)
312 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
313 FIXME("(%p)->(%d %p %p)\n", This
, stream_count
, stream_numbers
, selections
);
317 static HRESULT WINAPI
WMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced6
*iface
, WORD stream_num
,
318 WMT_STREAM_SELECTION
*selection
)
320 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
321 FIXME("(%p)->(%d %p)\n", This
, stream_num
, selection
);
325 static HRESULT WINAPI
WMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced6
*iface
, BOOL get_callbacks
)
327 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
328 FIXME("(%p)->(%x)\n", This
, get_callbacks
);
332 static HRESULT WINAPI
WMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced6
*iface
, BOOL
*get_callbacks
)
334 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
335 FIXME("(%p)->(%p)\n", This
, get_callbacks
);
339 static HRESULT WINAPI
WMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced6
*iface
, WORD stream_num
,
340 BOOL receive_stream_samples
)
342 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
343 FIXME("(%p)->(%d %x)\n", This
, stream_num
, receive_stream_samples
);
347 static HRESULT WINAPI
WMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced6
*iface
, WORD stream_num
,
348 BOOL
*receive_stream_samples
)
350 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
351 FIXME("(%p)->(%d %p)\n", This
, stream_num
, receive_stream_samples
);
355 static HRESULT WINAPI
WMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced6
*iface
, DWORD output_num
, BOOL allocate
)
357 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
358 FIXME("(%p)->(%d %x)\n", This
, output_num
, allocate
);
362 static HRESULT WINAPI
WMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced6
*iface
, DWORD output_num
, BOOL
*allocate
)
364 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
365 FIXME("(%p)->(%d %p)\n", This
, output_num
, allocate
);
369 static HRESULT WINAPI
WMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced6
*iface
, WORD output_num
, BOOL allocate
)
371 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
372 FIXME("(%p)->(%d %x)\n", This
, output_num
, allocate
);
376 static HRESULT WINAPI
WMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced6
*iface
, WORD output_num
, BOOL
*allocate
)
378 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
379 FIXME("(%p)->(%d %p)\n", This
, output_num
, allocate
);
383 static HRESULT WINAPI
WMReaderAdvanced_GetStatistics(IWMReaderAdvanced6
*iface
, WM_READER_STATISTICS
*statistics
)
385 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
386 FIXME("(%p)->(%p)\n", This
, statistics
);
390 static HRESULT WINAPI
WMReaderAdvanced_SetClientInfo(IWMReaderAdvanced6
*iface
, WM_READER_CLIENTINFO
*client_info
)
392 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
393 FIXME("(%p)->(%p)\n", This
, client_info
);
397 static HRESULT WINAPI
WMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced6
*iface
, DWORD output
, DWORD
*max
)
399 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
400 FIXME("(%p)->(%d %p)\n", This
, output
, max
);
404 static HRESULT WINAPI
WMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced6
*iface
, WORD stream
, DWORD
*max
)
406 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
407 FIXME("(%p)->(%d %p)\n", This
, stream
, max
);
411 static HRESULT WINAPI
WMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced6
*iface
, QWORD lateness
)
413 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
414 FIXME("(%p)->(%s)\n", This
, wine_dbgstr_longlong(lateness
));
418 static HRESULT WINAPI
WMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced6
*iface
, WMT_PLAY_MODE mode
)
420 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
421 FIXME("(%p)->(%d)\n", This
, mode
);
425 static HRESULT WINAPI
WMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced6
*iface
, WMT_PLAY_MODE
*mode
)
427 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
428 FIXME("(%p)->(%p)\n", This
, mode
);
432 static HRESULT WINAPI
WMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced6
*iface
, DWORD
*percent
, QWORD
*buffering
)
434 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
435 FIXME("(%p)->(%p %p)\n", This
, percent
, buffering
);
439 static HRESULT WINAPI
WMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced6
*iface
, DWORD
*percent
,
440 QWORD
*bytes_downloaded
, QWORD
*download
)
442 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
443 FIXME("(%p)->(%p %p %p)\n", This
, percent
, bytes_downloaded
, download
);
447 static HRESULT WINAPI
WMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced6
*iface
, DWORD
*percent
)
449 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
450 FIXME("(%p)->(%p)\n", This
, percent
);
454 static HRESULT WINAPI
WMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced6
*iface
, const WCHAR
*filename
)
456 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
457 FIXME("(%p)->(%s)\n", This
, debugstr_w(filename
));
461 static HRESULT WINAPI
WMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced6
*iface
, WCHAR
*protocol
, DWORD
*protocol_len
)
463 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
464 FIXME("(%p)->(%p %p)\n", This
, protocol
, protocol_len
);
468 static HRESULT WINAPI
WMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced6
*iface
, WORD marker_index
,
469 QWORD duration
, float rate
, void *context
)
471 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
472 FIXME("(%p)->(%d %s %f %p)\n", This
, marker_index
, wine_dbgstr_longlong(duration
), rate
, context
);
476 static HRESULT WINAPI
WMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced6
*iface
, DWORD output_num
,
477 const WCHAR
*name
, WMT_ATTR_DATATYPE
*type
, BYTE
*value
, WORD
*length
)
479 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
480 FIXME("(%p)->(%d %s %p %p %p)\n", This
, output_num
, debugstr_w(name
), type
, value
, length
);
484 static HRESULT WINAPI
WMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced6
*iface
, DWORD output_num
,
485 const WCHAR
*name
, WMT_ATTR_DATATYPE type
, const BYTE
*value
, WORD length
)
487 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
488 FIXME("(%p)->(%d %s %d %p %d)\n", This
, output_num
, debugstr_w(name
), type
, value
, length
);
492 static HRESULT WINAPI
WMReaderAdvanced2_Preroll(IWMReaderAdvanced6
*iface
, QWORD start
, QWORD duration
, float rate
)
494 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
495 FIXME("(%p)->(%s %s %f)\n", This
, wine_dbgstr_longlong(start
), wine_dbgstr_longlong(duration
), rate
);
499 static HRESULT WINAPI
WMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced6
*iface
, BOOL log_client_id
)
501 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
502 FIXME("(%p)->(%x)\n", This
, log_client_id
);
506 static HRESULT WINAPI
WMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced6
*iface
, BOOL
*log_client_id
)
508 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
509 FIXME("(%p)->(%p)\n", This
, log_client_id
);
513 static HRESULT WINAPI
WMReaderAdvanced2_StopBuffering(IWMReaderAdvanced6
*iface
)
515 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
516 FIXME("(%p)\n", This
);
520 static HRESULT WINAPI
WMReaderAdvanced2_OpenStream(IWMReaderAdvanced6
*iface
, IStream
*stream
,
521 IWMReaderCallback
*callback
, void *context
)
523 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
524 FIXME("(%p)->(%p %p %p)\n", This
, stream
, callback
, context
);
528 static HRESULT WINAPI
WMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced6
*iface
)
530 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
531 FIXME("(%p)\n", This
);
535 static HRESULT WINAPI
WMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced6
*iface
, WORD stream_num
,
536 void *offset_start
, void *duration
, WMT_OFFSET_FORMAT format
, float rate
, void *context
)
538 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
539 FIXME("(%p)->(%d %p %p %d %f %p)\n", This
, stream_num
, offset_start
, duration
, format
, rate
, context
);
543 static HRESULT WINAPI
WMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced6
*iface
, DWORD output_num
, WORD
*language_count
)
545 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
546 FIXME("(%p)->(%d %p)\n", This
, output_num
, language_count
);
550 static HRESULT WINAPI
WMReaderAdvanced4_GetLanguage(IWMReaderAdvanced6
*iface
, DWORD output_num
,
551 WORD language
, WCHAR
*language_string
, WORD
*language_string_len
)
553 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
554 FIXME("(%p)->(%d %x %p %p)\n", This
, output_num
, language
, language_string
, language_string_len
);
558 static HRESULT WINAPI
WMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced6
*iface
, double *factor
)
560 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
561 FIXME("(%p)->(%p)\n", This
, factor
);
565 static HRESULT WINAPI
WMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced6
*iface
, BOOL
*using_fast_cache
)
567 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
568 FIXME("(%p)->(%p)\n", This
, using_fast_cache
);
572 static HRESULT WINAPI
WMReaderAdvanced4_AddLogParam(IWMReaderAdvanced6
*iface
, const WCHAR
*namespace,
573 const WCHAR
*name
, const WCHAR
*value
)
575 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
576 FIXME("(%p)->(%s %s %s)\n", This
, debugstr_w(namespace), debugstr_w(name
), debugstr_w(value
));
580 static HRESULT WINAPI
WMReaderAdvanced4_SendLogParams(IWMReaderAdvanced6
*iface
)
582 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
583 FIXME("(%p)\n", This
);
587 static HRESULT WINAPI
WMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced6
*iface
, BOOL
*can_save
)
589 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
590 FIXME("(%p)->(%p)\n", This
, can_save
);
594 static HRESULT WINAPI
WMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced6
*iface
)
596 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
597 FIXME("(%p)\n", This
);
601 static HRESULT WINAPI
WMReaderAdvanced4_GetURL(IWMReaderAdvanced6
*iface
, WCHAR
*url
, DWORD
*url_len
)
603 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
604 FIXME("(%p)->(%p %p)\n", This
, url
, url_len
);
608 static HRESULT WINAPI
WMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced6
*iface
, DWORD output_num
, IWMPlayerHook
*hook
)
610 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
611 FIXME("(%p)->(%d %p)\n", This
, output_num
, hook
);
615 static HRESULT WINAPI
WMReaderAdvanced6_SetProtextStreamSamples(IWMReaderAdvanced6
*iface
, BYTE
*cert
,
616 DWORD cert_size
, DWORD cert_type
, DWORD flags
, BYTE
*initialization_vector
, DWORD
*initialization_vector_size
)
618 WMReader
*This
= impl_from_IWMReaderAdvanced6(iface
);
619 FIXME("(%p)->(%p %d %d %x %p %p)\n", This
, cert
, cert_size
, cert_type
, flags
, initialization_vector
,
620 initialization_vector_size
);
624 static const IWMReaderAdvanced6Vtbl WMReaderAdvanced6Vtbl
= {
625 WMReaderAdvanced_QueryInterface
,
626 WMReaderAdvanced_AddRef
,
627 WMReaderAdvanced_Release
,
628 WMReaderAdvanced_SetUserProvidedClock
,
629 WMReaderAdvanced_GetUserProvidedClock
,
630 WMReaderAdvanced_DeliverTime
,
631 WMReaderAdvanced_SetManualStreamSelection
,
632 WMReaderAdvanced_GetManualStreamSelection
,
633 WMReaderAdvanced_SetStreamsSelected
,
634 WMReaderAdvanced_GetStreamSelected
,
635 WMReaderAdvanced_SetReceiveSelectionCallbacks
,
636 WMReaderAdvanced_GetReceiveSelectionCallbacks
,
637 WMReaderAdvanced_SetReceiveStreamSamples
,
638 WMReaderAdvanced_GetReceiveStreamSamples
,
639 WMReaderAdvanced_SetAllocateForOutput
,
640 WMReaderAdvanced_GetAllocateForOutput
,
641 WMReaderAdvanced_SetAllocateForStream
,
642 WMReaderAdvanced_GetAllocateForStream
,
643 WMReaderAdvanced_GetStatistics
,
644 WMReaderAdvanced_SetClientInfo
,
645 WMReaderAdvanced_GetMaxOutputSampleSize
,
646 WMReaderAdvanced_GetMaxStreamSampleSize
,
647 WMReaderAdvanced_NotifyLateDelivery
,
648 WMReaderAdvanced2_SetPlayMode
,
649 WMReaderAdvanced2_GetPlayMode
,
650 WMReaderAdvanced2_GetBufferProgress
,
651 WMReaderAdvanced2_GetDownloadProgress
,
652 WMReaderAdvanced2_GetSaveAsProgress
,
653 WMReaderAdvanced2_SaveFileAs
,
654 WMReaderAdvanced2_GetProtocolName
,
655 WMReaderAdvanced2_StartAtMarker
,
656 WMReaderAdvanced2_GetOutputSetting
,
657 WMReaderAdvanced2_SetOutputSetting
,
658 WMReaderAdvanced2_Preroll
,
659 WMReaderAdvanced2_SetLogClientID
,
660 WMReaderAdvanced2_GetLogClientID
,
661 WMReaderAdvanced2_StopBuffering
,
662 WMReaderAdvanced2_OpenStream
,
663 WMReaderAdvanced3_StopNetStreaming
,
664 WMReaderAdvanced3_StartAtPosition
,
665 WMReaderAdvanced4_GetLanguageCount
,
666 WMReaderAdvanced4_GetLanguage
,
667 WMReaderAdvanced4_GetMaxSpeedFactor
,
668 WMReaderAdvanced4_IsUsingFastCache
,
669 WMReaderAdvanced4_AddLogParam
,
670 WMReaderAdvanced4_SendLogParams
,
671 WMReaderAdvanced4_CanSaveFileAs
,
672 WMReaderAdvanced4_CancelSaveFileAs
,
673 WMReaderAdvanced4_GetURL
,
674 WMReaderAdvanced5_SetPlayerHook
,
675 WMReaderAdvanced6_SetProtextStreamSamples
678 static inline WMReader
*impl_from_IWMReaderAccelerator(IWMReaderAccelerator
*iface
)
680 return CONTAINING_RECORD(iface
, WMReader
, IWMReaderAccelerator_iface
);
683 static HRESULT WINAPI
reader_accl_QueryInterface(IWMReaderAccelerator
*iface
, REFIID riid
, void **object
)
685 WMReader
*This
= impl_from_IWMReaderAccelerator(iface
);
686 return IWMReader_QueryInterface(&This
->IWMReader_iface
, riid
, object
);
689 static ULONG WINAPI
reader_accl_AddRef(IWMReaderAccelerator
*iface
)
691 WMReader
*This
= impl_from_IWMReaderAccelerator(iface
);
692 return IWMReader_AddRef(&This
->IWMReader_iface
);
695 static ULONG WINAPI
reader_accl_Release(IWMReaderAccelerator
*iface
)
697 WMReader
*This
= impl_from_IWMReaderAccelerator(iface
);
698 return IWMReader_Release(&This
->IWMReader_iface
);
701 static HRESULT WINAPI
reader_accl_GetCodecInterface(IWMReaderAccelerator
*iface
, DWORD output
, REFIID riid
, void **codec
)
703 WMReader
*This
= impl_from_IWMReaderAccelerator(iface
);
705 FIXME("%p, %d, %s, %p\n", This
, output
, debugstr_guid(riid
), codec
);
710 static HRESULT WINAPI
reader_accl_Notify(IWMReaderAccelerator
*iface
, DWORD output
, WM_MEDIA_TYPE
*subtype
)
712 WMReader
*This
= impl_from_IWMReaderAccelerator(iface
);
714 FIXME("%p, %d, %p\n", This
, output
, subtype
);
719 static const IWMReaderAcceleratorVtbl WMReaderAcceleratorVtbl
= {
720 reader_accl_QueryInterface
,
723 reader_accl_GetCodecInterface
,
727 static inline WMReader
*impl_from_IWMReaderNetworkConfig2(IWMReaderNetworkConfig2
*iface
)
729 return CONTAINING_RECORD(iface
, WMReader
, IWMReaderNetworkConfig2_iface
);
732 static HRESULT WINAPI
networkconfig_QueryInterface(IWMReaderNetworkConfig2
*iface
, REFIID riid
, void **ppv
)
734 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
735 return IWMReader_QueryInterface(&This
->IWMReader_iface
, riid
, ppv
);
738 static ULONG WINAPI
networkconfig_AddRef(IWMReaderNetworkConfig2
*iface
)
740 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
741 return IWMReader_AddRef(&This
->IWMReader_iface
);
744 static ULONG WINAPI
networkconfig_Release(IWMReaderNetworkConfig2
*iface
)
746 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
747 return IWMReader_Release(&This
->IWMReader_iface
);
750 static HRESULT WINAPI
networkconfig_GetBufferingTime(IWMReaderNetworkConfig2
*iface
, QWORD
*buffering_time
)
752 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
753 FIXME("%p, %p\n", This
, buffering_time
);
757 static HRESULT WINAPI
networkconfig_SetBufferingTime(IWMReaderNetworkConfig2
*iface
, QWORD buffering_time
)
759 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
760 FIXME("%p, %s\n", This
, wine_dbgstr_longlong(buffering_time
));
764 static HRESULT WINAPI
networkconfig_GetUDPPortRanges(IWMReaderNetworkConfig2
*iface
, WM_PORT_NUMBER_RANGE
*array
,
767 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
768 FIXME("%p, %p, %p\n", This
, array
, ranges
);
772 static HRESULT WINAPI
networkconfig_SetUDPPortRanges(IWMReaderNetworkConfig2
*iface
, WM_PORT_NUMBER_RANGE
*array
,
775 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
776 FIXME("%p, %p, %u\n", This
, array
, ranges
);
780 static HRESULT WINAPI
networkconfig_GetProxySettings(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
781 WMT_PROXY_SETTINGS
*proxy
)
783 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
784 FIXME("%p, %s, %p\n", This
, debugstr_w(protocol
), proxy
);
788 static HRESULT WINAPI
networkconfig_SetProxySettings(IWMReaderNetworkConfig2
*iface
, LPCWSTR protocol
,
789 WMT_PROXY_SETTINGS proxy
)
791 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
792 FIXME("%p, %s, %d\n", This
, debugstr_w(protocol
), proxy
);
796 static HRESULT WINAPI
networkconfig_GetProxyHostName(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
797 WCHAR
*hostname
, DWORD
*size
)
799 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
800 FIXME("%p, %s, %p, %p\n", This
, debugstr_w(protocol
), hostname
, size
);
804 static HRESULT WINAPI
networkconfig_SetProxyHostName(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
805 const WCHAR
*hostname
)
807 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
808 FIXME("%p, %s, %s\n", This
, debugstr_w(protocol
), debugstr_w(hostname
));
812 static HRESULT WINAPI
networkconfig_GetProxyPort(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
815 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
816 FIXME("%p, %s, %p\n", This
, debugstr_w(protocol
), port
);
820 static HRESULT WINAPI
networkconfig_SetProxyPort(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
823 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
824 FIXME("%p, %s, %u\n", This
, debugstr_w(protocol
), port
);
828 static HRESULT WINAPI
networkconfig_GetProxyExceptionList(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
829 WCHAR
*exceptions
, DWORD
*count
)
831 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
832 FIXME("%p, %s, %p, %p\n", This
, debugstr_w(protocol
), exceptions
, count
);
836 static HRESULT WINAPI
networkconfig_SetProxyExceptionList(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
837 const WCHAR
*exceptions
)
839 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
840 FIXME("%p, %s, %s\n", This
, debugstr_w(protocol
), debugstr_w(exceptions
));
844 static HRESULT WINAPI
networkconfig_GetProxyBypassForLocal(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
847 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
848 FIXME("%p, %s, %p\n", This
, debugstr_w(protocol
), bypass
);
852 static HRESULT WINAPI
networkconfig_SetProxyBypassForLocal(IWMReaderNetworkConfig2
*iface
, const WCHAR
*protocol
,
855 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
856 FIXME("%p, %s, %d\n", This
, debugstr_w(protocol
), bypass
);
860 static HRESULT WINAPI
networkconfig_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2
*iface
,
863 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
864 FIXME("%p, %p\n", This
, detection
);
868 static HRESULT WINAPI
networkconfig_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2
*iface
,
871 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
872 FIXME("%p, %d\n", This
, detection
);
876 static HRESULT WINAPI
networkconfig_GetEnableMulticast(IWMReaderNetworkConfig2
*iface
, BOOL
*multicast
)
878 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
879 FIXME("%p, %p\n", This
, multicast
);
883 static HRESULT WINAPI
networkconfig_SetEnableMulticast(IWMReaderNetworkConfig2
*iface
, BOOL multicast
)
885 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
886 FIXME("%p, %d\n", This
, multicast
);
890 static HRESULT WINAPI
networkconfig_GetEnableHTTP(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
892 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
893 FIXME("%p, %p\n", This
, enable
);
897 static HRESULT WINAPI
networkconfig_SetEnableHTTP(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
899 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
900 FIXME("%p, %d\n", This
, enable
);
904 static HRESULT WINAPI
networkconfig_GetEnableUDP(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
906 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
907 FIXME("%p, %p\n", This
, enable
);
911 static HRESULT WINAPI
networkconfig_SetEnableUDP(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
913 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
914 FIXME("%p, %d\n", This
, enable
);
918 static HRESULT WINAPI
networkconfig_GetEnableTCP(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
920 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
921 FIXME("%p, %p\n", This
, enable
);
925 static HRESULT WINAPI
networkconfig_SetEnableTCP(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
927 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
928 FIXME("%p, %d\n", This
, enable
);
932 static HRESULT WINAPI
networkconfig_ResetProtocolRollover(IWMReaderNetworkConfig2
*iface
)
934 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
939 static HRESULT WINAPI
networkconfig_GetConnectionBandwidth(IWMReaderNetworkConfig2
*iface
, DWORD
*bandwidth
)
941 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
942 FIXME("%p, %p\n", This
, bandwidth
);
946 static HRESULT WINAPI
networkconfig_SetConnectionBandwidth(IWMReaderNetworkConfig2
*iface
, DWORD bandwidth
)
948 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
949 FIXME("%p, %u\n", This
, bandwidth
);
953 static HRESULT WINAPI
networkconfig_GetNumProtocolsSupported(IWMReaderNetworkConfig2
*iface
, DWORD
*protocols
)
955 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
956 FIXME("%p, %p\n", This
, protocols
);
960 static HRESULT WINAPI
networkconfig_GetSupportedProtocolName(IWMReaderNetworkConfig2
*iface
, DWORD protocol_num
,
961 WCHAR
*protocol
, DWORD
*size
)
963 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
964 FIXME("%p, %u, %p %p\n", This
, protocol_num
, protocol
, size
);
968 static HRESULT WINAPI
networkconfig_AddLoggingUrl(IWMReaderNetworkConfig2
*iface
, const WCHAR
*url
)
970 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
971 FIXME("%p, %s\n", This
, debugstr_w(url
));
975 static HRESULT WINAPI
networkconfig_GetLoggingUrl(IWMReaderNetworkConfig2
*iface
, DWORD index
, WCHAR
*url
,
978 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
979 FIXME("%p, %u, %p, %p\n", This
, index
, url
, size
);
983 static HRESULT WINAPI
networkconfig_GetLoggingUrlCount(IWMReaderNetworkConfig2
*iface
, DWORD
*count
)
985 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
986 FIXME("%p, %p\n", This
, count
);
990 static HRESULT WINAPI
networkconfig_ResetLoggingUrlList(IWMReaderNetworkConfig2
*iface
)
992 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
997 static HRESULT WINAPI
networkconfig_GetEnableContentCaching(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
999 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1000 FIXME("%p, %p\n", This
, enable
);
1004 static HRESULT WINAPI
networkconfig_SetEnableContentCaching(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
1006 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1007 FIXME("%p, %d\n", This
, enable
);
1011 static HRESULT WINAPI
networkconfig_GetEnableFastCache(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
1013 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1014 FIXME("%p, %p\n", This
, enable
);
1018 static HRESULT WINAPI
networkconfig_SetEnableFastCache(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
1020 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1021 FIXME("%p, %d\n", This
, enable
);
1025 static HRESULT WINAPI
networkconfig_GetAcceleratedStreamingDuration(IWMReaderNetworkConfig2
*iface
,
1028 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1029 FIXME("%p, %p\n", This
, duration
);
1033 static HRESULT WINAPI
networkconfig_SetAcceleratedStreamingDuration(IWMReaderNetworkConfig2
*iface
,
1036 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1037 FIXME("%p, %s\n", This
, wine_dbgstr_longlong(duration
));
1041 static HRESULT WINAPI
networkconfig_GetAutoReconnectLimit(IWMReaderNetworkConfig2
*iface
, DWORD
*limit
)
1043 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1044 FIXME("%p, %p\n", This
, limit
);
1048 static HRESULT WINAPI
networkconfig_SetAutoReconnectLimit(IWMReaderNetworkConfig2
*iface
, DWORD limit
)
1050 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1051 FIXME("%p, %u\n", This
, limit
);
1055 static HRESULT WINAPI
networkconfig_GetEnableResends(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
1057 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1058 FIXME("%p, %p\n", This
, enable
);
1062 static HRESULT WINAPI
networkconfig_SetEnableResends(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
1064 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1065 FIXME("%p, %u\n", This
, enable
);
1069 static HRESULT WINAPI
networkconfig_GetEnableThinning(IWMReaderNetworkConfig2
*iface
, BOOL
*enable
)
1071 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1072 FIXME("%p, %p\n", This
, enable
);
1076 static HRESULT WINAPI
networkconfig_SetEnableThinning(IWMReaderNetworkConfig2
*iface
, BOOL enable
)
1078 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1079 FIXME("%p, %u\n", This
, enable
);
1083 static HRESULT WINAPI
networkconfig_GetMaxNetPacketSize(IWMReaderNetworkConfig2
*iface
, DWORD
*packet_size
)
1085 WMReader
*This
= impl_from_IWMReaderNetworkConfig2(iface
);
1086 FIXME("%p, %p\n", This
, packet_size
);
1090 static const IWMReaderNetworkConfig2Vtbl WMReaderNetworkConfig2Vtbl
=
1092 networkconfig_QueryInterface
,
1093 networkconfig_AddRef
,
1094 networkconfig_Release
,
1095 networkconfig_GetBufferingTime
,
1096 networkconfig_SetBufferingTime
,
1097 networkconfig_GetUDPPortRanges
,
1098 networkconfig_SetUDPPortRanges
,
1099 networkconfig_GetProxySettings
,
1100 networkconfig_SetProxySettings
,
1101 networkconfig_GetProxyHostName
,
1102 networkconfig_SetProxyHostName
,
1103 networkconfig_GetProxyPort
,
1104 networkconfig_SetProxyPort
,
1105 networkconfig_GetProxyExceptionList
,
1106 networkconfig_SetProxyExceptionList
,
1107 networkconfig_GetProxyBypassForLocal
,
1108 networkconfig_SetProxyBypassForLocal
,
1109 networkconfig_GetForceRerunAutoProxyDetection
,
1110 networkconfig_SetForceRerunAutoProxyDetection
,
1111 networkconfig_GetEnableMulticast
,
1112 networkconfig_SetEnableMulticast
,
1113 networkconfig_GetEnableHTTP
,
1114 networkconfig_SetEnableHTTP
,
1115 networkconfig_GetEnableUDP
,
1116 networkconfig_SetEnableUDP
,
1117 networkconfig_GetEnableTCP
,
1118 networkconfig_SetEnableTCP
,
1119 networkconfig_ResetProtocolRollover
,
1120 networkconfig_GetConnectionBandwidth
,
1121 networkconfig_SetConnectionBandwidth
,
1122 networkconfig_GetNumProtocolsSupported
,
1123 networkconfig_GetSupportedProtocolName
,
1124 networkconfig_AddLoggingUrl
,
1125 networkconfig_GetLoggingUrl
,
1126 networkconfig_GetLoggingUrlCount
,
1127 networkconfig_ResetLoggingUrlList
,
1128 networkconfig_GetEnableContentCaching
,
1129 networkconfig_SetEnableContentCaching
,
1130 networkconfig_GetEnableFastCache
,
1131 networkconfig_SetEnableFastCache
,
1132 networkconfig_GetAcceleratedStreamingDuration
,
1133 networkconfig_SetAcceleratedStreamingDuration
,
1134 networkconfig_GetAutoReconnectLimit
,
1135 networkconfig_SetAutoReconnectLimit
,
1136 networkconfig_GetEnableResends
,
1137 networkconfig_SetEnableResends
,
1138 networkconfig_GetEnableThinning
,
1139 networkconfig_SetEnableThinning
,
1140 networkconfig_GetMaxNetPacketSize
1143 static inline WMReader
*impl_from_IWMReaderStreamClock(IWMReaderStreamClock
*iface
)
1145 return CONTAINING_RECORD(iface
, WMReader
, IWMReaderStreamClock_iface
);
1148 static HRESULT WINAPI
readclock_QueryInterface(IWMReaderStreamClock
*iface
, REFIID riid
, void **ppv
)
1150 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1151 return IWMReader_QueryInterface(&This
->IWMReader_iface
, riid
, ppv
);
1154 static ULONG WINAPI
readclock_AddRef(IWMReaderStreamClock
*iface
)
1156 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1157 return IWMReader_AddRef(&This
->IWMReader_iface
);
1160 static ULONG WINAPI
readclock_Release(IWMReaderStreamClock
*iface
)
1162 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1163 return IWMReader_Release(&This
->IWMReader_iface
);
1166 static HRESULT WINAPI
readclock_GetTime(IWMReaderStreamClock
*iface
, QWORD
*now
)
1168 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1169 FIXME("%p, %p\n", This
, now
);
1173 static HRESULT WINAPI
readclock_SetTimer(IWMReaderStreamClock
*iface
, QWORD when
, void *param
, DWORD
*id
)
1175 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1176 FIXME("%p, %s, %p, %p\n", This
, wine_dbgstr_longlong(when
), param
, id
);
1180 static HRESULT WINAPI
readclock_KillTimer(IWMReaderStreamClock
*iface
, DWORD id
)
1182 WMReader
*This
= impl_from_IWMReaderStreamClock(iface
);
1183 FIXME("%p, %d\n", This
, id
);
1187 static const IWMReaderStreamClockVtbl WMReaderStreamClockVtbl
=
1189 readclock_QueryInterface
,
1197 static inline WMReader
*impl_from_IWMReaderTypeNegotiation(IWMReaderTypeNegotiation
*iface
)
1199 return CONTAINING_RECORD(iface
, WMReader
, IWMReaderTypeNegotiation_iface
);
1202 static HRESULT WINAPI
negotiation_QueryInterface(IWMReaderTypeNegotiation
*iface
, REFIID riid
, void **ppv
)
1204 WMReader
*This
= impl_from_IWMReaderTypeNegotiation(iface
);
1205 return IWMReader_QueryInterface(&This
->IWMReader_iface
, riid
, ppv
);
1208 static ULONG WINAPI
negotiation_AddRef(IWMReaderTypeNegotiation
*iface
)
1210 WMReader
*This
= impl_from_IWMReaderTypeNegotiation(iface
);
1211 return IWMReader_AddRef(&This
->IWMReader_iface
);
1214 static ULONG WINAPI
negotiation_Release(IWMReaderTypeNegotiation
*iface
)
1216 WMReader
*This
= impl_from_IWMReaderTypeNegotiation(iface
);
1217 return IWMReader_Release(&This
->IWMReader_iface
);
1220 static HRESULT WINAPI
negotiation_TryOutputProps(IWMReaderTypeNegotiation
*iface
, DWORD output
, IWMOutputMediaProps
*props
)
1222 WMReader
*This
= impl_from_IWMReaderTypeNegotiation(iface
);
1223 FIXME("%p, %d, %p\n", This
, output
, props
);
1227 static const IWMReaderTypeNegotiationVtbl WMReaderTypeNegotiationVtbl
=
1229 negotiation_QueryInterface
,
1231 negotiation_Release
,
1232 negotiation_TryOutputProps
1235 HRESULT WINAPI
WMCreateReader(IUnknown
*reserved
, DWORD rights
, IWMReader
**ret_reader
)
1239 TRACE("(%p, %x, %p)\n", reserved
, rights
, ret_reader
);
1241 reader
= heap_alloc(sizeof(*reader
));
1243 return E_OUTOFMEMORY
;
1245 reader
->IWMReader_iface
.lpVtbl
= &WMReaderVtbl
;
1246 reader
->IWMReaderAdvanced6_iface
.lpVtbl
= &WMReaderAdvanced6Vtbl
;
1247 reader
->IWMReaderAccelerator_iface
.lpVtbl
= &WMReaderAcceleratorVtbl
;
1248 reader
->IWMReaderNetworkConfig2_iface
.lpVtbl
= &WMReaderNetworkConfig2Vtbl
;
1249 reader
->IWMReaderStreamClock_iface
.lpVtbl
= &WMReaderStreamClockVtbl
;
1250 reader
->IWMReaderTypeNegotiation_iface
.lpVtbl
= &WMReaderTypeNegotiationVtbl
;
1253 *ret_reader
= &reader
->IWMReader_iface
;
1257 HRESULT WINAPI
WMCreateReaderPriv(IWMReader
**ret_reader
)
1259 return WMCreateReader(NULL
, 0, ret_reader
);
1262 HRESULT WINAPI
WMCreateSyncReader(IUnknown
*pcert
, DWORD rights
, IWMSyncReader
**syncreader
)
1264 FIXME("(%p, %x, %p): stub\n", pcert
, rights
, syncreader
);
1272 IWMProfileManager IWMProfileManager_iface
;
1276 static inline WMProfileManager
*impl_from_IWMProfileManager(IWMProfileManager
*iface
)
1278 return CONTAINING_RECORD(iface
, WMProfileManager
, IWMProfileManager_iface
);
1281 static HRESULT WINAPI
WMProfileManager_QueryInterface(IWMProfileManager
*iface
, REFIID riid
, void **ppv
)
1283 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1285 if(IsEqualGUID(&IID_IUnknown
, riid
)) {
1286 TRACE("(%p)->(IID_IUnknown %p)\n", This
, ppv
);
1287 *ppv
= &This
->IWMProfileManager_iface
;
1288 }else if(IsEqualGUID(&IID_IWMProfileManager
, riid
)) {
1289 TRACE("(%p)->(IID_IWMProfileManager %p)\n", This
, ppv
);
1290 *ppv
= &This
->IWMProfileManager_iface
;
1293 return E_NOINTERFACE
;
1296 IUnknown_AddRef((IUnknown
*)*ppv
);
1300 static ULONG WINAPI
WMProfileManager_AddRef(IWMProfileManager
*iface
)
1302 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1303 LONG ref
= InterlockedIncrement(&This
->ref
);
1305 TRACE("(%p) ref=%d\n", This
, ref
);
1310 static ULONG WINAPI
WMProfileManager_Release(IWMProfileManager
*iface
)
1312 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1313 LONG ref
= InterlockedDecrement(&This
->ref
);
1315 TRACE("(%p) ref=%d\n", This
, ref
);
1323 static HRESULT WINAPI
WMProfileManager_CreateEmptyProfile(IWMProfileManager
*iface
, WMT_VERSION version
, IWMProfile
**ret
)
1325 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1326 FIXME("(%p)->(%x %p)\n", This
, version
, ret
);
1330 static HRESULT WINAPI
WMProfileManager_LoadProfileByID(IWMProfileManager
*iface
, REFGUID guid
, IWMProfile
**ret
)
1332 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1333 FIXME("(%p)->(%s %p)\n", This
, debugstr_guid(guid
), ret
);
1337 static HRESULT WINAPI
WMProfileManager_LoadProfileByData(IWMProfileManager
*iface
, const WCHAR
*profile
, IWMProfile
**ret
)
1339 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1340 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(profile
), ret
);
1344 static HRESULT WINAPI
WMProfileManager_SaveProfile(IWMProfileManager
*iface
, IWMProfile
*profile
, WCHAR
*profile_str
, DWORD
*len
)
1346 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1347 FIXME("(%p)->(%p %p %p)\n", This
, profile
, profile_str
, len
);
1351 static HRESULT WINAPI
WMProfileManager_GetSystemProfileCount(IWMProfileManager
*iface
, DWORD
*ret
)
1353 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1354 FIXME("(%p)->(%p)\n", This
, ret
);
1358 static HRESULT WINAPI
WMProfileManager_LoadSystemProfile(IWMProfileManager
*iface
, DWORD index
, IWMProfile
**ret
)
1360 WMProfileManager
*This
= impl_from_IWMProfileManager(iface
);
1361 FIXME("(%p)->(%d %p)\n", This
, index
, ret
);
1365 static const IWMProfileManagerVtbl WMProfileManagerVtbl
= {
1366 WMProfileManager_QueryInterface
,
1367 WMProfileManager_AddRef
,
1368 WMProfileManager_Release
,
1369 WMProfileManager_CreateEmptyProfile
,
1370 WMProfileManager_LoadProfileByID
,
1371 WMProfileManager_LoadProfileByData
,
1372 WMProfileManager_SaveProfile
,
1373 WMProfileManager_GetSystemProfileCount
,
1374 WMProfileManager_LoadSystemProfile
1377 HRESULT WINAPI
WMCreateProfileManager(IWMProfileManager
**ret
)
1379 WMProfileManager
*profile_mgr
;
1381 TRACE("(%p)\n", ret
);
1383 profile_mgr
= heap_alloc(sizeof(*profile_mgr
));
1385 return E_OUTOFMEMORY
;
1387 profile_mgr
->IWMProfileManager_iface
.lpVtbl
= &WMProfileManagerVtbl
;
1388 profile_mgr
->ref
= 1;
1390 *ret
= &profile_mgr
->IWMProfileManager_iface
;