ReactOS  0.4.15-dev-1397-g19779b3
wmvcore.c File Reference
#include "initguid.h"
#include "wmsdk.h"
#include "wine/test.h"
Include dependency graph for wmvcore.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 
#define WIN32_LEAN_AND_MEAN
 

Functions

HRESULT WINAPI WMCreateWriterPriv (IWMWriter **writer)
 
static void test_wmwriter_interfaces (void)
 
static void test_wmreader_interfaces (void)
 
static void test_wmsyncreader_interfaces (void)
 
static void test_profile_manager_interfaces (void)
 
static void test_WMCreateWriterPriv (void)
 
static void test_urlextension (void)
 
 START_TEST (wmvcore)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file wmvcore.c.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 20 of file wmvcore.c.

Function Documentation

◆ START_TEST()

START_TEST ( wmvcore  )

Definition at line 341 of file wmvcore.c.

342 {
343  HRESULT hr;
344 
345  hr = CoInitialize(0);
346  ok(hr == S_OK, "failed to init com\n");
347  if(hr != S_OK)
348  return;
349 
356 
357  CoUninitialize();
358 }
HRESULT hr
Definition: shlfolder.c:183
static void test_wmsyncreader_interfaces(void)
Definition: wmvcore.c:205
static void test_wmwriter_interfaces(void)
Definition: wmvcore.c:28
static void test_WMCreateWriterPriv(void)
Definition: wmvcore.c:306
static void test_wmreader_interfaces(void)
Definition: wmvcore.c:62
LONG HRESULT
Definition: typedefs.h:79
#define S_OK
Definition: intsafe.h:51
static void test_profile_manager_interfaces(void)
Definition: wmvcore.c:290
static void test_urlextension(void)
Definition: wmvcore.c:321
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
Definition: compobj.c:2067
#define ok(value,...)
Definition: atltest.h:57
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
Definition: compobj.c:1964

◆ test_profile_manager_interfaces()

static void test_profile_manager_interfaces ( void  )
static

Definition at line 290 of file wmvcore.c.

291 {
292  HRESULT hr;
294 
296  ok(hr == S_OK, "WMCreateProfileManager failed 0x%08x\n", hr);
297  if(FAILED(hr))
298  {
299  win_skip("Failed to create IWMProfileManager\n");
300  return;
301  }
302 
303  IWMProfileManager_Release(profile);
304 }
HRESULT WINAPI WMCreateProfileManager(IWMProfileManager **ret)
Definition: wmvcore_main.c:215
HRESULT hr
Definition: shlfolder.c:183
WDF_DMA_PROFILE profile
LONG HRESULT
Definition: typedefs.h:79
#define S_OK
Definition: intsafe.h:51
#define ok(value,...)
Definition: atltest.h:57
#define win_skip
Definition: test.h:149

Referenced by START_TEST().

◆ test_urlextension()

static void test_urlextension ( void  )
static

Definition at line 321 of file wmvcore.c.

322 {
323  HRESULT hr;
324  const WCHAR mp3file[] = {'t','e','s','t','.','m','p','3',0};
325  const WCHAR mkvfile[] = {'t','e','s','t','.','m','k','v',0};
326  const WCHAR urlfile[] = {'a','b','c','d',':','/','/','t','e','s','t','/','t','e','s','t','.','w','m','v',0};
327  const WCHAR testurl[] = {'h','t','t','p',':','/','/','t','e','s','t','/','t','.','a','s','f','?','a','l','t','=','t','.','m','k','v',0};
328 
330  ok(hr == E_INVALIDARG, "WMCheckURLExtension failed 0x%08x\n", hr);
331  hr = WMCheckURLExtension(mkvfile);
332  ok(hr == NS_E_INVALID_NAME, "WMCheckURLExtension failed 0x%08x\n", hr);
333  hr = WMCheckURLExtension(mp3file);
334  todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
335  hr = WMCheckURLExtension(urlfile);
336  todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
337  hr = WMCheckURLExtension(testurl);
338  todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
339 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI WMCheckURLExtension(const WCHAR *url)
Definition: wmvcore_main.c:51
#define NS_E_INVALID_NAME
Definition: nserror.h:65
#define E_INVALIDARG
Definition: ddrawi.h:101
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:79
#define todo_wine
Definition: test.h:162
#define S_OK
Definition: intsafe.h:51
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112

Referenced by START_TEST().

◆ test_WMCreateWriterPriv()

static void test_WMCreateWriterPriv ( void  )
static

Definition at line 306 of file wmvcore.c.

307 {
308  IWMWriter *writer, *writer2;
309  HRESULT hr;
310 
311  hr = WMCreateWriterPriv(&writer);
312  ok(hr == S_OK, "got 0x%08x\n", hr);
313 
314  hr = IWMWriter_QueryInterface(writer, &IID_IWMWriter, (void**)&writer2);
315  ok(hr == S_OK, "got 0x%08x\n", hr);
316 
317  IWMWriter_Release(writer);
318  IWMWriter_Release(writer2);
319 }
HRESULT hr
Definition: shlfolder.c:183
LONG HRESULT
Definition: typedefs.h:79
#define S_OK
Definition: intsafe.h:51
#define ok(value,...)
Definition: atltest.h:57
HRESULT WINAPI WMCreateWriterPriv(IWMWriter **writer)
Definition: writer.c:374

Referenced by START_TEST().

◆ test_wmreader_interfaces()

static void test_wmreader_interfaces ( void  )
static

Definition at line 62 of file wmvcore.c.

63 {
64  HRESULT hr;
66  IWMReaderAdvanced *advanced;
67  IWMReaderAdvanced2 *advanced2;
69  IWMHeaderInfo2 *header2;
70  IWMHeaderInfo3 *header3;
73  IWMProfile3 *profile3;
75  IWMPacketSize2 *packet2;
76  IWMReaderAccelerator *accel;
77  IWMReaderTimecode *timecode;
79  IWMReaderNetworkConfig2 *netconfig2;
81  IWMReaderTypeNegotiation *negotiation;
82  IWMDRMReader *drmreader;
83  IWMDRMReader2 *drmreader2;
84  IWMDRMReader3 *drmreader3;
85  IWMReaderPlaylistBurn *playlist;
86  IWMLanguageList *langlist;
87  IReferenceClock *refclock;
88 
89  hr = WMCreateReader( NULL, 0, &reader );
90  ok(hr == S_OK, "WMCreateReader failed 0x%08x\n", hr);
91  if(FAILED(hr))
92  {
93  win_skip("Failed to create IWMReader\n");
94  return;
95  }
96 
97  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced, (void **)&advanced);
98  ok(hr == S_OK, "Failed 0x%08x\n", hr);
99 
100  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced2, (void **)&advanced2);
101  ok(hr == S_OK, "Failed 0x%08x\n", hr);
102 
103  hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo, (void **)&header);
104  ok(hr == S_OK, "Failed 0x%08x\n", hr);
105 
106  hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo2, (void **)&header2);
107  ok(hr == S_OK, "Failed 0x%08x\n", hr);
108 
109  hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo3, (void **)&header3);
110  ok(hr == S_OK, "Failed 0x%08x\n", hr);
111 
112  hr = IWMReader_QueryInterface(reader, &IID_IWMProfile, (void **)&profile);
113  ok(hr == S_OK, "Failed 0x%08x\n", hr);
114 
115  hr = IWMReader_QueryInterface(reader, &IID_IWMProfile2, (void **)&profile2);
116  ok(hr == S_OK, "Failed 0x%08x\n", hr);
117 
118  hr = IWMReader_QueryInterface(reader, &IID_IWMProfile3, (void **)&profile3);
119  ok(hr == S_OK, "Failed 0x%08x\n", hr);
120 
121  hr = IWMReader_QueryInterface(reader, &IID_IWMPacketSize, (void **)&packet);
122  ok(hr == S_OK, "Failed 0x%08x\n", hr);
123 
124  hr = IWMReader_QueryInterface(reader, &IID_IWMPacketSize2, (void **)&packet2);
125  ok(hr == S_OK, "Failed 0x%08x\n", hr);
126 
127  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAccelerator, (void **)&accel);
128  ok(hr == S_OK, "Failed 0x%08x\n", hr);
129 
130  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderTimecode, (void **)&timecode);
131  ok(hr == S_OK, "Failed 0x%08x\n", hr);
132 
133  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderNetworkConfig, (void **)&netconfig);
134  ok(hr == S_OK, "Failed 0x%08x\n", hr);
135 
136  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderNetworkConfig2, (void **)&netconfig2);
137  ok(hr == S_OK, "Failed 0x%08x\n", hr);
138 
139  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderStreamClock, (void **)&clock);
140  ok(hr == S_OK, "Failed 0x%08x\n", hr);
141 
142  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderTypeNegotiation, (void **)&negotiation);
143  ok(hr == S_OK, "Failed 0x%08x\n", hr);
144 
145  hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader, (void **)&drmreader);
146  ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
147 
148  hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader2, (void **)&drmreader2);
149  ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
150 
151  hr = IWMReader_QueryInterface(reader, &IID_IWMDRMReader3, (void **)&drmreader3);
152  ok(hr == E_NOINTERFACE, "Failed 0x%08x\n", hr);
153 
154  hr = IWMReader_QueryInterface(reader, &IID_IWMReaderPlaylistBurn, (void **)&playlist);
155  ok(hr == S_OK, "Failed 0x%08x\n", hr);
156 
157  hr = IWMReader_QueryInterface(reader, &IID_IWMLanguageList, (void **)&langlist);
158  ok(hr == S_OK, "Failed 0x%08x\n", hr);
159 
160  hr = IWMReader_QueryInterface(reader, &IID_IReferenceClock, (void **)&refclock);
161  ok(hr == S_OK, "Failed 0x%08x\n", hr);
162 
163  if(packet)
164  IWMPacketSize_Release(packet);
165  if(packet2)
166  IWMPacketSize2_Release(packet2);
167  if(advanced)
168  IWMReaderAdvanced_Release(advanced);
169  if(advanced2)
170  IWMReaderAdvanced2_Release(advanced2);
171  if(profile)
172  IWMProfile_Release(profile);
173  if(profile2)
174  IWMProfile2_Release(profile2);
175  if(profile3)
176  IWMProfile3_Release(profile3);
177  if(header)
178  IWMHeaderInfo_Release(header);
179  if(header2)
180  IWMHeaderInfo2_Release(header2);
181  if(header3)
182  IWMHeaderInfo3_Release(header3);
183  if(accel)
184  IWMReaderAccelerator_Release(accel);
185  if(timecode)
186  IWMReaderTimecode_Release(timecode);
187  if(netconfig)
188  IWMReaderNetworkConfig_Release(netconfig);
189  if(netconfig2)
190  IWMReaderNetworkConfig2_Release(netconfig2);
191  if(clock)
192  IWMReaderStreamClock_Release(clock);
193  if(negotiation)
194  IWMReaderTypeNegotiation_Release(negotiation);
195  if(playlist)
196  IWMReaderPlaylistBurn_Release(playlist);
197  if(langlist)
198  IWMLanguageList_Release(langlist);
199  if(refclock)
200  IReferenceClock_Release(refclock);
201 
202  IWMReader_Release(reader);
203 }
HRESULT WINAPI WMCreateReader(IUnknown *reserved, DWORD rights, IWMReader **ret_reader)
Definition: reader.c:2032
#define E_NOINTERFACE
Definition: winerror.h:2364
HRESULT hr
Definition: shlfolder.c:183
UCHAR packet[_PAGE_SIZE]
Definition: serial.c:53
WDF_DMA_PROFILE profile
Definition: dhcpd.h:135
static const char profile2[]
Definition: profile.c:118
LONG HRESULT
Definition: typedefs.h:79
#define S_OK
Definition: intsafe.h:51
#define IReferenceClock_Release(p)
Definition: dmusicc.h:752
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
Definition: clock.c:23
Definition: reader.h:83
#define win_skip
Definition: test.h:149
struct CFHEADER header
Definition: fdi.c:101

Referenced by START_TEST().

◆ test_wmsyncreader_interfaces()

static void test_wmsyncreader_interfaces ( void  )
static

Definition at line 205 of file wmvcore.c.

206 {
207  HRESULT hr;
210  IWMHeaderInfo2 *header2;
211  IWMHeaderInfo3 *header3;
214  IWMProfile3 *profile3;
216  IWMPacketSize2 *packet2;
217  IWMReaderTimecode *timecode;
218  IWMReaderPlaylistBurn *playlist;
219  IWMLanguageList *langlist;
220 
221  hr = WMCreateSyncReader( NULL, 0, &reader );
222  ok(hr == S_OK, "WMCreateSyncReader failed 0x%08x\n", hr);
223  if(FAILED(hr))
224  {
225  win_skip("Failed to create IWMSyncReader\n");
226  return;
227  }
228 
229  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo, (void **)&header);
230  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
231 
232  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo2, (void **)&header2);
233  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
234 
235  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMHeaderInfo3, (void **)&header3);
236  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
237 
238  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile, (void **)&profile);
239  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
240 
241  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile2, (void **)&profile2);
242  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
243 
244  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMProfile3, (void **)&profile3);
245  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
246 
247  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMPacketSize, (void **)&packet);
248  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
249 
250  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMPacketSize2, (void **)&packet2);
251  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
252 
253  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMReaderTimecode, (void **)&timecode);
254  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
255 
256  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMReaderPlaylistBurn, (void **)&playlist);
257  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
258 
259  hr = IWMSyncReader_QueryInterface(reader, &IID_IWMLanguageList, (void **)&langlist);
260  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
261 
262  if(packet)
263  IWMPacketSize_Release(packet);
264  if(packet2)
265  IWMPacketSize2_Release(packet2);
266  if(profile)
267  IWMProfile_Release(profile);
268  if(profile2)
269  IWMProfile2_Release(profile2);
270  if(profile3)
271  IWMProfile3_Release(profile3);
272  if(header)
273  IWMHeaderInfo_Release(header);
274  if(header2)
275  IWMHeaderInfo2_Release(header2);
276  if(header3)
277  IWMHeaderInfo3_Release(header3);
278  if(timecode)
279  IWMReaderTimecode_Release(timecode);
280  if(playlist)
281  IWMReaderPlaylistBurn_Release(playlist);
282  if(langlist)
283  IWMLanguageList_Release(langlist);
284 
285 
286  IWMSyncReader_Release(reader);
287 }
HRESULT hr
Definition: shlfolder.c:183
UCHAR packet[_PAGE_SIZE]
Definition: serial.c:53
HRESULT WINAPI WMCreateSyncReader(IUnknown *pcert, DWORD rights, IWMSyncReader **syncreader)
Definition: reader.c:2300
WDF_DMA_PROFILE profile
Definition: dhcpd.h:135
static const char profile2[]
Definition: profile.c:118
LONG HRESULT
Definition: typedefs.h:79
#define todo_wine
Definition: test.h:162
#define S_OK
Definition: intsafe.h:51
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
Definition: reader.h:83
#define win_skip
Definition: test.h:149
struct CFHEADER header
Definition: fdi.c:101

Referenced by START_TEST().

◆ test_wmwriter_interfaces()

static void test_wmwriter_interfaces ( void  )
static

Definition at line 28 of file wmvcore.c.

29 {
30  HRESULT hr;
31  IWMWriter *writer;
33  IWMHeaderInfo2 *header2;
34  IWMHeaderInfo3 *header3;
35 
36  hr = WMCreateWriter( NULL, &writer );
37  ok(hr == S_OK, "WMCreateWriter failed 0x%08x\n", hr);
38  if(FAILED(hr))
39  {
40  win_skip("Failed to create IWMWriter\n");
41  return;
42  }
43 
44  hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo, (void **)&header);
45  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
46 
47  hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo2, (void **)&header2);
48  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
49 
50  hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo3, (void **)&header3);
51  todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
52 
53  if(header)
54  IWMHeaderInfo_Release(header);
55  if(header2)
56  IWMHeaderInfo2_Release(header2);
57  if(header3)
58  IWMHeaderInfo3_Release(header3);
59  IWMWriter_Release(writer);
60 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI WMCreateWriter(IUnknown *reserved, IWMWriter **writer)
Definition: writer.c:356
LONG HRESULT
Definition: typedefs.h:79
#define todo_wine
Definition: test.h:162
#define S_OK
Definition: intsafe.h:51
#define ok(value,...)
Definition: atltest.h:57
#define NULL
Definition: types.h:112
#define win_skip
Definition: test.h:149
struct CFHEADER header
Definition: fdi.c:101

Referenced by START_TEST().

◆ WMCreateWriterPriv()

HRESULT WINAPI WMCreateWriterPriv ( IWMWriter **  writer)

Definition at line 374 of file writer.c.

375 {
376  return WMCreateWriter(NULL, writer);
377 }
HRESULT WINAPI WMCreateWriter(IUnknown *reserved, IWMWriter **writer)
Definition: writer.c:356
#define NULL
Definition: types.h:112

Referenced by test_WMCreateWriterPriv().