]> git.sesse.net Git - vlc/blob - activex/axvlc_idl.h
- activex: support for taking a snapshot into a Picture object
[vlc] / activex / axvlc_idl.h
1 /*** Autogenerated by WIDL 0.9.27 from axvlc.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_AXVLC_IDL_H
6 #define __WIDL_AXVLC_IDL_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <ocidl.h>
11
12 DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
13
14 #ifndef __IVLCControl_FWD_DEFINED__
15 #define __IVLCControl_FWD_DEFINED__
16 typedef interface IVLCControl IVLCControl;
17 #endif
18
19 #ifndef __IVLCAudio_FWD_DEFINED__
20 #define __IVLCAudio_FWD_DEFINED__
21 typedef interface IVLCAudio IVLCAudio;
22 #endif
23
24 #ifndef __IVLCInput_FWD_DEFINED__
25 #define __IVLCInput_FWD_DEFINED__
26 typedef interface IVLCInput IVLCInput;
27 #endif
28
29 #ifndef __IVLCLog_FWD_DEFINED__
30 #define __IVLCLog_FWD_DEFINED__
31 typedef interface IVLCLog IVLCLog;
32 #endif
33
34 #ifndef __IVLCMessage_FWD_DEFINED__
35 #define __IVLCMessage_FWD_DEFINED__
36 typedef interface IVLCMessage IVLCMessage;
37 #endif
38
39 #ifndef __IVLCMessageIterator_FWD_DEFINED__
40 #define __IVLCMessageIterator_FWD_DEFINED__
41 typedef interface IVLCMessageIterator IVLCMessageIterator;
42 #endif
43
44 #ifndef __IVLCMessages_FWD_DEFINED__
45 #define __IVLCMessages_FWD_DEFINED__
46 typedef interface IVLCMessages IVLCMessages;
47 #endif
48
49 #ifndef __IVLCPlaylist_FWD_DEFINED__
50 #define __IVLCPlaylist_FWD_DEFINED__
51 typedef interface IVLCPlaylist IVLCPlaylist;
52 #endif
53
54 #ifndef __IVLCVideo_FWD_DEFINED__
55 #define __IVLCVideo_FWD_DEFINED__
56 typedef interface IVLCVideo IVLCVideo;
57 #endif
58
59 #ifndef __IVLCControl2_FWD_DEFINED__
60 #define __IVLCControl2_FWD_DEFINED__
61 typedef interface IVLCControl2 IVLCControl2;
62 #endif
63
64 #ifndef __DVLCEvents_FWD_DEFINED__
65 #define __DVLCEvents_FWD_DEFINED__
66 typedef interface DVLCEvents DVLCEvents;
67 #endif
68
69 typedef enum VLCPlaylistMode {
70     VLCPlayListInsert = 1,
71     VLCPlayListInsertAndGo = 9,
72     VLCPlayListReplace = 2,
73     VLCPlayListReplaceAndGo = 10,
74     VLCPlayListAppend = 4,
75     VLCPlayListAppendAndGo = 12,
76     VLCPlayListCheckInsert = 16
77 } eVLCPlaylistMode;
78 #define VLCPlayListEnd (-666)
79
80 #define DISPID_Visible (100)
81
82 #define DISPID_Playing (101)
83
84 #define DISPID_Position (102)
85
86 #define DISPID_Time (103)
87
88 #define DISPID_Length (104)
89
90 #define DISPID_Volume (105)
91
92 #define DISPID_MRL (106)
93
94 #define DISPID_AutoPlay (107)
95
96 #define DISPID_AutoLoop (108)
97
98 #define DISPID_StartTime (109)
99
100 #define DISPID_BaseURL (110)
101
102 /*****************************************************************************
103  * IVLCControl interface
104  */
105 #ifndef __IVLCControl_INTERFACE_DEFINED__
106 #define __IVLCControl_INTERFACE_DEFINED__
107
108 DEFINE_GUID(IID_IVLCControl, 0xc2fa41d0, 0xb113, 0x476e, 0xac,0x8c, 0x9b,0xd1,0x49,0x99,0xc1,0xc1);
109 #if defined(__cplusplus) && !defined(CINTERFACE)
110 interface IVLCControl : public IDispatch
111 {
112     virtual HRESULT STDMETHODCALLTYPE get_Visible(
113         VARIANT_BOOL* visible) = 0;
114
115     virtual HRESULT STDMETHODCALLTYPE put_Visible(
116         VARIANT_BOOL visible) = 0;
117
118     virtual HRESULT STDMETHODCALLTYPE play(
119         ) = 0;
120
121     virtual HRESULT STDMETHODCALLTYPE pause(
122         ) = 0;
123
124     virtual HRESULT STDMETHODCALLTYPE stop(
125         ) = 0;
126
127     virtual HRESULT STDMETHODCALLTYPE get_Playing(
128         VARIANT_BOOL* isPlaying) = 0;
129
130     virtual HRESULT STDMETHODCALLTYPE get_Position(
131         float* position) = 0;
132
133     virtual HRESULT STDMETHODCALLTYPE put_Position(
134         float position) = 0;
135
136     virtual HRESULT STDMETHODCALLTYPE get_Time(
137         int* seconds) = 0;
138
139     virtual HRESULT STDMETHODCALLTYPE put_Time(
140         int seconds) = 0;
141
142     virtual HRESULT STDMETHODCALLTYPE shuttle(
143         int seconds) = 0;
144
145     virtual HRESULT STDMETHODCALLTYPE fullscreen(
146         ) = 0;
147
148     virtual HRESULT STDMETHODCALLTYPE get_Length(
149         int* seconds) = 0;
150
151     virtual HRESULT STDMETHODCALLTYPE playFaster(
152         ) = 0;
153
154     virtual HRESULT STDMETHODCALLTYPE playSlower(
155         ) = 0;
156
157     virtual HRESULT STDMETHODCALLTYPE get_Volume(
158         int* volume) = 0;
159
160     virtual HRESULT STDMETHODCALLTYPE put_Volume(
161         int volume) = 0;
162
163     virtual HRESULT STDMETHODCALLTYPE toggleMute(
164         ) = 0;
165
166     virtual HRESULT STDMETHODCALLTYPE setVariable(
167         BSTR name,
168         VARIANT value) = 0;
169
170     virtual HRESULT STDMETHODCALLTYPE getVariable(
171         BSTR name,
172         VARIANT* value) = 0;
173
174     virtual HRESULT STDMETHODCALLTYPE addTarget(
175         BSTR uri,
176         VARIANT options,
177         enum VLCPlaylistMode mode,
178         int position) = 0;
179
180     virtual HRESULT STDMETHODCALLTYPE get_PlaylistIndex(
181         int* index) = 0;
182
183     virtual HRESULT STDMETHODCALLTYPE get_PlaylistCount(
184         int* index) = 0;
185
186     virtual HRESULT STDMETHODCALLTYPE playlistNext(
187         ) = 0;
188
189     virtual HRESULT STDMETHODCALLTYPE playlistPrev(
190         ) = 0;
191
192     virtual HRESULT STDMETHODCALLTYPE playlistClear(
193         ) = 0;
194
195     virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
196         BSTR* version) = 0;
197
198     virtual HRESULT STDMETHODCALLTYPE get_MRL(
199         BSTR* mrl) = 0;
200
201     virtual HRESULT STDMETHODCALLTYPE put_MRL(
202         BSTR mrl) = 0;
203
204     virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
205         VARIANT_BOOL* autoplay) = 0;
206
207     virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
208         VARIANT_BOOL autoplay) = 0;
209
210     virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
211         VARIANT_BOOL* autoloop) = 0;
212
213     virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
214         VARIANT_BOOL autoloop) = 0;
215
216 };
217 #else
218 typedef struct IVLCControlVtbl {
219     BEGIN_INTERFACE
220
221     /*** IUnknown methods ***/
222     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
223         IVLCControl* This,
224         REFIID riid,
225         void** ppvObject);
226
227     ULONG (STDMETHODCALLTYPE *AddRef)(
228         IVLCControl* This);
229
230     ULONG (STDMETHODCALLTYPE *Release)(
231         IVLCControl* This);
232
233     /*** IDispatch methods ***/
234     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
235         IVLCControl* This,
236         UINT* pctinfo);
237
238     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
239         IVLCControl* This,
240         UINT iTInfo,
241         LCID lcid,
242         ITypeInfo** ppTInfo);
243
244     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
245         IVLCControl* This,
246         REFIID riid,
247         LPOLESTR* rgszNames,
248         UINT cNames,
249         LCID lcid,
250         DISPID* rgDispId);
251
252     HRESULT (STDMETHODCALLTYPE *Invoke)(
253         IVLCControl* This,
254         DISPID dispIdMember,
255         REFIID riid,
256         LCID lcid,
257         WORD wFlags,
258         DISPPARAMS* pDispParams,
259         VARIANT* pVarResult,
260         EXCEPINFO* pExcepInfo,
261         UINT* puArgErr);
262
263     /*** IVLCControl methods ***/
264     HRESULT (STDMETHODCALLTYPE *get_Visible)(
265         IVLCControl* This,
266         VARIANT_BOOL* visible);
267
268     HRESULT (STDMETHODCALLTYPE *put_Visible)(
269         IVLCControl* This,
270         VARIANT_BOOL visible);
271
272     HRESULT (STDMETHODCALLTYPE *play)(
273         IVLCControl* This);
274
275     HRESULT (STDMETHODCALLTYPE *pause)(
276         IVLCControl* This);
277
278     HRESULT (STDMETHODCALLTYPE *stop)(
279         IVLCControl* This);
280
281     HRESULT (STDMETHODCALLTYPE *get_Playing)(
282         IVLCControl* This,
283         VARIANT_BOOL* isPlaying);
284
285     HRESULT (STDMETHODCALLTYPE *get_Position)(
286         IVLCControl* This,
287         float* position);
288
289     HRESULT (STDMETHODCALLTYPE *put_Position)(
290         IVLCControl* This,
291         float position);
292
293     HRESULT (STDMETHODCALLTYPE *get_Time)(
294         IVLCControl* This,
295         int* seconds);
296
297     HRESULT (STDMETHODCALLTYPE *put_Time)(
298         IVLCControl* This,
299         int seconds);
300
301     HRESULT (STDMETHODCALLTYPE *shuttle)(
302         IVLCControl* This,
303         int seconds);
304
305     HRESULT (STDMETHODCALLTYPE *fullscreen)(
306         IVLCControl* This);
307
308     HRESULT (STDMETHODCALLTYPE *get_Length)(
309         IVLCControl* This,
310         int* seconds);
311
312     HRESULT (STDMETHODCALLTYPE *playFaster)(
313         IVLCControl* This);
314
315     HRESULT (STDMETHODCALLTYPE *playSlower)(
316         IVLCControl* This);
317
318     HRESULT (STDMETHODCALLTYPE *get_Volume)(
319         IVLCControl* This,
320         int* volume);
321
322     HRESULT (STDMETHODCALLTYPE *put_Volume)(
323         IVLCControl* This,
324         int volume);
325
326     HRESULT (STDMETHODCALLTYPE *toggleMute)(
327         IVLCControl* This);
328
329     HRESULT (STDMETHODCALLTYPE *setVariable)(
330         IVLCControl* This,
331         BSTR name,
332         VARIANT value);
333
334     HRESULT (STDMETHODCALLTYPE *getVariable)(
335         IVLCControl* This,
336         BSTR name,
337         VARIANT* value);
338
339     HRESULT (STDMETHODCALLTYPE *addTarget)(
340         IVLCControl* This,
341         BSTR uri,
342         VARIANT options,
343         enum VLCPlaylistMode mode,
344         int position);
345
346     HRESULT (STDMETHODCALLTYPE *get_PlaylistIndex)(
347         IVLCControl* This,
348         int* index);
349
350     HRESULT (STDMETHODCALLTYPE *get_PlaylistCount)(
351         IVLCControl* This,
352         int* index);
353
354     HRESULT (STDMETHODCALLTYPE *playlistNext)(
355         IVLCControl* This);
356
357     HRESULT (STDMETHODCALLTYPE *playlistPrev)(
358         IVLCControl* This);
359
360     HRESULT (STDMETHODCALLTYPE *playlistClear)(
361         IVLCControl* This);
362
363     HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
364         IVLCControl* This,
365         BSTR* version);
366
367     HRESULT (STDMETHODCALLTYPE *get_MRL)(
368         IVLCControl* This,
369         BSTR* mrl);
370
371     HRESULT (STDMETHODCALLTYPE *put_MRL)(
372         IVLCControl* This,
373         BSTR mrl);
374
375     HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
376         IVLCControl* This,
377         VARIANT_BOOL* autoplay);
378
379     HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
380         IVLCControl* This,
381         VARIANT_BOOL autoplay);
382
383     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
384         IVLCControl* This,
385         VARIANT_BOOL* autoloop);
386
387     HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
388         IVLCControl* This,
389         VARIANT_BOOL autoloop);
390
391     END_INTERFACE
392 } IVLCControlVtbl;
393 interface IVLCControl {
394     CONST_VTBL IVLCControlVtbl* lpVtbl;
395 };
396
397 #ifdef COBJMACROS
398 /*** IUnknown methods ***/
399 #define IVLCControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
400 #define IVLCControl_AddRef(p) (p)->lpVtbl->AddRef(p)
401 #define IVLCControl_Release(p) (p)->lpVtbl->Release(p)
402 /*** IDispatch methods ***/
403 #define IVLCControl_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
404 #define IVLCControl_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
405 #define IVLCControl_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
406 #define IVLCControl_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
407 /*** IVLCControl methods ***/
408 #define IVLCControl_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
409 #define IVLCControl_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
410 #define IVLCControl_play(p) (p)->lpVtbl->play(p)
411 #define IVLCControl_pause(p) (p)->lpVtbl->pause(p)
412 #define IVLCControl_stop(p) (p)->lpVtbl->stop(p)
413 #define IVLCControl_get_Playing(p,a) (p)->lpVtbl->get_Playing(p,a)
414 #define IVLCControl_get_Position(p,a) (p)->lpVtbl->get_Position(p,a)
415 #define IVLCControl_put_Position(p,a) (p)->lpVtbl->put_Position(p,a)
416 #define IVLCControl_get_Time(p,a) (p)->lpVtbl->get_Time(p,a)
417 #define IVLCControl_put_Time(p,a) (p)->lpVtbl->put_Time(p,a)
418 #define IVLCControl_shuttle(p,a) (p)->lpVtbl->shuttle(p,a)
419 #define IVLCControl_fullscreen(p) (p)->lpVtbl->fullscreen(p)
420 #define IVLCControl_get_Length(p,a) (p)->lpVtbl->get_Length(p,a)
421 #define IVLCControl_playFaster(p) (p)->lpVtbl->playFaster(p)
422 #define IVLCControl_playSlower(p) (p)->lpVtbl->playSlower(p)
423 #define IVLCControl_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
424 #define IVLCControl_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
425 #define IVLCControl_toggleMute(p) (p)->lpVtbl->toggleMute(p)
426 #define IVLCControl_setVariable(p,a,b) (p)->lpVtbl->setVariable(p,a,b)
427 #define IVLCControl_getVariable(p,a,b) (p)->lpVtbl->getVariable(p,a,b)
428 #define IVLCControl_addTarget(p,a,b,c,d) (p)->lpVtbl->addTarget(p,a,b,c,d)
429 #define IVLCControl_get_PlaylistIndex(p,a) (p)->lpVtbl->get_PlaylistIndex(p,a)
430 #define IVLCControl_get_PlaylistCount(p,a) (p)->lpVtbl->get_PlaylistCount(p,a)
431 #define IVLCControl_playlistNext(p) (p)->lpVtbl->playlistNext(p)
432 #define IVLCControl_playlistPrev(p) (p)->lpVtbl->playlistPrev(p)
433 #define IVLCControl_playlistClear(p) (p)->lpVtbl->playlistClear(p)
434 #define IVLCControl_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
435 #define IVLCControl_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
436 #define IVLCControl_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
437 #define IVLCControl_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
438 #define IVLCControl_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
439 #define IVLCControl_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
440 #define IVLCControl_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
441 #endif
442
443 #endif
444
445 HRESULT CALLBACK IVLCControl_get_Visible_Proxy(
446     IVLCControl* This,
447     VARIANT_BOOL* visible);
448 void __RPC_STUB IVLCControl_get_Visible_Stub(
449     IRpcStubBuffer* This,
450     IRpcChannelBuffer* pRpcChannelBuffer,
451     PRPC_MESSAGE pRpcMessage,
452     DWORD* pdwStubPhase);
453 HRESULT CALLBACK IVLCControl_put_Visible_Proxy(
454     IVLCControl* This,
455     VARIANT_BOOL visible);
456 void __RPC_STUB IVLCControl_put_Visible_Stub(
457     IRpcStubBuffer* This,
458     IRpcChannelBuffer* pRpcChannelBuffer,
459     PRPC_MESSAGE pRpcMessage,
460     DWORD* pdwStubPhase);
461 HRESULT CALLBACK IVLCControl_play_Proxy(
462     IVLCControl* This);
463 void __RPC_STUB IVLCControl_play_Stub(
464     IRpcStubBuffer* This,
465     IRpcChannelBuffer* pRpcChannelBuffer,
466     PRPC_MESSAGE pRpcMessage,
467     DWORD* pdwStubPhase);
468 HRESULT CALLBACK IVLCControl_pause_Proxy(
469     IVLCControl* This);
470 void __RPC_STUB IVLCControl_pause_Stub(
471     IRpcStubBuffer* This,
472     IRpcChannelBuffer* pRpcChannelBuffer,
473     PRPC_MESSAGE pRpcMessage,
474     DWORD* pdwStubPhase);
475 HRESULT CALLBACK IVLCControl_stop_Proxy(
476     IVLCControl* This);
477 void __RPC_STUB IVLCControl_stop_Stub(
478     IRpcStubBuffer* This,
479     IRpcChannelBuffer* pRpcChannelBuffer,
480     PRPC_MESSAGE pRpcMessage,
481     DWORD* pdwStubPhase);
482 HRESULT CALLBACK IVLCControl_get_Playing_Proxy(
483     IVLCControl* This,
484     VARIANT_BOOL* isPlaying);
485 void __RPC_STUB IVLCControl_get_Playing_Stub(
486     IRpcStubBuffer* This,
487     IRpcChannelBuffer* pRpcChannelBuffer,
488     PRPC_MESSAGE pRpcMessage,
489     DWORD* pdwStubPhase);
490 HRESULT CALLBACK IVLCControl_get_Position_Proxy(
491     IVLCControl* This,
492     float* position);
493 void __RPC_STUB IVLCControl_get_Position_Stub(
494     IRpcStubBuffer* This,
495     IRpcChannelBuffer* pRpcChannelBuffer,
496     PRPC_MESSAGE pRpcMessage,
497     DWORD* pdwStubPhase);
498 HRESULT CALLBACK IVLCControl_put_Position_Proxy(
499     IVLCControl* This,
500     float position);
501 void __RPC_STUB IVLCControl_put_Position_Stub(
502     IRpcStubBuffer* This,
503     IRpcChannelBuffer* pRpcChannelBuffer,
504     PRPC_MESSAGE pRpcMessage,
505     DWORD* pdwStubPhase);
506 HRESULT CALLBACK IVLCControl_get_Time_Proxy(
507     IVLCControl* This,
508     int* seconds);
509 void __RPC_STUB IVLCControl_get_Time_Stub(
510     IRpcStubBuffer* This,
511     IRpcChannelBuffer* pRpcChannelBuffer,
512     PRPC_MESSAGE pRpcMessage,
513     DWORD* pdwStubPhase);
514 HRESULT CALLBACK IVLCControl_put_Time_Proxy(
515     IVLCControl* This,
516     int seconds);
517 void __RPC_STUB IVLCControl_put_Time_Stub(
518     IRpcStubBuffer* This,
519     IRpcChannelBuffer* pRpcChannelBuffer,
520     PRPC_MESSAGE pRpcMessage,
521     DWORD* pdwStubPhase);
522 HRESULT CALLBACK IVLCControl_shuttle_Proxy(
523     IVLCControl* This,
524     int seconds);
525 void __RPC_STUB IVLCControl_shuttle_Stub(
526     IRpcStubBuffer* This,
527     IRpcChannelBuffer* pRpcChannelBuffer,
528     PRPC_MESSAGE pRpcMessage,
529     DWORD* pdwStubPhase);
530 HRESULT CALLBACK IVLCControl_fullscreen_Proxy(
531     IVLCControl* This);
532 void __RPC_STUB IVLCControl_fullscreen_Stub(
533     IRpcStubBuffer* This,
534     IRpcChannelBuffer* pRpcChannelBuffer,
535     PRPC_MESSAGE pRpcMessage,
536     DWORD* pdwStubPhase);
537 HRESULT CALLBACK IVLCControl_get_Length_Proxy(
538     IVLCControl* This,
539     int* seconds);
540 void __RPC_STUB IVLCControl_get_Length_Stub(
541     IRpcStubBuffer* This,
542     IRpcChannelBuffer* pRpcChannelBuffer,
543     PRPC_MESSAGE pRpcMessage,
544     DWORD* pdwStubPhase);
545 HRESULT CALLBACK IVLCControl_playFaster_Proxy(
546     IVLCControl* This);
547 void __RPC_STUB IVLCControl_playFaster_Stub(
548     IRpcStubBuffer* This,
549     IRpcChannelBuffer* pRpcChannelBuffer,
550     PRPC_MESSAGE pRpcMessage,
551     DWORD* pdwStubPhase);
552 HRESULT CALLBACK IVLCControl_playSlower_Proxy(
553     IVLCControl* This);
554 void __RPC_STUB IVLCControl_playSlower_Stub(
555     IRpcStubBuffer* This,
556     IRpcChannelBuffer* pRpcChannelBuffer,
557     PRPC_MESSAGE pRpcMessage,
558     DWORD* pdwStubPhase);
559 HRESULT CALLBACK IVLCControl_get_Volume_Proxy(
560     IVLCControl* This,
561     int* volume);
562 void __RPC_STUB IVLCControl_get_Volume_Stub(
563     IRpcStubBuffer* This,
564     IRpcChannelBuffer* pRpcChannelBuffer,
565     PRPC_MESSAGE pRpcMessage,
566     DWORD* pdwStubPhase);
567 HRESULT CALLBACK IVLCControl_put_Volume_Proxy(
568     IVLCControl* This,
569     int volume);
570 void __RPC_STUB IVLCControl_put_Volume_Stub(
571     IRpcStubBuffer* This,
572     IRpcChannelBuffer* pRpcChannelBuffer,
573     PRPC_MESSAGE pRpcMessage,
574     DWORD* pdwStubPhase);
575 HRESULT CALLBACK IVLCControl_toggleMute_Proxy(
576     IVLCControl* This);
577 void __RPC_STUB IVLCControl_toggleMute_Stub(
578     IRpcStubBuffer* This,
579     IRpcChannelBuffer* pRpcChannelBuffer,
580     PRPC_MESSAGE pRpcMessage,
581     DWORD* pdwStubPhase);
582 HRESULT CALLBACK IVLCControl_setVariable_Proxy(
583     IVLCControl* This,
584     BSTR name,
585     VARIANT value);
586 void __RPC_STUB IVLCControl_setVariable_Stub(
587     IRpcStubBuffer* This,
588     IRpcChannelBuffer* pRpcChannelBuffer,
589     PRPC_MESSAGE pRpcMessage,
590     DWORD* pdwStubPhase);
591 HRESULT CALLBACK IVLCControl_getVariable_Proxy(
592     IVLCControl* This,
593     BSTR name,
594     VARIANT* value);
595 void __RPC_STUB IVLCControl_getVariable_Stub(
596     IRpcStubBuffer* This,
597     IRpcChannelBuffer* pRpcChannelBuffer,
598     PRPC_MESSAGE pRpcMessage,
599     DWORD* pdwStubPhase);
600 HRESULT CALLBACK IVLCControl_addTarget_Proxy(
601     IVLCControl* This,
602     BSTR uri,
603     VARIANT options,
604     enum VLCPlaylistMode mode,
605     int position);
606 void __RPC_STUB IVLCControl_addTarget_Stub(
607     IRpcStubBuffer* This,
608     IRpcChannelBuffer* pRpcChannelBuffer,
609     PRPC_MESSAGE pRpcMessage,
610     DWORD* pdwStubPhase);
611 HRESULT CALLBACK IVLCControl_get_PlaylistIndex_Proxy(
612     IVLCControl* This,
613     int* index);
614 void __RPC_STUB IVLCControl_get_PlaylistIndex_Stub(
615     IRpcStubBuffer* This,
616     IRpcChannelBuffer* pRpcChannelBuffer,
617     PRPC_MESSAGE pRpcMessage,
618     DWORD* pdwStubPhase);
619 HRESULT CALLBACK IVLCControl_get_PlaylistCount_Proxy(
620     IVLCControl* This,
621     int* index);
622 void __RPC_STUB IVLCControl_get_PlaylistCount_Stub(
623     IRpcStubBuffer* This,
624     IRpcChannelBuffer* pRpcChannelBuffer,
625     PRPC_MESSAGE pRpcMessage,
626     DWORD* pdwStubPhase);
627 HRESULT CALLBACK IVLCControl_playlistNext_Proxy(
628     IVLCControl* This);
629 void __RPC_STUB IVLCControl_playlistNext_Stub(
630     IRpcStubBuffer* This,
631     IRpcChannelBuffer* pRpcChannelBuffer,
632     PRPC_MESSAGE pRpcMessage,
633     DWORD* pdwStubPhase);
634 HRESULT CALLBACK IVLCControl_playlistPrev_Proxy(
635     IVLCControl* This);
636 void __RPC_STUB IVLCControl_playlistPrev_Stub(
637     IRpcStubBuffer* This,
638     IRpcChannelBuffer* pRpcChannelBuffer,
639     PRPC_MESSAGE pRpcMessage,
640     DWORD* pdwStubPhase);
641 HRESULT CALLBACK IVLCControl_playlistClear_Proxy(
642     IVLCControl* This);
643 void __RPC_STUB IVLCControl_playlistClear_Stub(
644     IRpcStubBuffer* This,
645     IRpcChannelBuffer* pRpcChannelBuffer,
646     PRPC_MESSAGE pRpcMessage,
647     DWORD* pdwStubPhase);
648 HRESULT CALLBACK IVLCControl_get_VersionInfo_Proxy(
649     IVLCControl* This,
650     BSTR* version);
651 void __RPC_STUB IVLCControl_get_VersionInfo_Stub(
652     IRpcStubBuffer* This,
653     IRpcChannelBuffer* pRpcChannelBuffer,
654     PRPC_MESSAGE pRpcMessage,
655     DWORD* pdwStubPhase);
656 HRESULT CALLBACK IVLCControl_get_MRL_Proxy(
657     IVLCControl* This,
658     BSTR* mrl);
659 void __RPC_STUB IVLCControl_get_MRL_Stub(
660     IRpcStubBuffer* This,
661     IRpcChannelBuffer* pRpcChannelBuffer,
662     PRPC_MESSAGE pRpcMessage,
663     DWORD* pdwStubPhase);
664 HRESULT CALLBACK IVLCControl_put_MRL_Proxy(
665     IVLCControl* This,
666     BSTR mrl);
667 void __RPC_STUB IVLCControl_put_MRL_Stub(
668     IRpcStubBuffer* This,
669     IRpcChannelBuffer* pRpcChannelBuffer,
670     PRPC_MESSAGE pRpcMessage,
671     DWORD* pdwStubPhase);
672 HRESULT CALLBACK IVLCControl_get_AutoPlay_Proxy(
673     IVLCControl* This,
674     VARIANT_BOOL* autoplay);
675 void __RPC_STUB IVLCControl_get_AutoPlay_Stub(
676     IRpcStubBuffer* This,
677     IRpcChannelBuffer* pRpcChannelBuffer,
678     PRPC_MESSAGE pRpcMessage,
679     DWORD* pdwStubPhase);
680 HRESULT CALLBACK IVLCControl_put_AutoPlay_Proxy(
681     IVLCControl* This,
682     VARIANT_BOOL autoplay);
683 void __RPC_STUB IVLCControl_put_AutoPlay_Stub(
684     IRpcStubBuffer* This,
685     IRpcChannelBuffer* pRpcChannelBuffer,
686     PRPC_MESSAGE pRpcMessage,
687     DWORD* pdwStubPhase);
688 HRESULT CALLBACK IVLCControl_get_AutoLoop_Proxy(
689     IVLCControl* This,
690     VARIANT_BOOL* autoloop);
691 void __RPC_STUB IVLCControl_get_AutoLoop_Stub(
692     IRpcStubBuffer* This,
693     IRpcChannelBuffer* pRpcChannelBuffer,
694     PRPC_MESSAGE pRpcMessage,
695     DWORD* pdwStubPhase);
696 HRESULT CALLBACK IVLCControl_put_AutoLoop_Proxy(
697     IVLCControl* This,
698     VARIANT_BOOL autoloop);
699 void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
700     IRpcStubBuffer* This,
701     IRpcChannelBuffer* pRpcChannelBuffer,
702     PRPC_MESSAGE pRpcMessage,
703     DWORD* pdwStubPhase);
704
705 #endif  /* __IVLCControl_INTERFACE_DEFINED__ */
706
707 #define DISPID_PlayEvent (100)
708
709 #define DISPID_PauseEvent (101)
710
711 #define DISPID_StopEvent (102)
712
713 /*****************************************************************************
714  * DVLCEvents dispinterface
715  */
716 #ifndef __DVLCEvents_DISPINTERFACE_DEFINED__
717 #define __DVLCEvents_DISPINTERFACE_DEFINED__
718
719 DEFINE_GUID(DIID_DVLCEvents, 0xdf48072f, 0x5ef8, 0x434e, 0x9b,0x40, 0xe2,0xf3,0xae,0x75,0x9b,0x5f);
720 #if defined(__cplusplus) && !defined(CINTERFACE)
721 interface DVLCEvents : public IDispatch
722 {
723 };
724 #else
725 typedef struct DVLCEventsVtbl {
726     BEGIN_INTERFACE
727
728     /*** IUnknown methods ***/
729     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
730         DVLCEvents* This,
731         REFIID riid,
732         void** ppvObject);
733
734     ULONG (STDMETHODCALLTYPE *AddRef)(
735         DVLCEvents* This);
736
737     ULONG (STDMETHODCALLTYPE *Release)(
738         DVLCEvents* This);
739
740     /*** IDispatch methods ***/
741     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
742         DVLCEvents* This,
743         UINT* pctinfo);
744
745     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
746         DVLCEvents* This,
747         UINT iTInfo,
748         LCID lcid,
749         ITypeInfo** ppTInfo);
750
751     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
752         DVLCEvents* This,
753         REFIID riid,
754         LPOLESTR* rgszNames,
755         UINT cNames,
756         LCID lcid,
757         DISPID* rgDispId);
758
759     HRESULT (STDMETHODCALLTYPE *Invoke)(
760         DVLCEvents* This,
761         DISPID dispIdMember,
762         REFIID riid,
763         LCID lcid,
764         WORD wFlags,
765         DISPPARAMS* pDispParams,
766         VARIANT* pVarResult,
767         EXCEPINFO* pExcepInfo,
768         UINT* puArgErr);
769
770     END_INTERFACE
771 } DVLCEventsVtbl;
772 interface DVLCEvents {
773     CONST_VTBL DVLCEventsVtbl* lpVtbl;
774 };
775
776 #ifdef COBJMACROS
777 /*** IUnknown methods ***/
778 #define DVLCEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
779 #define DVLCEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
780 #define DVLCEvents_Release(p) (p)->lpVtbl->Release(p)
781 /*** IDispatch methods ***/
782 #define DVLCEvents_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
783 #define DVLCEvents_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
784 #define DVLCEvents_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
785 #define DVLCEvents_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
786 #endif
787
788 #endif
789
790 #endif  /* __DVLCEvents_DISPINTERFACE_DEFINED__ */
791
792 /*****************************************************************************
793  * IVLCAudio interface
794  */
795 #ifndef __IVLCAudio_INTERFACE_DEFINED__
796 #define __IVLCAudio_INTERFACE_DEFINED__
797
798 DEFINE_GUID(IID_IVLCAudio, 0x9e0bd17b, 0x2d3c, 0x4656, 0xb9,0x4d, 0x03,0x08,0x4f,0x3f,0xd9,0xd4);
799 #if defined(__cplusplus) && !defined(CINTERFACE)
800 interface IVLCAudio : public IDispatch
801 {
802     virtual HRESULT STDMETHODCALLTYPE get_mute(
803         VARIANT_BOOL* muted) = 0;
804
805     virtual HRESULT STDMETHODCALLTYPE put_mute(
806         VARIANT_BOOL muted) = 0;
807
808     virtual HRESULT STDMETHODCALLTYPE get_volume(
809         long* volume) = 0;
810
811     virtual HRESULT STDMETHODCALLTYPE put_volume(
812         long volume) = 0;
813
814     virtual HRESULT STDMETHODCALLTYPE toggleMute(
815         ) = 0;
816
817     virtual HRESULT STDMETHODCALLTYPE get_track(
818         long* track) = 0;
819
820     virtual HRESULT STDMETHODCALLTYPE put_track(
821         long track) = 0;
822
823     virtual HRESULT STDMETHODCALLTYPE get_channel(
824         long* channel) = 0;
825
826     virtual HRESULT STDMETHODCALLTYPE put_channel(
827         long channel) = 0;
828
829 };
830 #else
831 typedef struct IVLCAudioVtbl {
832     BEGIN_INTERFACE
833
834     /*** IUnknown methods ***/
835     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
836         IVLCAudio* This,
837         REFIID riid,
838         void** ppvObject);
839
840     ULONG (STDMETHODCALLTYPE *AddRef)(
841         IVLCAudio* This);
842
843     ULONG (STDMETHODCALLTYPE *Release)(
844         IVLCAudio* This);
845
846     /*** IDispatch methods ***/
847     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
848         IVLCAudio* This,
849         UINT* pctinfo);
850
851     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
852         IVLCAudio* This,
853         UINT iTInfo,
854         LCID lcid,
855         ITypeInfo** ppTInfo);
856
857     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
858         IVLCAudio* This,
859         REFIID riid,
860         LPOLESTR* rgszNames,
861         UINT cNames,
862         LCID lcid,
863         DISPID* rgDispId);
864
865     HRESULT (STDMETHODCALLTYPE *Invoke)(
866         IVLCAudio* This,
867         DISPID dispIdMember,
868         REFIID riid,
869         LCID lcid,
870         WORD wFlags,
871         DISPPARAMS* pDispParams,
872         VARIANT* pVarResult,
873         EXCEPINFO* pExcepInfo,
874         UINT* puArgErr);
875
876     /*** IVLCAudio methods ***/
877     HRESULT (STDMETHODCALLTYPE *get_mute)(
878         IVLCAudio* This,
879         VARIANT_BOOL* muted);
880
881     HRESULT (STDMETHODCALLTYPE *put_mute)(
882         IVLCAudio* This,
883         VARIANT_BOOL muted);
884
885     HRESULT (STDMETHODCALLTYPE *get_volume)(
886         IVLCAudio* This,
887         long* volume);
888
889     HRESULT (STDMETHODCALLTYPE *put_volume)(
890         IVLCAudio* This,
891         long volume);
892
893     HRESULT (STDMETHODCALLTYPE *toggleMute)(
894         IVLCAudio* This);
895
896     HRESULT (STDMETHODCALLTYPE *get_track)(
897         IVLCAudio* This,
898         long* track);
899
900     HRESULT (STDMETHODCALLTYPE *put_track)(
901         IVLCAudio* This,
902         long track);
903
904     HRESULT (STDMETHODCALLTYPE *get_channel)(
905         IVLCAudio* This,
906         long* channel);
907
908     HRESULT (STDMETHODCALLTYPE *put_channel)(
909         IVLCAudio* This,
910         long channel);
911
912     END_INTERFACE
913 } IVLCAudioVtbl;
914 interface IVLCAudio {
915     CONST_VTBL IVLCAudioVtbl* lpVtbl;
916 };
917
918 #ifdef COBJMACROS
919 /*** IUnknown methods ***/
920 #define IVLCAudio_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
921 #define IVLCAudio_AddRef(p) (p)->lpVtbl->AddRef(p)
922 #define IVLCAudio_Release(p) (p)->lpVtbl->Release(p)
923 /*** IDispatch methods ***/
924 #define IVLCAudio_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
925 #define IVLCAudio_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
926 #define IVLCAudio_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
927 #define IVLCAudio_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
928 /*** IVLCAudio methods ***/
929 #define IVLCAudio_get_mute(p,a) (p)->lpVtbl->get_mute(p,a)
930 #define IVLCAudio_put_mute(p,a) (p)->lpVtbl->put_mute(p,a)
931 #define IVLCAudio_get_volume(p,a) (p)->lpVtbl->get_volume(p,a)
932 #define IVLCAudio_put_volume(p,a) (p)->lpVtbl->put_volume(p,a)
933 #define IVLCAudio_toggleMute(p) (p)->lpVtbl->toggleMute(p)
934 #define IVLCAudio_get_track(p,a) (p)->lpVtbl->get_track(p,a)
935 #define IVLCAudio_put_track(p,a) (p)->lpVtbl->put_track(p,a)
936 #define IVLCAudio_get_channel(p,a) (p)->lpVtbl->get_channel(p,a)
937 #define IVLCAudio_put_channel(p,a) (p)->lpVtbl->put_channel(p,a)
938 #endif
939
940 #endif
941
942 HRESULT CALLBACK IVLCAudio_get_mute_Proxy(
943     IVLCAudio* This,
944     VARIANT_BOOL* muted);
945 void __RPC_STUB IVLCAudio_get_mute_Stub(
946     IRpcStubBuffer* This,
947     IRpcChannelBuffer* pRpcChannelBuffer,
948     PRPC_MESSAGE pRpcMessage,
949     DWORD* pdwStubPhase);
950 HRESULT CALLBACK IVLCAudio_put_mute_Proxy(
951     IVLCAudio* This,
952     VARIANT_BOOL muted);
953 void __RPC_STUB IVLCAudio_put_mute_Stub(
954     IRpcStubBuffer* This,
955     IRpcChannelBuffer* pRpcChannelBuffer,
956     PRPC_MESSAGE pRpcMessage,
957     DWORD* pdwStubPhase);
958 HRESULT CALLBACK IVLCAudio_get_volume_Proxy(
959     IVLCAudio* This,
960     long* volume);
961 void __RPC_STUB IVLCAudio_get_volume_Stub(
962     IRpcStubBuffer* This,
963     IRpcChannelBuffer* pRpcChannelBuffer,
964     PRPC_MESSAGE pRpcMessage,
965     DWORD* pdwStubPhase);
966 HRESULT CALLBACK IVLCAudio_put_volume_Proxy(
967     IVLCAudio* This,
968     long volume);
969 void __RPC_STUB IVLCAudio_put_volume_Stub(
970     IRpcStubBuffer* This,
971     IRpcChannelBuffer* pRpcChannelBuffer,
972     PRPC_MESSAGE pRpcMessage,
973     DWORD* pdwStubPhase);
974 HRESULT CALLBACK IVLCAudio_toggleMute_Proxy(
975     IVLCAudio* This);
976 void __RPC_STUB IVLCAudio_toggleMute_Stub(
977     IRpcStubBuffer* This,
978     IRpcChannelBuffer* pRpcChannelBuffer,
979     PRPC_MESSAGE pRpcMessage,
980     DWORD* pdwStubPhase);
981 HRESULT CALLBACK IVLCAudio_get_track_Proxy(
982     IVLCAudio* This,
983     long* track);
984 void __RPC_STUB IVLCAudio_get_track_Stub(
985     IRpcStubBuffer* This,
986     IRpcChannelBuffer* pRpcChannelBuffer,
987     PRPC_MESSAGE pRpcMessage,
988     DWORD* pdwStubPhase);
989 HRESULT CALLBACK IVLCAudio_put_track_Proxy(
990     IVLCAudio* This,
991     long track);
992 void __RPC_STUB IVLCAudio_put_track_Stub(
993     IRpcStubBuffer* This,
994     IRpcChannelBuffer* pRpcChannelBuffer,
995     PRPC_MESSAGE pRpcMessage,
996     DWORD* pdwStubPhase);
997 HRESULT CALLBACK IVLCAudio_get_channel_Proxy(
998     IVLCAudio* This,
999     long* channel);
1000 void __RPC_STUB IVLCAudio_get_channel_Stub(
1001     IRpcStubBuffer* This,
1002     IRpcChannelBuffer* pRpcChannelBuffer,
1003     PRPC_MESSAGE pRpcMessage,
1004     DWORD* pdwStubPhase);
1005 HRESULT CALLBACK IVLCAudio_put_channel_Proxy(
1006     IVLCAudio* This,
1007     long channel);
1008 void __RPC_STUB IVLCAudio_put_channel_Stub(
1009     IRpcStubBuffer* This,
1010     IRpcChannelBuffer* pRpcChannelBuffer,
1011     PRPC_MESSAGE pRpcMessage,
1012     DWORD* pdwStubPhase);
1013
1014 #endif  /* __IVLCAudio_INTERFACE_DEFINED__ */
1015
1016 /*****************************************************************************
1017  * IVLCInput interface
1018  */
1019 #ifndef __IVLCInput_INTERFACE_DEFINED__
1020 #define __IVLCInput_INTERFACE_DEFINED__
1021
1022 DEFINE_GUID(IID_IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71,0x90,0xc6,0x03);
1023 #if defined(__cplusplus) && !defined(CINTERFACE)
1024 interface IVLCInput : public IDispatch
1025 {
1026     virtual HRESULT STDMETHODCALLTYPE get_length(
1027         double* length) = 0;
1028
1029     virtual HRESULT STDMETHODCALLTYPE get_position(
1030         double* position) = 0;
1031
1032     virtual HRESULT STDMETHODCALLTYPE put_position(
1033         double position) = 0;
1034
1035     virtual HRESULT STDMETHODCALLTYPE get_time(
1036         double* time) = 0;
1037
1038     virtual HRESULT STDMETHODCALLTYPE put_time(
1039         double time) = 0;
1040
1041     virtual HRESULT STDMETHODCALLTYPE get_state(
1042         long* state) = 0;
1043
1044     virtual HRESULT STDMETHODCALLTYPE get_rate(
1045         double* rate) = 0;
1046
1047     virtual HRESULT STDMETHODCALLTYPE put_rate(
1048         double rate) = 0;
1049
1050     virtual HRESULT STDMETHODCALLTYPE get_fps(
1051         double* fps) = 0;
1052
1053     virtual HRESULT STDMETHODCALLTYPE get_hasVout(
1054         VARIANT_BOOL* hasVout) = 0;
1055
1056 };
1057 #else
1058 typedef struct IVLCInputVtbl {
1059     BEGIN_INTERFACE
1060
1061     /*** IUnknown methods ***/
1062     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1063         IVLCInput* This,
1064         REFIID riid,
1065         void** ppvObject);
1066
1067     ULONG (STDMETHODCALLTYPE *AddRef)(
1068         IVLCInput* This);
1069
1070     ULONG (STDMETHODCALLTYPE *Release)(
1071         IVLCInput* This);
1072
1073     /*** IDispatch methods ***/
1074     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1075         IVLCInput* This,
1076         UINT* pctinfo);
1077
1078     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1079         IVLCInput* This,
1080         UINT iTInfo,
1081         LCID lcid,
1082         ITypeInfo** ppTInfo);
1083
1084     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1085         IVLCInput* This,
1086         REFIID riid,
1087         LPOLESTR* rgszNames,
1088         UINT cNames,
1089         LCID lcid,
1090         DISPID* rgDispId);
1091
1092     HRESULT (STDMETHODCALLTYPE *Invoke)(
1093         IVLCInput* This,
1094         DISPID dispIdMember,
1095         REFIID riid,
1096         LCID lcid,
1097         WORD wFlags,
1098         DISPPARAMS* pDispParams,
1099         VARIANT* pVarResult,
1100         EXCEPINFO* pExcepInfo,
1101         UINT* puArgErr);
1102
1103     /*** IVLCInput methods ***/
1104     HRESULT (STDMETHODCALLTYPE *get_length)(
1105         IVLCInput* This,
1106         double* length);
1107
1108     HRESULT (STDMETHODCALLTYPE *get_position)(
1109         IVLCInput* This,
1110         double* position);
1111
1112     HRESULT (STDMETHODCALLTYPE *put_position)(
1113         IVLCInput* This,
1114         double position);
1115
1116     HRESULT (STDMETHODCALLTYPE *get_time)(
1117         IVLCInput* This,
1118         double* time);
1119
1120     HRESULT (STDMETHODCALLTYPE *put_time)(
1121         IVLCInput* This,
1122         double time);
1123
1124     HRESULT (STDMETHODCALLTYPE *get_state)(
1125         IVLCInput* This,
1126         long* state);
1127
1128     HRESULT (STDMETHODCALLTYPE *get_rate)(
1129         IVLCInput* This,
1130         double* rate);
1131
1132     HRESULT (STDMETHODCALLTYPE *put_rate)(
1133         IVLCInput* This,
1134         double rate);
1135
1136     HRESULT (STDMETHODCALLTYPE *get_fps)(
1137         IVLCInput* This,
1138         double* fps);
1139
1140     HRESULT (STDMETHODCALLTYPE *get_hasVout)(
1141         IVLCInput* This,
1142         VARIANT_BOOL* hasVout);
1143
1144     END_INTERFACE
1145 } IVLCInputVtbl;
1146 interface IVLCInput {
1147     CONST_VTBL IVLCInputVtbl* lpVtbl;
1148 };
1149
1150 #ifdef COBJMACROS
1151 /*** IUnknown methods ***/
1152 #define IVLCInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1153 #define IVLCInput_AddRef(p) (p)->lpVtbl->AddRef(p)
1154 #define IVLCInput_Release(p) (p)->lpVtbl->Release(p)
1155 /*** IDispatch methods ***/
1156 #define IVLCInput_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1157 #define IVLCInput_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1158 #define IVLCInput_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1159 #define IVLCInput_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1160 /*** IVLCInput methods ***/
1161 #define IVLCInput_get_length(p,a) (p)->lpVtbl->get_length(p,a)
1162 #define IVLCInput_get_position(p,a) (p)->lpVtbl->get_position(p,a)
1163 #define IVLCInput_put_position(p,a) (p)->lpVtbl->put_position(p,a)
1164 #define IVLCInput_get_time(p,a) (p)->lpVtbl->get_time(p,a)
1165 #define IVLCInput_put_time(p,a) (p)->lpVtbl->put_time(p,a)
1166 #define IVLCInput_get_state(p,a) (p)->lpVtbl->get_state(p,a)
1167 #define IVLCInput_get_rate(p,a) (p)->lpVtbl->get_rate(p,a)
1168 #define IVLCInput_put_rate(p,a) (p)->lpVtbl->put_rate(p,a)
1169 #define IVLCInput_get_fps(p,a) (p)->lpVtbl->get_fps(p,a)
1170 #define IVLCInput_get_hasVout(p,a) (p)->lpVtbl->get_hasVout(p,a)
1171 #endif
1172
1173 #endif
1174
1175 HRESULT CALLBACK IVLCInput_get_length_Proxy(
1176     IVLCInput* This,
1177     double* length);
1178 void __RPC_STUB IVLCInput_get_length_Stub(
1179     IRpcStubBuffer* This,
1180     IRpcChannelBuffer* pRpcChannelBuffer,
1181     PRPC_MESSAGE pRpcMessage,
1182     DWORD* pdwStubPhase);
1183 HRESULT CALLBACK IVLCInput_get_position_Proxy(
1184     IVLCInput* This,
1185     double* position);
1186 void __RPC_STUB IVLCInput_get_position_Stub(
1187     IRpcStubBuffer* This,
1188     IRpcChannelBuffer* pRpcChannelBuffer,
1189     PRPC_MESSAGE pRpcMessage,
1190     DWORD* pdwStubPhase);
1191 HRESULT CALLBACK IVLCInput_put_position_Proxy(
1192     IVLCInput* This,
1193     double position);
1194 void __RPC_STUB IVLCInput_put_position_Stub(
1195     IRpcStubBuffer* This,
1196     IRpcChannelBuffer* pRpcChannelBuffer,
1197     PRPC_MESSAGE pRpcMessage,
1198     DWORD* pdwStubPhase);
1199 HRESULT CALLBACK IVLCInput_get_time_Proxy(
1200     IVLCInput* This,
1201     double* time);
1202 void __RPC_STUB IVLCInput_get_time_Stub(
1203     IRpcStubBuffer* This,
1204     IRpcChannelBuffer* pRpcChannelBuffer,
1205     PRPC_MESSAGE pRpcMessage,
1206     DWORD* pdwStubPhase);
1207 HRESULT CALLBACK IVLCInput_put_time_Proxy(
1208     IVLCInput* This,
1209     double time);
1210 void __RPC_STUB IVLCInput_put_time_Stub(
1211     IRpcStubBuffer* This,
1212     IRpcChannelBuffer* pRpcChannelBuffer,
1213     PRPC_MESSAGE pRpcMessage,
1214     DWORD* pdwStubPhase);
1215 HRESULT CALLBACK IVLCInput_get_state_Proxy(
1216     IVLCInput* This,
1217     long* state);
1218 void __RPC_STUB IVLCInput_get_state_Stub(
1219     IRpcStubBuffer* This,
1220     IRpcChannelBuffer* pRpcChannelBuffer,
1221     PRPC_MESSAGE pRpcMessage,
1222     DWORD* pdwStubPhase);
1223 HRESULT CALLBACK IVLCInput_get_rate_Proxy(
1224     IVLCInput* This,
1225     double* rate);
1226 void __RPC_STUB IVLCInput_get_rate_Stub(
1227     IRpcStubBuffer* This,
1228     IRpcChannelBuffer* pRpcChannelBuffer,
1229     PRPC_MESSAGE pRpcMessage,
1230     DWORD* pdwStubPhase);
1231 HRESULT CALLBACK IVLCInput_put_rate_Proxy(
1232     IVLCInput* This,
1233     double rate);
1234 void __RPC_STUB IVLCInput_put_rate_Stub(
1235     IRpcStubBuffer* This,
1236     IRpcChannelBuffer* pRpcChannelBuffer,
1237     PRPC_MESSAGE pRpcMessage,
1238     DWORD* pdwStubPhase);
1239 HRESULT CALLBACK IVLCInput_get_fps_Proxy(
1240     IVLCInput* This,
1241     double* fps);
1242 void __RPC_STUB IVLCInput_get_fps_Stub(
1243     IRpcStubBuffer* This,
1244     IRpcChannelBuffer* pRpcChannelBuffer,
1245     PRPC_MESSAGE pRpcMessage,
1246     DWORD* pdwStubPhase);
1247 HRESULT CALLBACK IVLCInput_get_hasVout_Proxy(
1248     IVLCInput* This,
1249     VARIANT_BOOL* hasVout);
1250 void __RPC_STUB IVLCInput_get_hasVout_Stub(
1251     IRpcStubBuffer* This,
1252     IRpcChannelBuffer* pRpcChannelBuffer,
1253     PRPC_MESSAGE pRpcMessage,
1254     DWORD* pdwStubPhase);
1255
1256 #endif  /* __IVLCInput_INTERFACE_DEFINED__ */
1257
1258 /*****************************************************************************
1259  * IVLCMessage interface
1260  */
1261 #ifndef __IVLCMessage_INTERFACE_DEFINED__
1262 #define __IVLCMessage_INTERFACE_DEFINED__
1263
1264 DEFINE_GUID(IID_IVLCMessage, 0x9ed00afa, 0x7bcd, 0x4fff, 0x8d,0x48, 0x7d,0xd4,0xdb,0x2c,0x80,0x0d);
1265 #if defined(__cplusplus) && !defined(CINTERFACE)
1266 interface IVLCMessage : public IDispatch
1267 {
1268     virtual HRESULT STDMETHODCALLTYPE get__Value(
1269         VARIANT* message) = 0;
1270
1271     virtual HRESULT STDMETHODCALLTYPE get_severity(
1272         long* level) = 0;
1273
1274     virtual HRESULT STDMETHODCALLTYPE get_type(
1275         BSTR* type) = 0;
1276
1277     virtual HRESULT STDMETHODCALLTYPE get_name(
1278         BSTR* name) = 0;
1279
1280     virtual HRESULT STDMETHODCALLTYPE get_header(
1281         BSTR* header) = 0;
1282
1283     virtual HRESULT STDMETHODCALLTYPE get_message(
1284         BSTR* message) = 0;
1285
1286 };
1287 #else
1288 typedef struct IVLCMessageVtbl {
1289     BEGIN_INTERFACE
1290
1291     /*** IUnknown methods ***/
1292     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1293         IVLCMessage* This,
1294         REFIID riid,
1295         void** ppvObject);
1296
1297     ULONG (STDMETHODCALLTYPE *AddRef)(
1298         IVLCMessage* This);
1299
1300     ULONG (STDMETHODCALLTYPE *Release)(
1301         IVLCMessage* This);
1302
1303     /*** IDispatch methods ***/
1304     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1305         IVLCMessage* This,
1306         UINT* pctinfo);
1307
1308     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1309         IVLCMessage* This,
1310         UINT iTInfo,
1311         LCID lcid,
1312         ITypeInfo** ppTInfo);
1313
1314     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1315         IVLCMessage* This,
1316         REFIID riid,
1317         LPOLESTR* rgszNames,
1318         UINT cNames,
1319         LCID lcid,
1320         DISPID* rgDispId);
1321
1322     HRESULT (STDMETHODCALLTYPE *Invoke)(
1323         IVLCMessage* This,
1324         DISPID dispIdMember,
1325         REFIID riid,
1326         LCID lcid,
1327         WORD wFlags,
1328         DISPPARAMS* pDispParams,
1329         VARIANT* pVarResult,
1330         EXCEPINFO* pExcepInfo,
1331         UINT* puArgErr);
1332
1333     /*** IVLCMessage methods ***/
1334     HRESULT (STDMETHODCALLTYPE *get__Value)(
1335         IVLCMessage* This,
1336         VARIANT* message);
1337
1338     HRESULT (STDMETHODCALLTYPE *get_severity)(
1339         IVLCMessage* This,
1340         long* level);
1341
1342     HRESULT (STDMETHODCALLTYPE *get_type)(
1343         IVLCMessage* This,
1344         BSTR* type);
1345
1346     HRESULT (STDMETHODCALLTYPE *get_name)(
1347         IVLCMessage* This,
1348         BSTR* name);
1349
1350     HRESULT (STDMETHODCALLTYPE *get_header)(
1351         IVLCMessage* This,
1352         BSTR* header);
1353
1354     HRESULT (STDMETHODCALLTYPE *get_message)(
1355         IVLCMessage* This,
1356         BSTR* message);
1357
1358     END_INTERFACE
1359 } IVLCMessageVtbl;
1360 interface IVLCMessage {
1361     CONST_VTBL IVLCMessageVtbl* lpVtbl;
1362 };
1363
1364 #ifdef COBJMACROS
1365 /*** IUnknown methods ***/
1366 #define IVLCMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1367 #define IVLCMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
1368 #define IVLCMessage_Release(p) (p)->lpVtbl->Release(p)
1369 /*** IDispatch methods ***/
1370 #define IVLCMessage_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1371 #define IVLCMessage_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1372 #define IVLCMessage_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1373 #define IVLCMessage_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1374 /*** IVLCMessage methods ***/
1375 #define IVLCMessage_get__Value(p,a) (p)->lpVtbl->get__Value(p,a)
1376 #define IVLCMessage_get_severity(p,a) (p)->lpVtbl->get_severity(p,a)
1377 #define IVLCMessage_get_type(p,a) (p)->lpVtbl->get_type(p,a)
1378 #define IVLCMessage_get_name(p,a) (p)->lpVtbl->get_name(p,a)
1379 #define IVLCMessage_get_header(p,a) (p)->lpVtbl->get_header(p,a)
1380 #define IVLCMessage_get_message(p,a) (p)->lpVtbl->get_message(p,a)
1381 #endif
1382
1383 #endif
1384
1385 HRESULT CALLBACK IVLCMessage_get__Value_Proxy(
1386     IVLCMessage* This,
1387     VARIANT* message);
1388 void __RPC_STUB IVLCMessage_get__Value_Stub(
1389     IRpcStubBuffer* This,
1390     IRpcChannelBuffer* pRpcChannelBuffer,
1391     PRPC_MESSAGE pRpcMessage,
1392     DWORD* pdwStubPhase);
1393 HRESULT CALLBACK IVLCMessage_get_severity_Proxy(
1394     IVLCMessage* This,
1395     long* level);
1396 void __RPC_STUB IVLCMessage_get_severity_Stub(
1397     IRpcStubBuffer* This,
1398     IRpcChannelBuffer* pRpcChannelBuffer,
1399     PRPC_MESSAGE pRpcMessage,
1400     DWORD* pdwStubPhase);
1401 HRESULT CALLBACK IVLCMessage_get_type_Proxy(
1402     IVLCMessage* This,
1403     BSTR* type);
1404 void __RPC_STUB IVLCMessage_get_type_Stub(
1405     IRpcStubBuffer* This,
1406     IRpcChannelBuffer* pRpcChannelBuffer,
1407     PRPC_MESSAGE pRpcMessage,
1408     DWORD* pdwStubPhase);
1409 HRESULT CALLBACK IVLCMessage_get_name_Proxy(
1410     IVLCMessage* This,
1411     BSTR* name);
1412 void __RPC_STUB IVLCMessage_get_name_Stub(
1413     IRpcStubBuffer* This,
1414     IRpcChannelBuffer* pRpcChannelBuffer,
1415     PRPC_MESSAGE pRpcMessage,
1416     DWORD* pdwStubPhase);
1417 HRESULT CALLBACK IVLCMessage_get_header_Proxy(
1418     IVLCMessage* This,
1419     BSTR* header);
1420 void __RPC_STUB IVLCMessage_get_header_Stub(
1421     IRpcStubBuffer* This,
1422     IRpcChannelBuffer* pRpcChannelBuffer,
1423     PRPC_MESSAGE pRpcMessage,
1424     DWORD* pdwStubPhase);
1425 HRESULT CALLBACK IVLCMessage_get_message_Proxy(
1426     IVLCMessage* This,
1427     BSTR* message);
1428 void __RPC_STUB IVLCMessage_get_message_Stub(
1429     IRpcStubBuffer* This,
1430     IRpcChannelBuffer* pRpcChannelBuffer,
1431     PRPC_MESSAGE pRpcMessage,
1432     DWORD* pdwStubPhase);
1433
1434 #endif  /* __IVLCMessage_INTERFACE_DEFINED__ */
1435
1436 /*****************************************************************************
1437  * IVLCMessageIterator interface
1438  */
1439 #ifndef __IVLCMessageIterator_INTERFACE_DEFINED__
1440 #define __IVLCMessageIterator_INTERFACE_DEFINED__
1441
1442 DEFINE_GUID(IID_IVLCMessageIterator, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
1443 #if defined(__cplusplus) && !defined(CINTERFACE)
1444 interface IVLCMessageIterator : public IDispatch
1445 {
1446     virtual HRESULT STDMETHODCALLTYPE get_hasNext(
1447         VARIANT_BOOL* hasNext) = 0;
1448
1449     virtual HRESULT STDMETHODCALLTYPE next(
1450         IVLCMessage** msg) = 0;
1451
1452 };
1453 #else
1454 typedef struct IVLCMessageIteratorVtbl {
1455     BEGIN_INTERFACE
1456
1457     /*** IUnknown methods ***/
1458     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1459         IVLCMessageIterator* This,
1460         REFIID riid,
1461         void** ppvObject);
1462
1463     ULONG (STDMETHODCALLTYPE *AddRef)(
1464         IVLCMessageIterator* This);
1465
1466     ULONG (STDMETHODCALLTYPE *Release)(
1467         IVLCMessageIterator* This);
1468
1469     /*** IDispatch methods ***/
1470     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1471         IVLCMessageIterator* This,
1472         UINT* pctinfo);
1473
1474     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1475         IVLCMessageIterator* This,
1476         UINT iTInfo,
1477         LCID lcid,
1478         ITypeInfo** ppTInfo);
1479
1480     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1481         IVLCMessageIterator* This,
1482         REFIID riid,
1483         LPOLESTR* rgszNames,
1484         UINT cNames,
1485         LCID lcid,
1486         DISPID* rgDispId);
1487
1488     HRESULT (STDMETHODCALLTYPE *Invoke)(
1489         IVLCMessageIterator* This,
1490         DISPID dispIdMember,
1491         REFIID riid,
1492         LCID lcid,
1493         WORD wFlags,
1494         DISPPARAMS* pDispParams,
1495         VARIANT* pVarResult,
1496         EXCEPINFO* pExcepInfo,
1497         UINT* puArgErr);
1498
1499     /*** IVLCMessageIterator methods ***/
1500     HRESULT (STDMETHODCALLTYPE *get_hasNext)(
1501         IVLCMessageIterator* This,
1502         VARIANT_BOOL* hasNext);
1503
1504     HRESULT (STDMETHODCALLTYPE *next)(
1505         IVLCMessageIterator* This,
1506         IVLCMessage** msg);
1507
1508     END_INTERFACE
1509 } IVLCMessageIteratorVtbl;
1510 interface IVLCMessageIterator {
1511     CONST_VTBL IVLCMessageIteratorVtbl* lpVtbl;
1512 };
1513
1514 #ifdef COBJMACROS
1515 /*** IUnknown methods ***/
1516 #define IVLCMessageIterator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1517 #define IVLCMessageIterator_AddRef(p) (p)->lpVtbl->AddRef(p)
1518 #define IVLCMessageIterator_Release(p) (p)->lpVtbl->Release(p)
1519 /*** IDispatch methods ***/
1520 #define IVLCMessageIterator_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1521 #define IVLCMessageIterator_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1522 #define IVLCMessageIterator_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1523 #define IVLCMessageIterator_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1524 /*** IVLCMessageIterator methods ***/
1525 #define IVLCMessageIterator_get_hasNext(p,a) (p)->lpVtbl->get_hasNext(p,a)
1526 #define IVLCMessageIterator_next(p,a) (p)->lpVtbl->next(p,a)
1527 #endif
1528
1529 #endif
1530
1531 HRESULT CALLBACK IVLCMessageIterator_get_hasNext_Proxy(
1532     IVLCMessageIterator* This,
1533     VARIANT_BOOL* hasNext);
1534 void __RPC_STUB IVLCMessageIterator_get_hasNext_Stub(
1535     IRpcStubBuffer* This,
1536     IRpcChannelBuffer* pRpcChannelBuffer,
1537     PRPC_MESSAGE pRpcMessage,
1538     DWORD* pdwStubPhase);
1539 HRESULT CALLBACK IVLCMessageIterator_next_Proxy(
1540     IVLCMessageIterator* This,
1541     IVLCMessage** msg);
1542 void __RPC_STUB IVLCMessageIterator_next_Stub(
1543     IRpcStubBuffer* This,
1544     IRpcChannelBuffer* pRpcChannelBuffer,
1545     PRPC_MESSAGE pRpcMessage,
1546     DWORD* pdwStubPhase);
1547
1548 #endif  /* __IVLCMessageIterator_INTERFACE_DEFINED__ */
1549
1550 /*****************************************************************************
1551  * IVLCMessages interface
1552  */
1553 #ifndef __IVLCMessages_INTERFACE_DEFINED__
1554 #define __IVLCMessages_INTERFACE_DEFINED__
1555
1556 DEFINE_GUID(IID_IVLCMessages, 0x6c5ce55d, 0x2d6c, 0x4aad, 0x82,0x99, 0xc6,0x2d,0x23,0x71,0xf1,0x06);
1557 #if defined(__cplusplus) && !defined(CINTERFACE)
1558 interface IVLCMessages : public IDispatch
1559 {
1560     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1561         IUnknown** _NewEnum) = 0;
1562
1563     virtual HRESULT STDMETHODCALLTYPE clear(
1564         ) = 0;
1565
1566     virtual HRESULT STDMETHODCALLTYPE get_count(
1567         long* count) = 0;
1568
1569     virtual HRESULT STDMETHODCALLTYPE iterator(
1570         IVLCMessageIterator** iter) = 0;
1571
1572 };
1573 #else
1574 typedef struct IVLCMessagesVtbl {
1575     BEGIN_INTERFACE
1576
1577     /*** IUnknown methods ***/
1578     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1579         IVLCMessages* This,
1580         REFIID riid,
1581         void** ppvObject);
1582
1583     ULONG (STDMETHODCALLTYPE *AddRef)(
1584         IVLCMessages* This);
1585
1586     ULONG (STDMETHODCALLTYPE *Release)(
1587         IVLCMessages* This);
1588
1589     /*** IDispatch methods ***/
1590     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1591         IVLCMessages* This,
1592         UINT* pctinfo);
1593
1594     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1595         IVLCMessages* This,
1596         UINT iTInfo,
1597         LCID lcid,
1598         ITypeInfo** ppTInfo);
1599
1600     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1601         IVLCMessages* This,
1602         REFIID riid,
1603         LPOLESTR* rgszNames,
1604         UINT cNames,
1605         LCID lcid,
1606         DISPID* rgDispId);
1607
1608     HRESULT (STDMETHODCALLTYPE *Invoke)(
1609         IVLCMessages* This,
1610         DISPID dispIdMember,
1611         REFIID riid,
1612         LCID lcid,
1613         WORD wFlags,
1614         DISPPARAMS* pDispParams,
1615         VARIANT* pVarResult,
1616         EXCEPINFO* pExcepInfo,
1617         UINT* puArgErr);
1618
1619     /*** IVLCMessages methods ***/
1620     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1621         IVLCMessages* This,
1622         IUnknown** _NewEnum);
1623
1624     HRESULT (STDMETHODCALLTYPE *clear)(
1625         IVLCMessages* This);
1626
1627     HRESULT (STDMETHODCALLTYPE *get_count)(
1628         IVLCMessages* This,
1629         long* count);
1630
1631     HRESULT (STDMETHODCALLTYPE *iterator)(
1632         IVLCMessages* This,
1633         IVLCMessageIterator** iter);
1634
1635     END_INTERFACE
1636 } IVLCMessagesVtbl;
1637 interface IVLCMessages {
1638     CONST_VTBL IVLCMessagesVtbl* lpVtbl;
1639 };
1640
1641 #ifdef COBJMACROS
1642 /*** IUnknown methods ***/
1643 #define IVLCMessages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1644 #define IVLCMessages_AddRef(p) (p)->lpVtbl->AddRef(p)
1645 #define IVLCMessages_Release(p) (p)->lpVtbl->Release(p)
1646 /*** IDispatch methods ***/
1647 #define IVLCMessages_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1648 #define IVLCMessages_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1649 #define IVLCMessages_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1650 #define IVLCMessages_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1651 /*** IVLCMessages methods ***/
1652 #define IVLCMessages_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
1653 #define IVLCMessages_clear(p) (p)->lpVtbl->clear(p)
1654 #define IVLCMessages_get_count(p,a) (p)->lpVtbl->get_count(p,a)
1655 #define IVLCMessages_iterator(p,a) (p)->lpVtbl->iterator(p,a)
1656 #endif
1657
1658 #endif
1659
1660 HRESULT CALLBACK IVLCMessages_get__NewEnum_Proxy(
1661     IVLCMessages* This,
1662     IUnknown** _NewEnum);
1663 void __RPC_STUB IVLCMessages_get__NewEnum_Stub(
1664     IRpcStubBuffer* This,
1665     IRpcChannelBuffer* pRpcChannelBuffer,
1666     PRPC_MESSAGE pRpcMessage,
1667     DWORD* pdwStubPhase);
1668 HRESULT CALLBACK IVLCMessages_clear_Proxy(
1669     IVLCMessages* This);
1670 void __RPC_STUB IVLCMessages_clear_Stub(
1671     IRpcStubBuffer* This,
1672     IRpcChannelBuffer* pRpcChannelBuffer,
1673     PRPC_MESSAGE pRpcMessage,
1674     DWORD* pdwStubPhase);
1675 HRESULT CALLBACK IVLCMessages_get_count_Proxy(
1676     IVLCMessages* This,
1677     long* count);
1678 void __RPC_STUB IVLCMessages_get_count_Stub(
1679     IRpcStubBuffer* This,
1680     IRpcChannelBuffer* pRpcChannelBuffer,
1681     PRPC_MESSAGE pRpcMessage,
1682     DWORD* pdwStubPhase);
1683 HRESULT CALLBACK IVLCMessages_iterator_Proxy(
1684     IVLCMessages* This,
1685     IVLCMessageIterator** iter);
1686 void __RPC_STUB IVLCMessages_iterator_Stub(
1687     IRpcStubBuffer* This,
1688     IRpcChannelBuffer* pRpcChannelBuffer,
1689     PRPC_MESSAGE pRpcMessage,
1690     DWORD* pdwStubPhase);
1691
1692 #endif  /* __IVLCMessages_INTERFACE_DEFINED__ */
1693
1694 /*****************************************************************************
1695  * IVLCLog interface
1696  */
1697 #ifndef __IVLCLog_INTERFACE_DEFINED__
1698 #define __IVLCLog_INTERFACE_DEFINED__
1699
1700 DEFINE_GUID(IID_IVLCLog, 0x8e3bc3d9, 0x62e9, 0x48fb, 0x8a,0x6d, 0x99,0x3f,0x9a,0xbc,0x4a,0x0a);
1701 #if defined(__cplusplus) && !defined(CINTERFACE)
1702 interface IVLCLog : public IDispatch
1703 {
1704     virtual HRESULT STDMETHODCALLTYPE get_messages(
1705         IVLCMessages** iter) = 0;
1706
1707     virtual HRESULT STDMETHODCALLTYPE get_verbosity(
1708         long* level) = 0;
1709
1710     virtual HRESULT STDMETHODCALLTYPE put_verbosity(
1711         long level) = 0;
1712
1713 };
1714 #else
1715 typedef struct IVLCLogVtbl {
1716     BEGIN_INTERFACE
1717
1718     /*** IUnknown methods ***/
1719     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1720         IVLCLog* This,
1721         REFIID riid,
1722         void** ppvObject);
1723
1724     ULONG (STDMETHODCALLTYPE *AddRef)(
1725         IVLCLog* This);
1726
1727     ULONG (STDMETHODCALLTYPE *Release)(
1728         IVLCLog* This);
1729
1730     /*** IDispatch methods ***/
1731     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1732         IVLCLog* This,
1733         UINT* pctinfo);
1734
1735     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1736         IVLCLog* This,
1737         UINT iTInfo,
1738         LCID lcid,
1739         ITypeInfo** ppTInfo);
1740
1741     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1742         IVLCLog* This,
1743         REFIID riid,
1744         LPOLESTR* rgszNames,
1745         UINT cNames,
1746         LCID lcid,
1747         DISPID* rgDispId);
1748
1749     HRESULT (STDMETHODCALLTYPE *Invoke)(
1750         IVLCLog* This,
1751         DISPID dispIdMember,
1752         REFIID riid,
1753         LCID lcid,
1754         WORD wFlags,
1755         DISPPARAMS* pDispParams,
1756         VARIANT* pVarResult,
1757         EXCEPINFO* pExcepInfo,
1758         UINT* puArgErr);
1759
1760     /*** IVLCLog methods ***/
1761     HRESULT (STDMETHODCALLTYPE *get_messages)(
1762         IVLCLog* This,
1763         IVLCMessages** iter);
1764
1765     HRESULT (STDMETHODCALLTYPE *get_verbosity)(
1766         IVLCLog* This,
1767         long* level);
1768
1769     HRESULT (STDMETHODCALLTYPE *put_verbosity)(
1770         IVLCLog* This,
1771         long level);
1772
1773     END_INTERFACE
1774 } IVLCLogVtbl;
1775 interface IVLCLog {
1776     CONST_VTBL IVLCLogVtbl* lpVtbl;
1777 };
1778
1779 #ifdef COBJMACROS
1780 /*** IUnknown methods ***/
1781 #define IVLCLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1782 #define IVLCLog_AddRef(p) (p)->lpVtbl->AddRef(p)
1783 #define IVLCLog_Release(p) (p)->lpVtbl->Release(p)
1784 /*** IDispatch methods ***/
1785 #define IVLCLog_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1786 #define IVLCLog_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1787 #define IVLCLog_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1788 #define IVLCLog_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1789 /*** IVLCLog methods ***/
1790 #define IVLCLog_get_messages(p,a) (p)->lpVtbl->get_messages(p,a)
1791 #define IVLCLog_get_verbosity(p,a) (p)->lpVtbl->get_verbosity(p,a)
1792 #define IVLCLog_put_verbosity(p,a) (p)->lpVtbl->put_verbosity(p,a)
1793 #endif
1794
1795 #endif
1796
1797 HRESULT CALLBACK IVLCLog_get_messages_Proxy(
1798     IVLCLog* This,
1799     IVLCMessages** iter);
1800 void __RPC_STUB IVLCLog_get_messages_Stub(
1801     IRpcStubBuffer* This,
1802     IRpcChannelBuffer* pRpcChannelBuffer,
1803     PRPC_MESSAGE pRpcMessage,
1804     DWORD* pdwStubPhase);
1805 HRESULT CALLBACK IVLCLog_get_verbosity_Proxy(
1806     IVLCLog* This,
1807     long* level);
1808 void __RPC_STUB IVLCLog_get_verbosity_Stub(
1809     IRpcStubBuffer* This,
1810     IRpcChannelBuffer* pRpcChannelBuffer,
1811     PRPC_MESSAGE pRpcMessage,
1812     DWORD* pdwStubPhase);
1813 HRESULT CALLBACK IVLCLog_put_verbosity_Proxy(
1814     IVLCLog* This,
1815     long level);
1816 void __RPC_STUB IVLCLog_put_verbosity_Stub(
1817     IRpcStubBuffer* This,
1818     IRpcChannelBuffer* pRpcChannelBuffer,
1819     PRPC_MESSAGE pRpcMessage,
1820     DWORD* pdwStubPhase);
1821
1822 #endif  /* __IVLCLog_INTERFACE_DEFINED__ */
1823
1824 #ifndef __IVLCPlaylistItems_FWD_DEFINED__
1825 #define __IVLCPlaylistItems_FWD_DEFINED__
1826 typedef interface IVLCPlaylistItems IVLCPlaylistItems;
1827 #endif
1828
1829 /*****************************************************************************
1830  * IVLCPlaylistItems interface
1831  */
1832 #ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__
1833 #define __IVLCPlaylistItems_INTERFACE_DEFINED__
1834
1835 DEFINE_GUID(IID_IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d);
1836 #if defined(__cplusplus) && !defined(CINTERFACE)
1837 interface IVLCPlaylistItems : public IDispatch
1838 {
1839     virtual HRESULT STDMETHODCALLTYPE get_count(
1840         long* count) = 0;
1841
1842     virtual HRESULT STDMETHODCALLTYPE clear(
1843         ) = 0;
1844
1845     virtual HRESULT STDMETHODCALLTYPE remove(
1846         long itemId) = 0;
1847
1848 };
1849 #else
1850 typedef struct IVLCPlaylistItemsVtbl {
1851     BEGIN_INTERFACE
1852
1853     /*** IUnknown methods ***/
1854     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1855         IVLCPlaylistItems* This,
1856         REFIID riid,
1857         void** ppvObject);
1858
1859     ULONG (STDMETHODCALLTYPE *AddRef)(
1860         IVLCPlaylistItems* This);
1861
1862     ULONG (STDMETHODCALLTYPE *Release)(
1863         IVLCPlaylistItems* This);
1864
1865     /*** IDispatch methods ***/
1866     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1867         IVLCPlaylistItems* This,
1868         UINT* pctinfo);
1869
1870     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1871         IVLCPlaylistItems* This,
1872         UINT iTInfo,
1873         LCID lcid,
1874         ITypeInfo** ppTInfo);
1875
1876     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1877         IVLCPlaylistItems* This,
1878         REFIID riid,
1879         LPOLESTR* rgszNames,
1880         UINT cNames,
1881         LCID lcid,
1882         DISPID* rgDispId);
1883
1884     HRESULT (STDMETHODCALLTYPE *Invoke)(
1885         IVLCPlaylistItems* This,
1886         DISPID dispIdMember,
1887         REFIID riid,
1888         LCID lcid,
1889         WORD wFlags,
1890         DISPPARAMS* pDispParams,
1891         VARIANT* pVarResult,
1892         EXCEPINFO* pExcepInfo,
1893         UINT* puArgErr);
1894
1895     /*** IVLCPlaylistItems methods ***/
1896     HRESULT (STDMETHODCALLTYPE *get_count)(
1897         IVLCPlaylistItems* This,
1898         long* count);
1899
1900     HRESULT (STDMETHODCALLTYPE *clear)(
1901         IVLCPlaylistItems* This);
1902
1903     HRESULT (STDMETHODCALLTYPE *remove)(
1904         IVLCPlaylistItems* This,
1905         long itemId);
1906
1907     END_INTERFACE
1908 } IVLCPlaylistItemsVtbl;
1909 interface IVLCPlaylistItems {
1910     CONST_VTBL IVLCPlaylistItemsVtbl* lpVtbl;
1911 };
1912
1913 #ifdef COBJMACROS
1914 /*** IUnknown methods ***/
1915 #define IVLCPlaylistItems_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1916 #define IVLCPlaylistItems_AddRef(p) (p)->lpVtbl->AddRef(p)
1917 #define IVLCPlaylistItems_Release(p) (p)->lpVtbl->Release(p)
1918 /*** IDispatch methods ***/
1919 #define IVLCPlaylistItems_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1920 #define IVLCPlaylistItems_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1921 #define IVLCPlaylistItems_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1922 #define IVLCPlaylistItems_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1923 /*** IVLCPlaylistItems methods ***/
1924 #define IVLCPlaylistItems_get_count(p,a) (p)->lpVtbl->get_count(p,a)
1925 #define IVLCPlaylistItems_clear(p) (p)->lpVtbl->clear(p)
1926 #define IVLCPlaylistItems_remove(p,a) (p)->lpVtbl->remove(p,a)
1927 #endif
1928
1929 #endif
1930
1931 HRESULT CALLBACK IVLCPlaylistItems_get_count_Proxy(
1932     IVLCPlaylistItems* This,
1933     long* count);
1934 void __RPC_STUB IVLCPlaylistItems_get_count_Stub(
1935     IRpcStubBuffer* This,
1936     IRpcChannelBuffer* pRpcChannelBuffer,
1937     PRPC_MESSAGE pRpcMessage,
1938     DWORD* pdwStubPhase);
1939 HRESULT CALLBACK IVLCPlaylistItems_clear_Proxy(
1940     IVLCPlaylistItems* This);
1941 void __RPC_STUB IVLCPlaylistItems_clear_Stub(
1942     IRpcStubBuffer* This,
1943     IRpcChannelBuffer* pRpcChannelBuffer,
1944     PRPC_MESSAGE pRpcMessage,
1945     DWORD* pdwStubPhase);
1946 HRESULT CALLBACK IVLCPlaylistItems_remove_Proxy(
1947     IVLCPlaylistItems* This,
1948     long itemId);
1949 void __RPC_STUB IVLCPlaylistItems_remove_Stub(
1950     IRpcStubBuffer* This,
1951     IRpcChannelBuffer* pRpcChannelBuffer,
1952     PRPC_MESSAGE pRpcMessage,
1953     DWORD* pdwStubPhase);
1954
1955 #endif  /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
1956
1957 /*****************************************************************************
1958  * IVLCPlaylist interface
1959  */
1960 #ifndef __IVLCPlaylist_INTERFACE_DEFINED__
1961 #define __IVLCPlaylist_INTERFACE_DEFINED__
1962
1963 DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
1964 #if defined(__cplusplus) && !defined(CINTERFACE)
1965 interface IVLCPlaylist : public IDispatch
1966 {
1967     virtual HRESULT STDMETHODCALLTYPE get_itemCount(
1968         long* count) = 0;
1969
1970     virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
1971         VARIANT_BOOL* playing) = 0;
1972
1973     virtual HRESULT STDMETHODCALLTYPE add(
1974         BSTR uri,
1975         VARIANT name,
1976         VARIANT options,
1977         long* itemId) = 0;
1978
1979     virtual HRESULT STDMETHODCALLTYPE play(
1980         ) = 0;
1981
1982     virtual HRESULT STDMETHODCALLTYPE playItem(
1983         long itemId) = 0;
1984
1985     virtual HRESULT STDMETHODCALLTYPE togglePause(
1986         ) = 0;
1987
1988     virtual HRESULT STDMETHODCALLTYPE stop(
1989         ) = 0;
1990
1991     virtual HRESULT STDMETHODCALLTYPE next(
1992         ) = 0;
1993
1994     virtual HRESULT STDMETHODCALLTYPE prev(
1995         ) = 0;
1996
1997     virtual HRESULT STDMETHODCALLTYPE clear(
1998         ) = 0;
1999
2000     virtual HRESULT STDMETHODCALLTYPE removeItem(
2001         long item) = 0;
2002
2003     virtual HRESULT STDMETHODCALLTYPE get_items(
2004         IVLCPlaylistItems** obj) = 0;
2005
2006 };
2007 #else
2008 typedef struct IVLCPlaylistVtbl {
2009     BEGIN_INTERFACE
2010
2011     /*** IUnknown methods ***/
2012     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2013         IVLCPlaylist* This,
2014         REFIID riid,
2015         void** ppvObject);
2016
2017     ULONG (STDMETHODCALLTYPE *AddRef)(
2018         IVLCPlaylist* This);
2019
2020     ULONG (STDMETHODCALLTYPE *Release)(
2021         IVLCPlaylist* This);
2022
2023     /*** IDispatch methods ***/
2024     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2025         IVLCPlaylist* This,
2026         UINT* pctinfo);
2027
2028     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2029         IVLCPlaylist* This,
2030         UINT iTInfo,
2031         LCID lcid,
2032         ITypeInfo** ppTInfo);
2033
2034     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2035         IVLCPlaylist* This,
2036         REFIID riid,
2037         LPOLESTR* rgszNames,
2038         UINT cNames,
2039         LCID lcid,
2040         DISPID* rgDispId);
2041
2042     HRESULT (STDMETHODCALLTYPE *Invoke)(
2043         IVLCPlaylist* This,
2044         DISPID dispIdMember,
2045         REFIID riid,
2046         LCID lcid,
2047         WORD wFlags,
2048         DISPPARAMS* pDispParams,
2049         VARIANT* pVarResult,
2050         EXCEPINFO* pExcepInfo,
2051         UINT* puArgErr);
2052
2053     /*** IVLCPlaylist methods ***/
2054     HRESULT (STDMETHODCALLTYPE *get_itemCount)(
2055         IVLCPlaylist* This,
2056         long* count);
2057
2058     HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
2059         IVLCPlaylist* This,
2060         VARIANT_BOOL* playing);
2061
2062     HRESULT (STDMETHODCALLTYPE *add)(
2063         IVLCPlaylist* This,
2064         BSTR uri,
2065         VARIANT name,
2066         VARIANT options,
2067         long* itemId);
2068
2069     HRESULT (STDMETHODCALLTYPE *play)(
2070         IVLCPlaylist* This);
2071
2072     HRESULT (STDMETHODCALLTYPE *playItem)(
2073         IVLCPlaylist* This,
2074         long itemId);
2075
2076     HRESULT (STDMETHODCALLTYPE *togglePause)(
2077         IVLCPlaylist* This);
2078
2079     HRESULT (STDMETHODCALLTYPE *stop)(
2080         IVLCPlaylist* This);
2081
2082     HRESULT (STDMETHODCALLTYPE *next)(
2083         IVLCPlaylist* This);
2084
2085     HRESULT (STDMETHODCALLTYPE *prev)(
2086         IVLCPlaylist* This);
2087
2088     HRESULT (STDMETHODCALLTYPE *clear)(
2089         IVLCPlaylist* This);
2090
2091     HRESULT (STDMETHODCALLTYPE *removeItem)(
2092         IVLCPlaylist* This,
2093         long item);
2094
2095     HRESULT (STDMETHODCALLTYPE *get_items)(
2096         IVLCPlaylist* This,
2097         IVLCPlaylistItems** obj);
2098
2099     END_INTERFACE
2100 } IVLCPlaylistVtbl;
2101 interface IVLCPlaylist {
2102     CONST_VTBL IVLCPlaylistVtbl* lpVtbl;
2103 };
2104
2105 #ifdef COBJMACROS
2106 /*** IUnknown methods ***/
2107 #define IVLCPlaylist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2108 #define IVLCPlaylist_AddRef(p) (p)->lpVtbl->AddRef(p)
2109 #define IVLCPlaylist_Release(p) (p)->lpVtbl->Release(p)
2110 /*** IDispatch methods ***/
2111 #define IVLCPlaylist_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
2112 #define IVLCPlaylist_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
2113 #define IVLCPlaylist_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
2114 #define IVLCPlaylist_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
2115 /*** IVLCPlaylist methods ***/
2116 #define IVLCPlaylist_get_itemCount(p,a) (p)->lpVtbl->get_itemCount(p,a)
2117 #define IVLCPlaylist_get_isPlaying(p,a) (p)->lpVtbl->get_isPlaying(p,a)
2118 #define IVLCPlaylist_add(p,a,b,c,d) (p)->lpVtbl->add(p,a,b,c,d)
2119 #define IVLCPlaylist_play(p) (p)->lpVtbl->play(p)
2120 #define IVLCPlaylist_playItem(p,a) (p)->lpVtbl->playItem(p,a)
2121 #define IVLCPlaylist_togglePause(p) (p)->lpVtbl->togglePause(p)
2122 #define IVLCPlaylist_stop(p) (p)->lpVtbl->stop(p)
2123 #define IVLCPlaylist_next(p) (p)->lpVtbl->next(p)
2124 #define IVLCPlaylist_prev(p) (p)->lpVtbl->prev(p)
2125 #define IVLCPlaylist_clear(p) (p)->lpVtbl->clear(p)
2126 #define IVLCPlaylist_removeItem(p,a) (p)->lpVtbl->removeItem(p,a)
2127 #define IVLCPlaylist_get_items(p,a) (p)->lpVtbl->get_items(p,a)
2128 #endif
2129
2130 #endif
2131
2132 HRESULT CALLBACK IVLCPlaylist_get_itemCount_Proxy(
2133     IVLCPlaylist* This,
2134     long* count);
2135 void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
2136     IRpcStubBuffer* This,
2137     IRpcChannelBuffer* pRpcChannelBuffer,
2138     PRPC_MESSAGE pRpcMessage,
2139     DWORD* pdwStubPhase);
2140 HRESULT CALLBACK IVLCPlaylist_get_isPlaying_Proxy(
2141     IVLCPlaylist* This,
2142     VARIANT_BOOL* playing);
2143 void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
2144     IRpcStubBuffer* This,
2145     IRpcChannelBuffer* pRpcChannelBuffer,
2146     PRPC_MESSAGE pRpcMessage,
2147     DWORD* pdwStubPhase);
2148 HRESULT CALLBACK IVLCPlaylist_add_Proxy(
2149     IVLCPlaylist* This,
2150     BSTR uri,
2151     VARIANT name,
2152     VARIANT options,
2153     long* itemId);
2154 void __RPC_STUB IVLCPlaylist_add_Stub(
2155     IRpcStubBuffer* This,
2156     IRpcChannelBuffer* pRpcChannelBuffer,
2157     PRPC_MESSAGE pRpcMessage,
2158     DWORD* pdwStubPhase);
2159 HRESULT CALLBACK IVLCPlaylist_play_Proxy(
2160     IVLCPlaylist* This);
2161 void __RPC_STUB IVLCPlaylist_play_Stub(
2162     IRpcStubBuffer* This,
2163     IRpcChannelBuffer* pRpcChannelBuffer,
2164     PRPC_MESSAGE pRpcMessage,
2165     DWORD* pdwStubPhase);
2166 HRESULT CALLBACK IVLCPlaylist_playItem_Proxy(
2167     IVLCPlaylist* This,
2168     long itemId);
2169 void __RPC_STUB IVLCPlaylist_playItem_Stub(
2170     IRpcStubBuffer* This,
2171     IRpcChannelBuffer* pRpcChannelBuffer,
2172     PRPC_MESSAGE pRpcMessage,
2173     DWORD* pdwStubPhase);
2174 HRESULT CALLBACK IVLCPlaylist_togglePause_Proxy(
2175     IVLCPlaylist* This);
2176 void __RPC_STUB IVLCPlaylist_togglePause_Stub(
2177     IRpcStubBuffer* This,
2178     IRpcChannelBuffer* pRpcChannelBuffer,
2179     PRPC_MESSAGE pRpcMessage,
2180     DWORD* pdwStubPhase);
2181 HRESULT CALLBACK IVLCPlaylist_stop_Proxy(
2182     IVLCPlaylist* This);
2183 void __RPC_STUB IVLCPlaylist_stop_Stub(
2184     IRpcStubBuffer* This,
2185     IRpcChannelBuffer* pRpcChannelBuffer,
2186     PRPC_MESSAGE pRpcMessage,
2187     DWORD* pdwStubPhase);
2188 HRESULT CALLBACK IVLCPlaylist_next_Proxy(
2189     IVLCPlaylist* This);
2190 void __RPC_STUB IVLCPlaylist_next_Stub(
2191     IRpcStubBuffer* This,
2192     IRpcChannelBuffer* pRpcChannelBuffer,
2193     PRPC_MESSAGE pRpcMessage,
2194     DWORD* pdwStubPhase);
2195 HRESULT CALLBACK IVLCPlaylist_prev_Proxy(
2196     IVLCPlaylist* This);
2197 void __RPC_STUB IVLCPlaylist_prev_Stub(
2198     IRpcStubBuffer* This,
2199     IRpcChannelBuffer* pRpcChannelBuffer,
2200     PRPC_MESSAGE pRpcMessage,
2201     DWORD* pdwStubPhase);
2202 HRESULT CALLBACK IVLCPlaylist_clear_Proxy(
2203     IVLCPlaylist* This);
2204 void __RPC_STUB IVLCPlaylist_clear_Stub(
2205     IRpcStubBuffer* This,
2206     IRpcChannelBuffer* pRpcChannelBuffer,
2207     PRPC_MESSAGE pRpcMessage,
2208     DWORD* pdwStubPhase);
2209 HRESULT CALLBACK IVLCPlaylist_removeItem_Proxy(
2210     IVLCPlaylist* This,
2211     long item);
2212 void __RPC_STUB IVLCPlaylist_removeItem_Stub(
2213     IRpcStubBuffer* This,
2214     IRpcChannelBuffer* pRpcChannelBuffer,
2215     PRPC_MESSAGE pRpcMessage,
2216     DWORD* pdwStubPhase);
2217 HRESULT CALLBACK IVLCPlaylist_get_items_Proxy(
2218     IVLCPlaylist* This,
2219     IVLCPlaylistItems** obj);
2220 void __RPC_STUB IVLCPlaylist_get_items_Stub(
2221     IRpcStubBuffer* This,
2222     IRpcChannelBuffer* pRpcChannelBuffer,
2223     PRPC_MESSAGE pRpcMessage,
2224     DWORD* pdwStubPhase);
2225
2226 #endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
2227
2228 /*****************************************************************************
2229  * IVLCVideo interface
2230  */
2231 #ifndef __IVLCVideo_INTERFACE_DEFINED__
2232 #define __IVLCVideo_INTERFACE_DEFINED__
2233
2234 DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
2235 #if defined(__cplusplus) && !defined(CINTERFACE)
2236 interface IVLCVideo : public IDispatch
2237 {
2238     virtual HRESULT STDMETHODCALLTYPE get_fullscreen(
2239         VARIANT_BOOL* fullscreen) = 0;
2240
2241     virtual HRESULT STDMETHODCALLTYPE put_fullscreen(
2242         VARIANT_BOOL fullscreen) = 0;
2243
2244     virtual HRESULT STDMETHODCALLTYPE get_width(
2245         long* width) = 0;
2246
2247     virtual HRESULT STDMETHODCALLTYPE get_height(
2248         long* height) = 0;
2249
2250     virtual HRESULT STDMETHODCALLTYPE get_aspectRatio(
2251         BSTR* aspect) = 0;
2252
2253     virtual HRESULT STDMETHODCALLTYPE put_aspectRatio(
2254         BSTR aspect) = 0;
2255
2256     virtual HRESULT STDMETHODCALLTYPE get_subtitle(
2257         long* spu) = 0;
2258
2259     virtual HRESULT STDMETHODCALLTYPE put_subtitle(
2260         long spu) = 0;
2261
2262     virtual HRESULT STDMETHODCALLTYPE get_crop(
2263         BSTR* geometry) = 0;
2264
2265     virtual HRESULT STDMETHODCALLTYPE put_crop(
2266         BSTR geometry) = 0;
2267
2268     virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
2269         ) = 0;
2270
2271     virtual HRESULT STDMETHODCALLTYPE takeSnapshot(
2272         IPictureDisp** picture) = 0;
2273
2274 };
2275 #else
2276 typedef struct IVLCVideoVtbl {
2277     BEGIN_INTERFACE
2278
2279     /*** IUnknown methods ***/
2280     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2281         IVLCVideo* This,
2282         REFIID riid,
2283         void** ppvObject);
2284
2285     ULONG (STDMETHODCALLTYPE *AddRef)(
2286         IVLCVideo* This);
2287
2288     ULONG (STDMETHODCALLTYPE *Release)(
2289         IVLCVideo* This);
2290
2291     /*** IDispatch methods ***/
2292     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2293         IVLCVideo* This,
2294         UINT* pctinfo);
2295
2296     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2297         IVLCVideo* This,
2298         UINT iTInfo,
2299         LCID lcid,
2300         ITypeInfo** ppTInfo);
2301
2302     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2303         IVLCVideo* This,
2304         REFIID riid,
2305         LPOLESTR* rgszNames,
2306         UINT cNames,
2307         LCID lcid,
2308         DISPID* rgDispId);
2309
2310     HRESULT (STDMETHODCALLTYPE *Invoke)(
2311         IVLCVideo* This,
2312         DISPID dispIdMember,
2313         REFIID riid,
2314         LCID lcid,
2315         WORD wFlags,
2316         DISPPARAMS* pDispParams,
2317         VARIANT* pVarResult,
2318         EXCEPINFO* pExcepInfo,
2319         UINT* puArgErr);
2320
2321     /*** IVLCVideo methods ***/
2322     HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
2323         IVLCVideo* This,
2324         VARIANT_BOOL* fullscreen);
2325
2326     HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
2327         IVLCVideo* This,
2328         VARIANT_BOOL fullscreen);
2329
2330     HRESULT (STDMETHODCALLTYPE *get_width)(
2331         IVLCVideo* This,
2332         long* width);
2333
2334     HRESULT (STDMETHODCALLTYPE *get_height)(
2335         IVLCVideo* This,
2336         long* height);
2337
2338     HRESULT (STDMETHODCALLTYPE *get_aspectRatio)(
2339         IVLCVideo* This,
2340         BSTR* aspect);
2341
2342     HRESULT (STDMETHODCALLTYPE *put_aspectRatio)(
2343         IVLCVideo* This,
2344         BSTR aspect);
2345
2346     HRESULT (STDMETHODCALLTYPE *get_subtitle)(
2347         IVLCVideo* This,
2348         long* spu);
2349
2350     HRESULT (STDMETHODCALLTYPE *put_subtitle)(
2351         IVLCVideo* This,
2352         long spu);
2353
2354     HRESULT (STDMETHODCALLTYPE *get_crop)(
2355         IVLCVideo* This,
2356         BSTR* geometry);
2357
2358     HRESULT (STDMETHODCALLTYPE *put_crop)(
2359         IVLCVideo* This,
2360         BSTR geometry);
2361
2362     HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
2363         IVLCVideo* This);
2364
2365     HRESULT (STDMETHODCALLTYPE *takeSnapshot)(
2366         IVLCVideo* This,
2367         IPictureDisp** picture);
2368
2369     END_INTERFACE
2370 } IVLCVideoVtbl;
2371 interface IVLCVideo {
2372     CONST_VTBL IVLCVideoVtbl* lpVtbl;
2373 };
2374
2375 #ifdef COBJMACROS
2376 /*** IUnknown methods ***/
2377 #define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2378 #define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
2379 #define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
2380 /*** IDispatch methods ***/
2381 #define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
2382 #define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
2383 #define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
2384 #define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
2385 /*** IVLCVideo methods ***/
2386 #define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
2387 #define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
2388 #define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
2389 #define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
2390 #define IVLCVideo_get_aspectRatio(p,a) (p)->lpVtbl->get_aspectRatio(p,a)
2391 #define IVLCVideo_put_aspectRatio(p,a) (p)->lpVtbl->put_aspectRatio(p,a)
2392 #define IVLCVideo_get_subtitle(p,a) (p)->lpVtbl->get_subtitle(p,a)
2393 #define IVLCVideo_put_subtitle(p,a) (p)->lpVtbl->put_subtitle(p,a)
2394 #define IVLCVideo_get_crop(p,a) (p)->lpVtbl->get_crop(p,a)
2395 #define IVLCVideo_put_crop(p,a) (p)->lpVtbl->put_crop(p,a)
2396 #define IVLCVideo_toggleFullscreen(p) (p)->lpVtbl->toggleFullscreen(p)
2397 #define IVLCVideo_takeSnapshot(p,a) (p)->lpVtbl->takeSnapshot(p,a)
2398 #endif
2399
2400 #endif
2401
2402 HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
2403     IVLCVideo* This,
2404     VARIANT_BOOL* fullscreen);
2405 void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
2406     IRpcStubBuffer* This,
2407     IRpcChannelBuffer* pRpcChannelBuffer,
2408     PRPC_MESSAGE pRpcMessage,
2409     DWORD* pdwStubPhase);
2410 HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
2411     IVLCVideo* This,
2412     VARIANT_BOOL fullscreen);
2413 void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
2414     IRpcStubBuffer* This,
2415     IRpcChannelBuffer* pRpcChannelBuffer,
2416     PRPC_MESSAGE pRpcMessage,
2417     DWORD* pdwStubPhase);
2418 HRESULT CALLBACK IVLCVideo_get_width_Proxy(
2419     IVLCVideo* This,
2420     long* width);
2421 void __RPC_STUB IVLCVideo_get_width_Stub(
2422     IRpcStubBuffer* This,
2423     IRpcChannelBuffer* pRpcChannelBuffer,
2424     PRPC_MESSAGE pRpcMessage,
2425     DWORD* pdwStubPhase);
2426 HRESULT CALLBACK IVLCVideo_get_height_Proxy(
2427     IVLCVideo* This,
2428     long* height);
2429 void __RPC_STUB IVLCVideo_get_height_Stub(
2430     IRpcStubBuffer* This,
2431     IRpcChannelBuffer* pRpcChannelBuffer,
2432     PRPC_MESSAGE pRpcMessage,
2433     DWORD* pdwStubPhase);
2434 HRESULT CALLBACK IVLCVideo_get_aspectRatio_Proxy(
2435     IVLCVideo* This,
2436     BSTR* aspect);
2437 void __RPC_STUB IVLCVideo_get_aspectRatio_Stub(
2438     IRpcStubBuffer* This,
2439     IRpcChannelBuffer* pRpcChannelBuffer,
2440     PRPC_MESSAGE pRpcMessage,
2441     DWORD* pdwStubPhase);
2442 HRESULT CALLBACK IVLCVideo_put_aspectRatio_Proxy(
2443     IVLCVideo* This,
2444     BSTR aspect);
2445 void __RPC_STUB IVLCVideo_put_aspectRatio_Stub(
2446     IRpcStubBuffer* This,
2447     IRpcChannelBuffer* pRpcChannelBuffer,
2448     PRPC_MESSAGE pRpcMessage,
2449     DWORD* pdwStubPhase);
2450 HRESULT CALLBACK IVLCVideo_get_subtitle_Proxy(
2451     IVLCVideo* This,
2452     long* spu);
2453 void __RPC_STUB IVLCVideo_get_subtitle_Stub(
2454     IRpcStubBuffer* This,
2455     IRpcChannelBuffer* pRpcChannelBuffer,
2456     PRPC_MESSAGE pRpcMessage,
2457     DWORD* pdwStubPhase);
2458 HRESULT CALLBACK IVLCVideo_put_subtitle_Proxy(
2459     IVLCVideo* This,
2460     long spu);
2461 void __RPC_STUB IVLCVideo_put_subtitle_Stub(
2462     IRpcStubBuffer* This,
2463     IRpcChannelBuffer* pRpcChannelBuffer,
2464     PRPC_MESSAGE pRpcMessage,
2465     DWORD* pdwStubPhase);
2466 HRESULT CALLBACK IVLCVideo_get_crop_Proxy(
2467     IVLCVideo* This,
2468     BSTR* geometry);
2469 void __RPC_STUB IVLCVideo_get_crop_Stub(
2470     IRpcStubBuffer* This,
2471     IRpcChannelBuffer* pRpcChannelBuffer,
2472     PRPC_MESSAGE pRpcMessage,
2473     DWORD* pdwStubPhase);
2474 HRESULT CALLBACK IVLCVideo_put_crop_Proxy(
2475     IVLCVideo* This,
2476     BSTR geometry);
2477 void __RPC_STUB IVLCVideo_put_crop_Stub(
2478     IRpcStubBuffer* This,
2479     IRpcChannelBuffer* pRpcChannelBuffer,
2480     PRPC_MESSAGE pRpcMessage,
2481     DWORD* pdwStubPhase);
2482 HRESULT CALLBACK IVLCVideo_toggleFullscreen_Proxy(
2483     IVLCVideo* This);
2484 void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
2485     IRpcStubBuffer* This,
2486     IRpcChannelBuffer* pRpcChannelBuffer,
2487     PRPC_MESSAGE pRpcMessage,
2488     DWORD* pdwStubPhase);
2489 HRESULT CALLBACK IVLCVideo_takeSnapshot_Proxy(
2490     IVLCVideo* This,
2491     IPictureDisp** picture);
2492 void __RPC_STUB IVLCVideo_takeSnapshot_Stub(
2493     IRpcStubBuffer* This,
2494     IRpcChannelBuffer* pRpcChannelBuffer,
2495     PRPC_MESSAGE pRpcMessage,
2496     DWORD* pdwStubPhase);
2497
2498 #endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
2499
2500 /*****************************************************************************
2501  * IVLCControl2 interface
2502  */
2503 #ifndef __IVLCControl2_INTERFACE_DEFINED__
2504 #define __IVLCControl2_INTERFACE_DEFINED__
2505
2506 DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
2507 #if defined(__cplusplus) && !defined(CINTERFACE)
2508 interface IVLCControl2 : public IDispatch
2509 {
2510     virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
2511         VARIANT_BOOL* autoloop) = 0;
2512
2513     virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
2514         VARIANT_BOOL autoloop) = 0;
2515
2516     virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
2517         VARIANT_BOOL* autoplay) = 0;
2518
2519     virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
2520         VARIANT_BOOL autoplay) = 0;
2521
2522     virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
2523         BSTR* url) = 0;
2524
2525     virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
2526         BSTR url) = 0;
2527
2528     virtual HRESULT STDMETHODCALLTYPE get_StartTime(
2529         long* seconds) = 0;
2530
2531     virtual HRESULT STDMETHODCALLTYPE put_StartTime(
2532         long seconds) = 0;
2533
2534     virtual HRESULT STDMETHODCALLTYPE get_MRL(
2535         BSTR* mrl) = 0;
2536
2537     virtual HRESULT STDMETHODCALLTYPE put_MRL(
2538         BSTR mrl) = 0;
2539
2540     virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
2541         BSTR* version) = 0;
2542
2543     virtual HRESULT STDMETHODCALLTYPE get_Visible(
2544         VARIANT_BOOL* visible) = 0;
2545
2546     virtual HRESULT STDMETHODCALLTYPE put_Visible(
2547         VARIANT_BOOL visible) = 0;
2548
2549     virtual HRESULT STDMETHODCALLTYPE get_Volume(
2550         long* volume) = 0;
2551
2552     virtual HRESULT STDMETHODCALLTYPE put_Volume(
2553         long volume) = 0;
2554
2555     virtual HRESULT STDMETHODCALLTYPE get_audio(
2556         IVLCAudio** obj) = 0;
2557
2558     virtual HRESULT STDMETHODCALLTYPE get_input(
2559         IVLCInput** obj) = 0;
2560
2561     virtual HRESULT STDMETHODCALLTYPE get_log(
2562         IVLCLog** obj) = 0;
2563
2564     virtual HRESULT STDMETHODCALLTYPE get_playlist(
2565         IVLCPlaylist** obj) = 0;
2566
2567     virtual HRESULT STDMETHODCALLTYPE get_video(
2568         IVLCVideo** obj) = 0;
2569
2570 };
2571 #else
2572 typedef struct IVLCControl2Vtbl {
2573     BEGIN_INTERFACE
2574
2575     /*** IUnknown methods ***/
2576     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2577         IVLCControl2* This,
2578         REFIID riid,
2579         void** ppvObject);
2580
2581     ULONG (STDMETHODCALLTYPE *AddRef)(
2582         IVLCControl2* This);
2583
2584     ULONG (STDMETHODCALLTYPE *Release)(
2585         IVLCControl2* This);
2586
2587     /*** IDispatch methods ***/
2588     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2589         IVLCControl2* This,
2590         UINT* pctinfo);
2591
2592     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2593         IVLCControl2* This,
2594         UINT iTInfo,
2595         LCID lcid,
2596         ITypeInfo** ppTInfo);
2597
2598     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2599         IVLCControl2* This,
2600         REFIID riid,
2601         LPOLESTR* rgszNames,
2602         UINT cNames,
2603         LCID lcid,
2604         DISPID* rgDispId);
2605
2606     HRESULT (STDMETHODCALLTYPE *Invoke)(
2607         IVLCControl2* This,
2608         DISPID dispIdMember,
2609         REFIID riid,
2610         LCID lcid,
2611         WORD wFlags,
2612         DISPPARAMS* pDispParams,
2613         VARIANT* pVarResult,
2614         EXCEPINFO* pExcepInfo,
2615         UINT* puArgErr);
2616
2617     /*** IVLCControl2 methods ***/
2618     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
2619         IVLCControl2* This,
2620         VARIANT_BOOL* autoloop);
2621
2622     HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
2623         IVLCControl2* This,
2624         VARIANT_BOOL autoloop);
2625
2626     HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
2627         IVLCControl2* This,
2628         VARIANT_BOOL* autoplay);
2629
2630     HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
2631         IVLCControl2* This,
2632         VARIANT_BOOL autoplay);
2633
2634     HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
2635         IVLCControl2* This,
2636         BSTR* url);
2637
2638     HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
2639         IVLCControl2* This,
2640         BSTR url);
2641
2642     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
2643         IVLCControl2* This,
2644         long* seconds);
2645
2646     HRESULT (STDMETHODCALLTYPE *put_StartTime)(
2647         IVLCControl2* This,
2648         long seconds);
2649
2650     HRESULT (STDMETHODCALLTYPE *get_MRL)(
2651         IVLCControl2* This,
2652         BSTR* mrl);
2653
2654     HRESULT (STDMETHODCALLTYPE *put_MRL)(
2655         IVLCControl2* This,
2656         BSTR mrl);
2657
2658     HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
2659         IVLCControl2* This,
2660         BSTR* version);
2661
2662     HRESULT (STDMETHODCALLTYPE *get_Visible)(
2663         IVLCControl2* This,
2664         VARIANT_BOOL* visible);
2665
2666     HRESULT (STDMETHODCALLTYPE *put_Visible)(
2667         IVLCControl2* This,
2668         VARIANT_BOOL visible);
2669
2670     HRESULT (STDMETHODCALLTYPE *get_Volume)(
2671         IVLCControl2* This,
2672         long* volume);
2673
2674     HRESULT (STDMETHODCALLTYPE *put_Volume)(
2675         IVLCControl2* This,
2676         long volume);
2677
2678     HRESULT (STDMETHODCALLTYPE *get_audio)(
2679         IVLCControl2* This,
2680         IVLCAudio** obj);
2681
2682     HRESULT (STDMETHODCALLTYPE *get_input)(
2683         IVLCControl2* This,
2684         IVLCInput** obj);
2685
2686     HRESULT (STDMETHODCALLTYPE *get_log)(
2687         IVLCControl2* This,
2688         IVLCLog** obj);
2689
2690     HRESULT (STDMETHODCALLTYPE *get_playlist)(
2691         IVLCControl2* This,
2692         IVLCPlaylist** obj);
2693
2694     HRESULT (STDMETHODCALLTYPE *get_video)(
2695         IVLCControl2* This,
2696         IVLCVideo** obj);
2697
2698     END_INTERFACE
2699 } IVLCControl2Vtbl;
2700 interface IVLCControl2 {
2701     CONST_VTBL IVLCControl2Vtbl* lpVtbl;
2702 };
2703
2704 #ifdef COBJMACROS
2705 /*** IUnknown methods ***/
2706 #define IVLCControl2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2707 #define IVLCControl2_AddRef(p) (p)->lpVtbl->AddRef(p)
2708 #define IVLCControl2_Release(p) (p)->lpVtbl->Release(p)
2709 /*** IDispatch methods ***/
2710 #define IVLCControl2_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
2711 #define IVLCControl2_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
2712 #define IVLCControl2_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
2713 #define IVLCControl2_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
2714 /*** IVLCControl2 methods ***/
2715 #define IVLCControl2_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
2716 #define IVLCControl2_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
2717 #define IVLCControl2_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
2718 #define IVLCControl2_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
2719 #define IVLCControl2_get_BaseURL(p,a) (p)->lpVtbl->get_BaseURL(p,a)
2720 #define IVLCControl2_put_BaseURL(p,a) (p)->lpVtbl->put_BaseURL(p,a)
2721 #define IVLCControl2_get_StartTime(p,a) (p)->lpVtbl->get_StartTime(p,a)
2722 #define IVLCControl2_put_StartTime(p,a) (p)->lpVtbl->put_StartTime(p,a)
2723 #define IVLCControl2_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
2724 #define IVLCControl2_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
2725 #define IVLCControl2_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
2726 #define IVLCControl2_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
2727 #define IVLCControl2_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
2728 #define IVLCControl2_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
2729 #define IVLCControl2_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
2730 #define IVLCControl2_get_audio(p,a) (p)->lpVtbl->get_audio(p,a)
2731 #define IVLCControl2_get_input(p,a) (p)->lpVtbl->get_input(p,a)
2732 #define IVLCControl2_get_log(p,a) (p)->lpVtbl->get_log(p,a)
2733 #define IVLCControl2_get_playlist(p,a) (p)->lpVtbl->get_playlist(p,a)
2734 #define IVLCControl2_get_video(p,a) (p)->lpVtbl->get_video(p,a)
2735 #endif
2736
2737 #endif
2738
2739 HRESULT CALLBACK IVLCControl2_get_AutoLoop_Proxy(
2740     IVLCControl2* This,
2741     VARIANT_BOOL* autoloop);
2742 void __RPC_STUB IVLCControl2_get_AutoLoop_Stub(
2743     IRpcStubBuffer* This,
2744     IRpcChannelBuffer* pRpcChannelBuffer,
2745     PRPC_MESSAGE pRpcMessage,
2746     DWORD* pdwStubPhase);
2747 HRESULT CALLBACK IVLCControl2_put_AutoLoop_Proxy(
2748     IVLCControl2* This,
2749     VARIANT_BOOL autoloop);
2750 void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
2751     IRpcStubBuffer* This,
2752     IRpcChannelBuffer* pRpcChannelBuffer,
2753     PRPC_MESSAGE pRpcMessage,
2754     DWORD* pdwStubPhase);
2755 HRESULT CALLBACK IVLCControl2_get_AutoPlay_Proxy(
2756     IVLCControl2* This,
2757     VARIANT_BOOL* autoplay);
2758 void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
2759     IRpcStubBuffer* This,
2760     IRpcChannelBuffer* pRpcChannelBuffer,
2761     PRPC_MESSAGE pRpcMessage,
2762     DWORD* pdwStubPhase);
2763 HRESULT CALLBACK IVLCControl2_put_AutoPlay_Proxy(
2764     IVLCControl2* This,
2765     VARIANT_BOOL autoplay);
2766 void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
2767     IRpcStubBuffer* This,
2768     IRpcChannelBuffer* pRpcChannelBuffer,
2769     PRPC_MESSAGE pRpcMessage,
2770     DWORD* pdwStubPhase);
2771 HRESULT CALLBACK IVLCControl2_get_BaseURL_Proxy(
2772     IVLCControl2* This,
2773     BSTR* url);
2774 void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
2775     IRpcStubBuffer* This,
2776     IRpcChannelBuffer* pRpcChannelBuffer,
2777     PRPC_MESSAGE pRpcMessage,
2778     DWORD* pdwStubPhase);
2779 HRESULT CALLBACK IVLCControl2_put_BaseURL_Proxy(
2780     IVLCControl2* This,
2781     BSTR url);
2782 void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
2783     IRpcStubBuffer* This,
2784     IRpcChannelBuffer* pRpcChannelBuffer,
2785     PRPC_MESSAGE pRpcMessage,
2786     DWORD* pdwStubPhase);
2787 HRESULT CALLBACK IVLCControl2_get_StartTime_Proxy(
2788     IVLCControl2* This,
2789     long* seconds);
2790 void __RPC_STUB IVLCControl2_get_StartTime_Stub(
2791     IRpcStubBuffer* This,
2792     IRpcChannelBuffer* pRpcChannelBuffer,
2793     PRPC_MESSAGE pRpcMessage,
2794     DWORD* pdwStubPhase);
2795 HRESULT CALLBACK IVLCControl2_put_StartTime_Proxy(
2796     IVLCControl2* This,
2797     long seconds);
2798 void __RPC_STUB IVLCControl2_put_StartTime_Stub(
2799     IRpcStubBuffer* This,
2800     IRpcChannelBuffer* pRpcChannelBuffer,
2801     PRPC_MESSAGE pRpcMessage,
2802     DWORD* pdwStubPhase);
2803 HRESULT CALLBACK IVLCControl2_get_MRL_Proxy(
2804     IVLCControl2* This,
2805     BSTR* mrl);
2806 void __RPC_STUB IVLCControl2_get_MRL_Stub(
2807     IRpcStubBuffer* This,
2808     IRpcChannelBuffer* pRpcChannelBuffer,
2809     PRPC_MESSAGE pRpcMessage,
2810     DWORD* pdwStubPhase);
2811 HRESULT CALLBACK IVLCControl2_put_MRL_Proxy(
2812     IVLCControl2* This,
2813     BSTR mrl);
2814 void __RPC_STUB IVLCControl2_put_MRL_Stub(
2815     IRpcStubBuffer* This,
2816     IRpcChannelBuffer* pRpcChannelBuffer,
2817     PRPC_MESSAGE pRpcMessage,
2818     DWORD* pdwStubPhase);
2819 HRESULT CALLBACK IVLCControl2_get_VersionInfo_Proxy(
2820     IVLCControl2* This,
2821     BSTR* version);
2822 void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
2823     IRpcStubBuffer* This,
2824     IRpcChannelBuffer* pRpcChannelBuffer,
2825     PRPC_MESSAGE pRpcMessage,
2826     DWORD* pdwStubPhase);
2827 HRESULT CALLBACK IVLCControl2_get_Visible_Proxy(
2828     IVLCControl2* This,
2829     VARIANT_BOOL* visible);
2830 void __RPC_STUB IVLCControl2_get_Visible_Stub(
2831     IRpcStubBuffer* This,
2832     IRpcChannelBuffer* pRpcChannelBuffer,
2833     PRPC_MESSAGE pRpcMessage,
2834     DWORD* pdwStubPhase);
2835 HRESULT CALLBACK IVLCControl2_put_Visible_Proxy(
2836     IVLCControl2* This,
2837     VARIANT_BOOL visible);
2838 void __RPC_STUB IVLCControl2_put_Visible_Stub(
2839     IRpcStubBuffer* This,
2840     IRpcChannelBuffer* pRpcChannelBuffer,
2841     PRPC_MESSAGE pRpcMessage,
2842     DWORD* pdwStubPhase);
2843 HRESULT CALLBACK IVLCControl2_get_Volume_Proxy(
2844     IVLCControl2* This,
2845     long* volume);
2846 void __RPC_STUB IVLCControl2_get_Volume_Stub(
2847     IRpcStubBuffer* This,
2848     IRpcChannelBuffer* pRpcChannelBuffer,
2849     PRPC_MESSAGE pRpcMessage,
2850     DWORD* pdwStubPhase);
2851 HRESULT CALLBACK IVLCControl2_put_Volume_Proxy(
2852     IVLCControl2* This,
2853     long volume);
2854 void __RPC_STUB IVLCControl2_put_Volume_Stub(
2855     IRpcStubBuffer* This,
2856     IRpcChannelBuffer* pRpcChannelBuffer,
2857     PRPC_MESSAGE pRpcMessage,
2858     DWORD* pdwStubPhase);
2859 HRESULT CALLBACK IVLCControl2_get_audio_Proxy(
2860     IVLCControl2* This,
2861     IVLCAudio** obj);
2862 void __RPC_STUB IVLCControl2_get_audio_Stub(
2863     IRpcStubBuffer* This,
2864     IRpcChannelBuffer* pRpcChannelBuffer,
2865     PRPC_MESSAGE pRpcMessage,
2866     DWORD* pdwStubPhase);
2867 HRESULT CALLBACK IVLCControl2_get_input_Proxy(
2868     IVLCControl2* This,
2869     IVLCInput** obj);
2870 void __RPC_STUB IVLCControl2_get_input_Stub(
2871     IRpcStubBuffer* This,
2872     IRpcChannelBuffer* pRpcChannelBuffer,
2873     PRPC_MESSAGE pRpcMessage,
2874     DWORD* pdwStubPhase);
2875 HRESULT CALLBACK IVLCControl2_get_log_Proxy(
2876     IVLCControl2* This,
2877     IVLCLog** obj);
2878 void __RPC_STUB IVLCControl2_get_log_Stub(
2879     IRpcStubBuffer* This,
2880     IRpcChannelBuffer* pRpcChannelBuffer,
2881     PRPC_MESSAGE pRpcMessage,
2882     DWORD* pdwStubPhase);
2883 HRESULT CALLBACK IVLCControl2_get_playlist_Proxy(
2884     IVLCControl2* This,
2885     IVLCPlaylist** obj);
2886 void __RPC_STUB IVLCControl2_get_playlist_Stub(
2887     IRpcStubBuffer* This,
2888     IRpcChannelBuffer* pRpcChannelBuffer,
2889     PRPC_MESSAGE pRpcMessage,
2890     DWORD* pdwStubPhase);
2891 HRESULT CALLBACK IVLCControl2_get_video_Proxy(
2892     IVLCControl2* This,
2893     IVLCVideo** obj);
2894 void __RPC_STUB IVLCControl2_get_video_Stub(
2895     IRpcStubBuffer* This,
2896     IRpcChannelBuffer* pRpcChannelBuffer,
2897     PRPC_MESSAGE pRpcMessage,
2898     DWORD* pdwStubPhase);
2899
2900 #endif  /* __IVLCControl2_INTERFACE_DEFINED__ */
2901
2902 /*****************************************************************************
2903  * VLCPlugin coclass
2904  */
2905
2906 DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
2907
2908 #ifndef __VLCPlugin_FWD_DEFINED__
2909 #define __VLCPlugin_FWD_DEFINED__
2910 typedef struct VLCPlugin VLCPlugin;
2911 #endif /* defined __VLCPlugin_FWD_DEFINED__ */
2912
2913 /*****************************************************************************
2914  * VLCPlugin2 coclass
2915  */
2916
2917 DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
2918
2919 #ifndef __VLCPlugin2_FWD_DEFINED__
2920 #define __VLCPlugin2_FWD_DEFINED__
2921 typedef struct VLCPlugin2 VLCPlugin2;
2922 #endif /* defined __VLCPlugin2_FWD_DEFINED__ */
2923
2924 /* Begin additional prototypes for all interfaces */
2925
2926 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
2927 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
2928 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
2929 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
2930 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
2931 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
2932 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
2933 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
2934
2935 /* End additional prototypes */
2936
2937 #ifdef __cplusplus
2938 }
2939 #endif
2940 #endif /* __WIDL_AXVLC_IDL_H */