3a6a7b6d987957c7e9cdc07596b04adaa63a1706
[vlc.git] / activex / axvlc_idl.h
1 /*** Autogenerated by WIDL 0.9.20 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 <oaidl.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 __IVLCPlaylist_FWD_DEFINED__
30 #define __IVLCPlaylist_FWD_DEFINED__
31 typedef interface IVLCPlaylist IVLCPlaylist;
32 #endif
33
34 #ifndef __IVLCVideo_FWD_DEFINED__
35 #define __IVLCVideo_FWD_DEFINED__
36 typedef interface IVLCVideo IVLCVideo;
37 #endif
38
39 #ifndef __IVLCControl2_FWD_DEFINED__
40 #define __IVLCControl2_FWD_DEFINED__
41 typedef interface IVLCControl2 IVLCControl2;
42 #endif
43
44 #ifndef __DVLCEvents_FWD_DEFINED__
45 #define __DVLCEvents_FWD_DEFINED__
46 typedef interface DVLCEvents DVLCEvents;
47 #endif
48
49 typedef enum VLCPlaylistMode {
50     VLCPlayListInsert = 1,
51     VLCPlayListInsertAndGo = 9,
52     VLCPlayListReplace = 2,
53     VLCPlayListReplaceAndGo = 10,
54     VLCPlayListAppend = 4,
55     VLCPlayListAppendAndGo = 12,
56     VLCPlayListCheckInsert = 16
57 } eVLCPlaylistMode;
58 #define VLCPlayListEnd (-666)
59
60 #define DISPID_Visible (100)
61
62 #define DISPID_Playing (101)
63
64 #define DISPID_Position (102)
65
66 #define DISPID_Time (103)
67
68 #define DISPID_Length (104)
69
70 #define DISPID_Volume (105)
71
72 #define DISPID_MRL (106)
73
74 #define DISPID_AutoPlay (107)
75
76 #define DISPID_AutoLoop (108)
77
78 #define DISPID_StartTime (109)
79
80 #define DISPID_BaseURL (110)
81
82 /*****************************************************************************
83  * IVLCControl interface
84  */
85 #ifndef __IVLCControl_INTERFACE_DEFINED__
86 #define __IVLCControl_INTERFACE_DEFINED__
87
88 DEFINE_GUID(IID_IVLCControl, 0xc2fa41d0, 0xb113, 0x476e, 0xac,0x8c, 0x9b,0xd1,0x49,0x99,0xc1,0xc1);
89 #if defined(__cplusplus) && !defined(CINTERFACE)
90 interface IVLCControl : public IDispatch
91 {
92     virtual HRESULT STDMETHODCALLTYPE get_Visible(
93         VARIANT_BOOL* visible) = 0;
94
95     virtual HRESULT STDMETHODCALLTYPE put_Visible(
96         VARIANT_BOOL visible) = 0;
97
98     virtual HRESULT STDMETHODCALLTYPE play(
99         ) = 0;
100
101     virtual HRESULT STDMETHODCALLTYPE pause(
102         ) = 0;
103
104     virtual HRESULT STDMETHODCALLTYPE stop(
105         ) = 0;
106
107     virtual HRESULT STDMETHODCALLTYPE get_Playing(
108         VARIANT_BOOL* isPlaying) = 0;
109
110     virtual HRESULT STDMETHODCALLTYPE get_Position(
111         float* position) = 0;
112
113     virtual HRESULT STDMETHODCALLTYPE put_Position(
114         float position) = 0;
115
116     virtual HRESULT STDMETHODCALLTYPE get_Time(
117         int* seconds) = 0;
118
119     virtual HRESULT STDMETHODCALLTYPE put_Time(
120         int seconds) = 0;
121
122     virtual HRESULT STDMETHODCALLTYPE shuttle(
123         int seconds) = 0;
124
125     virtual HRESULT STDMETHODCALLTYPE fullscreen(
126         ) = 0;
127
128     virtual HRESULT STDMETHODCALLTYPE get_Length(
129         int* seconds) = 0;
130
131     virtual HRESULT STDMETHODCALLTYPE playFaster(
132         ) = 0;
133
134     virtual HRESULT STDMETHODCALLTYPE playSlower(
135         ) = 0;
136
137     virtual HRESULT STDMETHODCALLTYPE get_Volume(
138         int* volume) = 0;
139
140     virtual HRESULT STDMETHODCALLTYPE put_Volume(
141         int volume) = 0;
142
143     virtual HRESULT STDMETHODCALLTYPE toggleMute(
144         ) = 0;
145
146     virtual HRESULT STDMETHODCALLTYPE setVariable(
147         BSTR name,
148         VARIANT value) = 0;
149
150     virtual HRESULT STDMETHODCALLTYPE getVariable(
151         BSTR name,
152         VARIANT* value) = 0;
153
154     virtual HRESULT STDMETHODCALLTYPE addTarget(
155         BSTR uri,
156         VARIANT options,
157         enum VLCPlaylistMode mode,
158         int position) = 0;
159
160     virtual HRESULT STDMETHODCALLTYPE get_PlaylistIndex(
161         int* index) = 0;
162
163     virtual HRESULT STDMETHODCALLTYPE get_PlaylistCount(
164         int* index) = 0;
165
166     virtual HRESULT STDMETHODCALLTYPE playlistNext(
167         ) = 0;
168
169     virtual HRESULT STDMETHODCALLTYPE playlistPrev(
170         ) = 0;
171
172     virtual HRESULT STDMETHODCALLTYPE playlistClear(
173         ) = 0;
174
175     virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
176         BSTR* version) = 0;
177
178     virtual HRESULT STDMETHODCALLTYPE get_MRL(
179         BSTR* mrl) = 0;
180
181     virtual HRESULT STDMETHODCALLTYPE put_MRL(
182         BSTR mrl) = 0;
183
184     virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
185         VARIANT_BOOL* autoplay) = 0;
186
187     virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
188         VARIANT_BOOL autoplay) = 0;
189
190     virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
191         VARIANT_BOOL* autoloop) = 0;
192
193     virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
194         VARIANT_BOOL autoloop) = 0;
195
196 };
197 #else
198 typedef struct IVLCControlVtbl {
199     BEGIN_INTERFACE
200
201     /*** IUnknown methods ***/
202     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
203         IVLCControl* This,
204         REFIID riid,
205         void** ppvObject);
206
207     ULONG (STDMETHODCALLTYPE *AddRef)(
208         IVLCControl* This);
209
210     ULONG (STDMETHODCALLTYPE *Release)(
211         IVLCControl* This);
212
213     /*** IDispatch methods ***/
214     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
215         IVLCControl* This,
216         UINT* pctinfo);
217
218     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
219         IVLCControl* This,
220         UINT iTInfo,
221         LCID lcid,
222         ITypeInfo** ppTInfo);
223
224     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
225         IVLCControl* This,
226         REFIID riid,
227         LPOLESTR* rgszNames,
228         UINT cNames,
229         LCID lcid,
230         DISPID* rgDispId);
231
232     HRESULT (STDMETHODCALLTYPE *Invoke)(
233         IVLCControl* This,
234         DISPID dispIdMember,
235         REFIID riid,
236         LCID lcid,
237         WORD wFlags,
238         DISPPARAMS* pDispParams,
239         VARIANT* pVarResult,
240         EXCEPINFO* pExcepInfo,
241         UINT* puArgErr);
242
243     /*** IVLCControl methods ***/
244     HRESULT (STDMETHODCALLTYPE *get_Visible)(
245         IVLCControl* This,
246         VARIANT_BOOL* visible);
247
248     HRESULT (STDMETHODCALLTYPE *put_Visible)(
249         IVLCControl* This,
250         VARIANT_BOOL visible);
251
252     HRESULT (STDMETHODCALLTYPE *play)(
253         IVLCControl* This);
254
255     HRESULT (STDMETHODCALLTYPE *pause)(
256         IVLCControl* This);
257
258     HRESULT (STDMETHODCALLTYPE *stop)(
259         IVLCControl* This);
260
261     HRESULT (STDMETHODCALLTYPE *get_Playing)(
262         IVLCControl* This,
263         VARIANT_BOOL* isPlaying);
264
265     HRESULT (STDMETHODCALLTYPE *get_Position)(
266         IVLCControl* This,
267         float* position);
268
269     HRESULT (STDMETHODCALLTYPE *put_Position)(
270         IVLCControl* This,
271         float position);
272
273     HRESULT (STDMETHODCALLTYPE *get_Time)(
274         IVLCControl* This,
275         int* seconds);
276
277     HRESULT (STDMETHODCALLTYPE *put_Time)(
278         IVLCControl* This,
279         int seconds);
280
281     HRESULT (STDMETHODCALLTYPE *shuttle)(
282         IVLCControl* This,
283         int seconds);
284
285     HRESULT (STDMETHODCALLTYPE *fullscreen)(
286         IVLCControl* This);
287
288     HRESULT (STDMETHODCALLTYPE *get_Length)(
289         IVLCControl* This,
290         int* seconds);
291
292     HRESULT (STDMETHODCALLTYPE *playFaster)(
293         IVLCControl* This);
294
295     HRESULT (STDMETHODCALLTYPE *playSlower)(
296         IVLCControl* This);
297
298     HRESULT (STDMETHODCALLTYPE *get_Volume)(
299         IVLCControl* This,
300         int* volume);
301
302     HRESULT (STDMETHODCALLTYPE *put_Volume)(
303         IVLCControl* This,
304         int volume);
305
306     HRESULT (STDMETHODCALLTYPE *toggleMute)(
307         IVLCControl* This);
308
309     HRESULT (STDMETHODCALLTYPE *setVariable)(
310         IVLCControl* This,
311         BSTR name,
312         VARIANT value);
313
314     HRESULT (STDMETHODCALLTYPE *getVariable)(
315         IVLCControl* This,
316         BSTR name,
317         VARIANT* value);
318
319     HRESULT (STDMETHODCALLTYPE *addTarget)(
320         IVLCControl* This,
321         BSTR uri,
322         VARIANT options,
323         enum VLCPlaylistMode mode,
324         int position);
325
326     HRESULT (STDMETHODCALLTYPE *get_PlaylistIndex)(
327         IVLCControl* This,
328         int* index);
329
330     HRESULT (STDMETHODCALLTYPE *get_PlaylistCount)(
331         IVLCControl* This,
332         int* index);
333
334     HRESULT (STDMETHODCALLTYPE *playlistNext)(
335         IVLCControl* This);
336
337     HRESULT (STDMETHODCALLTYPE *playlistPrev)(
338         IVLCControl* This);
339
340     HRESULT (STDMETHODCALLTYPE *playlistClear)(
341         IVLCControl* This);
342
343     HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
344         IVLCControl* This,
345         BSTR* version);
346
347     HRESULT (STDMETHODCALLTYPE *get_MRL)(
348         IVLCControl* This,
349         BSTR* mrl);
350
351     HRESULT (STDMETHODCALLTYPE *put_MRL)(
352         IVLCControl* This,
353         BSTR mrl);
354
355     HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
356         IVLCControl* This,
357         VARIANT_BOOL* autoplay);
358
359     HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
360         IVLCControl* This,
361         VARIANT_BOOL autoplay);
362
363     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
364         IVLCControl* This,
365         VARIANT_BOOL* autoloop);
366
367     HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
368         IVLCControl* This,
369         VARIANT_BOOL autoloop);
370
371     END_INTERFACE
372 } IVLCControlVtbl;
373 interface IVLCControl {
374     const IVLCControlVtbl* lpVtbl;
375 };
376
377 #ifdef COBJMACROS
378 /*** IUnknown methods ***/
379 #define IVLCControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
380 #define IVLCControl_AddRef(p) (p)->lpVtbl->AddRef(p)
381 #define IVLCControl_Release(p) (p)->lpVtbl->Release(p)
382 /*** IDispatch methods ***/
383 #define IVLCControl_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
384 #define IVLCControl_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
385 #define IVLCControl_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
386 #define IVLCControl_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
387 /*** IVLCControl methods ***/
388 #define IVLCControl_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
389 #define IVLCControl_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
390 #define IVLCControl_play(p) (p)->lpVtbl->play(p)
391 #define IVLCControl_pause(p) (p)->lpVtbl->pause(p)
392 #define IVLCControl_stop(p) (p)->lpVtbl->stop(p)
393 #define IVLCControl_get_Playing(p,a) (p)->lpVtbl->get_Playing(p,a)
394 #define IVLCControl_get_Position(p,a) (p)->lpVtbl->get_Position(p,a)
395 #define IVLCControl_put_Position(p,a) (p)->lpVtbl->put_Position(p,a)
396 #define IVLCControl_get_Time(p,a) (p)->lpVtbl->get_Time(p,a)
397 #define IVLCControl_put_Time(p,a) (p)->lpVtbl->put_Time(p,a)
398 #define IVLCControl_shuttle(p,a) (p)->lpVtbl->shuttle(p,a)
399 #define IVLCControl_fullscreen(p) (p)->lpVtbl->fullscreen(p)
400 #define IVLCControl_get_Length(p,a) (p)->lpVtbl->get_Length(p,a)
401 #define IVLCControl_playFaster(p) (p)->lpVtbl->playFaster(p)
402 #define IVLCControl_playSlower(p) (p)->lpVtbl->playSlower(p)
403 #define IVLCControl_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
404 #define IVLCControl_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
405 #define IVLCControl_toggleMute(p) (p)->lpVtbl->toggleMute(p)
406 #define IVLCControl_setVariable(p,a,b) (p)->lpVtbl->setVariable(p,a,b)
407 #define IVLCControl_getVariable(p,a,b) (p)->lpVtbl->getVariable(p,a,b)
408 #define IVLCControl_addTarget(p,a,b,c,d) (p)->lpVtbl->addTarget(p,a,b,c,d)
409 #define IVLCControl_get_PlaylistIndex(p,a) (p)->lpVtbl->get_PlaylistIndex(p,a)
410 #define IVLCControl_get_PlaylistCount(p,a) (p)->lpVtbl->get_PlaylistCount(p,a)
411 #define IVLCControl_playlistNext(p) (p)->lpVtbl->playlistNext(p)
412 #define IVLCControl_playlistPrev(p) (p)->lpVtbl->playlistPrev(p)
413 #define IVLCControl_playlistClear(p) (p)->lpVtbl->playlistClear(p)
414 #define IVLCControl_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
415 #define IVLCControl_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
416 #define IVLCControl_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
417 #define IVLCControl_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
418 #define IVLCControl_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
419 #define IVLCControl_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
420 #define IVLCControl_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
421 #endif
422
423 #endif
424
425 HRESULT CALLBACK IVLCControl_get_Visible_Proxy(
426     IVLCControl* This,
427     VARIANT_BOOL* visible);
428 void __RPC_STUB IVLCControl_get_Visible_Stub(
429     IRpcStubBuffer* This,
430     IRpcChannelBuffer* pRpcChannelBuffer,
431     PRPC_MESSAGE pRpcMessage,
432     DWORD* pdwStubPhase);
433 HRESULT CALLBACK IVLCControl_put_Visible_Proxy(
434     IVLCControl* This,
435     VARIANT_BOOL visible);
436 void __RPC_STUB IVLCControl_put_Visible_Stub(
437     IRpcStubBuffer* This,
438     IRpcChannelBuffer* pRpcChannelBuffer,
439     PRPC_MESSAGE pRpcMessage,
440     DWORD* pdwStubPhase);
441 HRESULT CALLBACK IVLCControl_play_Proxy(
442     IVLCControl* This);
443 void __RPC_STUB IVLCControl_play_Stub(
444     IRpcStubBuffer* This,
445     IRpcChannelBuffer* pRpcChannelBuffer,
446     PRPC_MESSAGE pRpcMessage,
447     DWORD* pdwStubPhase);
448 HRESULT CALLBACK IVLCControl_pause_Proxy(
449     IVLCControl* This);
450 void __RPC_STUB IVLCControl_pause_Stub(
451     IRpcStubBuffer* This,
452     IRpcChannelBuffer* pRpcChannelBuffer,
453     PRPC_MESSAGE pRpcMessage,
454     DWORD* pdwStubPhase);
455 HRESULT CALLBACK IVLCControl_stop_Proxy(
456     IVLCControl* This);
457 void __RPC_STUB IVLCControl_stop_Stub(
458     IRpcStubBuffer* This,
459     IRpcChannelBuffer* pRpcChannelBuffer,
460     PRPC_MESSAGE pRpcMessage,
461     DWORD* pdwStubPhase);
462 HRESULT CALLBACK IVLCControl_get_Playing_Proxy(
463     IVLCControl* This,
464     VARIANT_BOOL* isPlaying);
465 void __RPC_STUB IVLCControl_get_Playing_Stub(
466     IRpcStubBuffer* This,
467     IRpcChannelBuffer* pRpcChannelBuffer,
468     PRPC_MESSAGE pRpcMessage,
469     DWORD* pdwStubPhase);
470 HRESULT CALLBACK IVLCControl_get_Position_Proxy(
471     IVLCControl* This,
472     float* position);
473 void __RPC_STUB IVLCControl_get_Position_Stub(
474     IRpcStubBuffer* This,
475     IRpcChannelBuffer* pRpcChannelBuffer,
476     PRPC_MESSAGE pRpcMessage,
477     DWORD* pdwStubPhase);
478 HRESULT CALLBACK IVLCControl_put_Position_Proxy(
479     IVLCControl* This,
480     float position);
481 void __RPC_STUB IVLCControl_put_Position_Stub(
482     IRpcStubBuffer* This,
483     IRpcChannelBuffer* pRpcChannelBuffer,
484     PRPC_MESSAGE pRpcMessage,
485     DWORD* pdwStubPhase);
486 HRESULT CALLBACK IVLCControl_get_Time_Proxy(
487     IVLCControl* This,
488     int* seconds);
489 void __RPC_STUB IVLCControl_get_Time_Stub(
490     IRpcStubBuffer* This,
491     IRpcChannelBuffer* pRpcChannelBuffer,
492     PRPC_MESSAGE pRpcMessage,
493     DWORD* pdwStubPhase);
494 HRESULT CALLBACK IVLCControl_put_Time_Proxy(
495     IVLCControl* This,
496     int seconds);
497 void __RPC_STUB IVLCControl_put_Time_Stub(
498     IRpcStubBuffer* This,
499     IRpcChannelBuffer* pRpcChannelBuffer,
500     PRPC_MESSAGE pRpcMessage,
501     DWORD* pdwStubPhase);
502 HRESULT CALLBACK IVLCControl_shuttle_Proxy(
503     IVLCControl* This,
504     int seconds);
505 void __RPC_STUB IVLCControl_shuttle_Stub(
506     IRpcStubBuffer* This,
507     IRpcChannelBuffer* pRpcChannelBuffer,
508     PRPC_MESSAGE pRpcMessage,
509     DWORD* pdwStubPhase);
510 HRESULT CALLBACK IVLCControl_fullscreen_Proxy(
511     IVLCControl* This);
512 void __RPC_STUB IVLCControl_fullscreen_Stub(
513     IRpcStubBuffer* This,
514     IRpcChannelBuffer* pRpcChannelBuffer,
515     PRPC_MESSAGE pRpcMessage,
516     DWORD* pdwStubPhase);
517 HRESULT CALLBACK IVLCControl_get_Length_Proxy(
518     IVLCControl* This,
519     int* seconds);
520 void __RPC_STUB IVLCControl_get_Length_Stub(
521     IRpcStubBuffer* This,
522     IRpcChannelBuffer* pRpcChannelBuffer,
523     PRPC_MESSAGE pRpcMessage,
524     DWORD* pdwStubPhase);
525 HRESULT CALLBACK IVLCControl_playFaster_Proxy(
526     IVLCControl* This);
527 void __RPC_STUB IVLCControl_playFaster_Stub(
528     IRpcStubBuffer* This,
529     IRpcChannelBuffer* pRpcChannelBuffer,
530     PRPC_MESSAGE pRpcMessage,
531     DWORD* pdwStubPhase);
532 HRESULT CALLBACK IVLCControl_playSlower_Proxy(
533     IVLCControl* This);
534 void __RPC_STUB IVLCControl_playSlower_Stub(
535     IRpcStubBuffer* This,
536     IRpcChannelBuffer* pRpcChannelBuffer,
537     PRPC_MESSAGE pRpcMessage,
538     DWORD* pdwStubPhase);
539 HRESULT CALLBACK IVLCControl_get_Volume_Proxy(
540     IVLCControl* This,
541     int* volume);
542 void __RPC_STUB IVLCControl_get_Volume_Stub(
543     IRpcStubBuffer* This,
544     IRpcChannelBuffer* pRpcChannelBuffer,
545     PRPC_MESSAGE pRpcMessage,
546     DWORD* pdwStubPhase);
547 HRESULT CALLBACK IVLCControl_put_Volume_Proxy(
548     IVLCControl* This,
549     int volume);
550 void __RPC_STUB IVLCControl_put_Volume_Stub(
551     IRpcStubBuffer* This,
552     IRpcChannelBuffer* pRpcChannelBuffer,
553     PRPC_MESSAGE pRpcMessage,
554     DWORD* pdwStubPhase);
555 HRESULT CALLBACK IVLCControl_toggleMute_Proxy(
556     IVLCControl* This);
557 void __RPC_STUB IVLCControl_toggleMute_Stub(
558     IRpcStubBuffer* This,
559     IRpcChannelBuffer* pRpcChannelBuffer,
560     PRPC_MESSAGE pRpcMessage,
561     DWORD* pdwStubPhase);
562 HRESULT CALLBACK IVLCControl_setVariable_Proxy(
563     IVLCControl* This,
564     BSTR name,
565     VARIANT value);
566 void __RPC_STUB IVLCControl_setVariable_Stub(
567     IRpcStubBuffer* This,
568     IRpcChannelBuffer* pRpcChannelBuffer,
569     PRPC_MESSAGE pRpcMessage,
570     DWORD* pdwStubPhase);
571 HRESULT CALLBACK IVLCControl_getVariable_Proxy(
572     IVLCControl* This,
573     BSTR name,
574     VARIANT* value);
575 void __RPC_STUB IVLCControl_getVariable_Stub(
576     IRpcStubBuffer* This,
577     IRpcChannelBuffer* pRpcChannelBuffer,
578     PRPC_MESSAGE pRpcMessage,
579     DWORD* pdwStubPhase);
580 HRESULT CALLBACK IVLCControl_addTarget_Proxy(
581     IVLCControl* This,
582     BSTR uri,
583     VARIANT options,
584     enum VLCPlaylistMode mode,
585     int position);
586 void __RPC_STUB IVLCControl_addTarget_Stub(
587     IRpcStubBuffer* This,
588     IRpcChannelBuffer* pRpcChannelBuffer,
589     PRPC_MESSAGE pRpcMessage,
590     DWORD* pdwStubPhase);
591 HRESULT CALLBACK IVLCControl_get_PlaylistIndex_Proxy(
592     IVLCControl* This,
593     int* index);
594 void __RPC_STUB IVLCControl_get_PlaylistIndex_Stub(
595     IRpcStubBuffer* This,
596     IRpcChannelBuffer* pRpcChannelBuffer,
597     PRPC_MESSAGE pRpcMessage,
598     DWORD* pdwStubPhase);
599 HRESULT CALLBACK IVLCControl_get_PlaylistCount_Proxy(
600     IVLCControl* This,
601     int* index);
602 void __RPC_STUB IVLCControl_get_PlaylistCount_Stub(
603     IRpcStubBuffer* This,
604     IRpcChannelBuffer* pRpcChannelBuffer,
605     PRPC_MESSAGE pRpcMessage,
606     DWORD* pdwStubPhase);
607 HRESULT CALLBACK IVLCControl_playlistNext_Proxy(
608     IVLCControl* This);
609 void __RPC_STUB IVLCControl_playlistNext_Stub(
610     IRpcStubBuffer* This,
611     IRpcChannelBuffer* pRpcChannelBuffer,
612     PRPC_MESSAGE pRpcMessage,
613     DWORD* pdwStubPhase);
614 HRESULT CALLBACK IVLCControl_playlistPrev_Proxy(
615     IVLCControl* This);
616 void __RPC_STUB IVLCControl_playlistPrev_Stub(
617     IRpcStubBuffer* This,
618     IRpcChannelBuffer* pRpcChannelBuffer,
619     PRPC_MESSAGE pRpcMessage,
620     DWORD* pdwStubPhase);
621 HRESULT CALLBACK IVLCControl_playlistClear_Proxy(
622     IVLCControl* This);
623 void __RPC_STUB IVLCControl_playlistClear_Stub(
624     IRpcStubBuffer* This,
625     IRpcChannelBuffer* pRpcChannelBuffer,
626     PRPC_MESSAGE pRpcMessage,
627     DWORD* pdwStubPhase);
628 HRESULT CALLBACK IVLCControl_get_VersionInfo_Proxy(
629     IVLCControl* This,
630     BSTR* version);
631 void __RPC_STUB IVLCControl_get_VersionInfo_Stub(
632     IRpcStubBuffer* This,
633     IRpcChannelBuffer* pRpcChannelBuffer,
634     PRPC_MESSAGE pRpcMessage,
635     DWORD* pdwStubPhase);
636 HRESULT CALLBACK IVLCControl_get_MRL_Proxy(
637     IVLCControl* This,
638     BSTR* mrl);
639 void __RPC_STUB IVLCControl_get_MRL_Stub(
640     IRpcStubBuffer* This,
641     IRpcChannelBuffer* pRpcChannelBuffer,
642     PRPC_MESSAGE pRpcMessage,
643     DWORD* pdwStubPhase);
644 HRESULT CALLBACK IVLCControl_put_MRL_Proxy(
645     IVLCControl* This,
646     BSTR mrl);
647 void __RPC_STUB IVLCControl_put_MRL_Stub(
648     IRpcStubBuffer* This,
649     IRpcChannelBuffer* pRpcChannelBuffer,
650     PRPC_MESSAGE pRpcMessage,
651     DWORD* pdwStubPhase);
652 HRESULT CALLBACK IVLCControl_get_AutoPlay_Proxy(
653     IVLCControl* This,
654     VARIANT_BOOL* autoplay);
655 void __RPC_STUB IVLCControl_get_AutoPlay_Stub(
656     IRpcStubBuffer* This,
657     IRpcChannelBuffer* pRpcChannelBuffer,
658     PRPC_MESSAGE pRpcMessage,
659     DWORD* pdwStubPhase);
660 HRESULT CALLBACK IVLCControl_put_AutoPlay_Proxy(
661     IVLCControl* This,
662     VARIANT_BOOL autoplay);
663 void __RPC_STUB IVLCControl_put_AutoPlay_Stub(
664     IRpcStubBuffer* This,
665     IRpcChannelBuffer* pRpcChannelBuffer,
666     PRPC_MESSAGE pRpcMessage,
667     DWORD* pdwStubPhase);
668 HRESULT CALLBACK IVLCControl_get_AutoLoop_Proxy(
669     IVLCControl* This,
670     VARIANT_BOOL* autoloop);
671 void __RPC_STUB IVLCControl_get_AutoLoop_Stub(
672     IRpcStubBuffer* This,
673     IRpcChannelBuffer* pRpcChannelBuffer,
674     PRPC_MESSAGE pRpcMessage,
675     DWORD* pdwStubPhase);
676 HRESULT CALLBACK IVLCControl_put_AutoLoop_Proxy(
677     IVLCControl* This,
678     VARIANT_BOOL autoloop);
679 void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
680     IRpcStubBuffer* This,
681     IRpcChannelBuffer* pRpcChannelBuffer,
682     PRPC_MESSAGE pRpcMessage,
683     DWORD* pdwStubPhase);
684
685 #endif  /* __IVLCControl_INTERFACE_DEFINED__ */
686
687 #define DISPID_PlayEvent (100)
688
689 #define DISPID_PauseEvent (101)
690
691 #define DISPID_StopEvent (102)
692
693 /*****************************************************************************
694  * DVLCEvents dispinterface
695  */
696 #ifndef __DVLCEvents_DISPINTERFACE_DEFINED__
697 #define __DVLCEvents_DISPINTERFACE_DEFINED__
698
699 DEFINE_GUID(DIID_DVLCEvents, 0xdf48072f, 0x5ef8, 0x434e, 0x9b,0x40, 0xe2,0xf3,0xae,0x75,0x9b,0x5f);
700 #if defined(__cplusplus) && !defined(CINTERFACE)
701 interface DVLCEvents : public IDispatch
702 {
703 };
704 #else
705 typedef struct DVLCEventsVtbl {
706     BEGIN_INTERFACE
707
708     /*** IUnknown methods ***/
709     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
710         DVLCEvents* This,
711         REFIID riid,
712         void** ppvObject);
713
714     ULONG (STDMETHODCALLTYPE *AddRef)(
715         DVLCEvents* This);
716
717     ULONG (STDMETHODCALLTYPE *Release)(
718         DVLCEvents* This);
719
720     /*** IDispatch methods ***/
721     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
722         DVLCEvents* This,
723         UINT* pctinfo);
724
725     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
726         DVLCEvents* This,
727         UINT iTInfo,
728         LCID lcid,
729         ITypeInfo** ppTInfo);
730
731     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
732         DVLCEvents* This,
733         REFIID riid,
734         LPOLESTR* rgszNames,
735         UINT cNames,
736         LCID lcid,
737         DISPID* rgDispId);
738
739     HRESULT (STDMETHODCALLTYPE *Invoke)(
740         DVLCEvents* This,
741         DISPID dispIdMember,
742         REFIID riid,
743         LCID lcid,
744         WORD wFlags,
745         DISPPARAMS* pDispParams,
746         VARIANT* pVarResult,
747         EXCEPINFO* pExcepInfo,
748         UINT* puArgErr);
749
750     END_INTERFACE
751 } DVLCEventsVtbl;
752 interface DVLCEvents {
753     const DVLCEventsVtbl* lpVtbl;
754 };
755
756 #ifdef COBJMACROS
757 /*** IUnknown methods ***/
758 #define DVLCEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
759 #define DVLCEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
760 #define DVLCEvents_Release(p) (p)->lpVtbl->Release(p)
761 /*** IDispatch methods ***/
762 #define DVLCEvents_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
763 #define DVLCEvents_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
764 #define DVLCEvents_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
765 #define DVLCEvents_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
766 #endif
767
768 #endif
769
770 #endif  /* __DVLCEvents_DISPINTERFACE_DEFINED__ */
771
772 /*****************************************************************************
773  * IVLCAudio interface
774  */
775 #ifndef __IVLCAudio_INTERFACE_DEFINED__
776 #define __IVLCAudio_INTERFACE_DEFINED__
777
778 DEFINE_GUID(IID_IVLCAudio, 0x9e0bd17b, 0x2d3c, 0x4656, 0xb9,0x4d, 0x03,0x08,0x4f,0x3f,0xd9,0xd4);
779 #if defined(__cplusplus) && !defined(CINTERFACE)
780 interface IVLCAudio : public IDispatch
781 {
782     virtual HRESULT STDMETHODCALLTYPE get_mute(
783         VARIANT_BOOL* muted) = 0;
784
785     virtual HRESULT STDMETHODCALLTYPE put_mute(
786         VARIANT_BOOL muted) = 0;
787
788     virtual HRESULT STDMETHODCALLTYPE get_volume(
789         int* volume) = 0;
790
791     virtual HRESULT STDMETHODCALLTYPE put_volume(
792         int volume) = 0;
793
794     virtual HRESULT STDMETHODCALLTYPE toggleMute(
795         ) = 0;
796
797 };
798 #else
799 typedef struct IVLCAudioVtbl {
800     BEGIN_INTERFACE
801
802     /*** IUnknown methods ***/
803     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
804         IVLCAudio* This,
805         REFIID riid,
806         void** ppvObject);
807
808     ULONG (STDMETHODCALLTYPE *AddRef)(
809         IVLCAudio* This);
810
811     ULONG (STDMETHODCALLTYPE *Release)(
812         IVLCAudio* This);
813
814     /*** IDispatch methods ***/
815     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
816         IVLCAudio* This,
817         UINT* pctinfo);
818
819     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
820         IVLCAudio* This,
821         UINT iTInfo,
822         LCID lcid,
823         ITypeInfo** ppTInfo);
824
825     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
826         IVLCAudio* This,
827         REFIID riid,
828         LPOLESTR* rgszNames,
829         UINT cNames,
830         LCID lcid,
831         DISPID* rgDispId);
832
833     HRESULT (STDMETHODCALLTYPE *Invoke)(
834         IVLCAudio* This,
835         DISPID dispIdMember,
836         REFIID riid,
837         LCID lcid,
838         WORD wFlags,
839         DISPPARAMS* pDispParams,
840         VARIANT* pVarResult,
841         EXCEPINFO* pExcepInfo,
842         UINT* puArgErr);
843
844     /*** IVLCAudio methods ***/
845     HRESULT (STDMETHODCALLTYPE *get_mute)(
846         IVLCAudio* This,
847         VARIANT_BOOL* muted);
848
849     HRESULT (STDMETHODCALLTYPE *put_mute)(
850         IVLCAudio* This,
851         VARIANT_BOOL muted);
852
853     HRESULT (STDMETHODCALLTYPE *get_volume)(
854         IVLCAudio* This,
855         int* volume);
856
857     HRESULT (STDMETHODCALLTYPE *put_volume)(
858         IVLCAudio* This,
859         int volume);
860
861     HRESULT (STDMETHODCALLTYPE *toggleMute)(
862         IVLCAudio* This);
863
864     END_INTERFACE
865 } IVLCAudioVtbl;
866 interface IVLCAudio {
867     const IVLCAudioVtbl* lpVtbl;
868 };
869
870 #ifdef COBJMACROS
871 /*** IUnknown methods ***/
872 #define IVLCAudio_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
873 #define IVLCAudio_AddRef(p) (p)->lpVtbl->AddRef(p)
874 #define IVLCAudio_Release(p) (p)->lpVtbl->Release(p)
875 /*** IDispatch methods ***/
876 #define IVLCAudio_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
877 #define IVLCAudio_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
878 #define IVLCAudio_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
879 #define IVLCAudio_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
880 /*** IVLCAudio methods ***/
881 #define IVLCAudio_get_mute(p,a) (p)->lpVtbl->get_mute(p,a)
882 #define IVLCAudio_put_mute(p,a) (p)->lpVtbl->put_mute(p,a)
883 #define IVLCAudio_get_volume(p,a) (p)->lpVtbl->get_volume(p,a)
884 #define IVLCAudio_put_volume(p,a) (p)->lpVtbl->put_volume(p,a)
885 #define IVLCAudio_toggleMute(p) (p)->lpVtbl->toggleMute(p)
886 #endif
887
888 #endif
889
890 HRESULT CALLBACK IVLCAudio_get_mute_Proxy(
891     IVLCAudio* This,
892     VARIANT_BOOL* muted);
893 void __RPC_STUB IVLCAudio_get_mute_Stub(
894     IRpcStubBuffer* This,
895     IRpcChannelBuffer* pRpcChannelBuffer,
896     PRPC_MESSAGE pRpcMessage,
897     DWORD* pdwStubPhase);
898 HRESULT CALLBACK IVLCAudio_put_mute_Proxy(
899     IVLCAudio* This,
900     VARIANT_BOOL muted);
901 void __RPC_STUB IVLCAudio_put_mute_Stub(
902     IRpcStubBuffer* This,
903     IRpcChannelBuffer* pRpcChannelBuffer,
904     PRPC_MESSAGE pRpcMessage,
905     DWORD* pdwStubPhase);
906 HRESULT CALLBACK IVLCAudio_get_volume_Proxy(
907     IVLCAudio* This,
908     int* volume);
909 void __RPC_STUB IVLCAudio_get_volume_Stub(
910     IRpcStubBuffer* This,
911     IRpcChannelBuffer* pRpcChannelBuffer,
912     PRPC_MESSAGE pRpcMessage,
913     DWORD* pdwStubPhase);
914 HRESULT CALLBACK IVLCAudio_put_volume_Proxy(
915     IVLCAudio* This,
916     int volume);
917 void __RPC_STUB IVLCAudio_put_volume_Stub(
918     IRpcStubBuffer* This,
919     IRpcChannelBuffer* pRpcChannelBuffer,
920     PRPC_MESSAGE pRpcMessage,
921     DWORD* pdwStubPhase);
922 HRESULT CALLBACK IVLCAudio_toggleMute_Proxy(
923     IVLCAudio* This);
924 void __RPC_STUB IVLCAudio_toggleMute_Stub(
925     IRpcStubBuffer* This,
926     IRpcChannelBuffer* pRpcChannelBuffer,
927     PRPC_MESSAGE pRpcMessage,
928     DWORD* pdwStubPhase);
929
930 #endif  /* __IVLCAudio_INTERFACE_DEFINED__ */
931
932 /*****************************************************************************
933  * IVLCInput interface
934  */
935 #ifndef __IVLCInput_INTERFACE_DEFINED__
936 #define __IVLCInput_INTERFACE_DEFINED__
937
938 DEFINE_GUID(IID_IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71,0x90,0xc6,0x03);
939 #if defined(__cplusplus) && !defined(CINTERFACE)
940 interface IVLCInput : public IDispatch
941 {
942     virtual HRESULT STDMETHODCALLTYPE get_length(
943         double* length) = 0;
944
945     virtual HRESULT STDMETHODCALLTYPE get_position(
946         float* position) = 0;
947
948     virtual HRESULT STDMETHODCALLTYPE put_position(
949         float position) = 0;
950
951     virtual HRESULT STDMETHODCALLTYPE get_time(
952         double* time) = 0;
953
954     virtual HRESULT STDMETHODCALLTYPE put_time(
955         double time) = 0;
956
957     virtual HRESULT STDMETHODCALLTYPE get_state(
958         int* state) = 0;
959
960     virtual HRESULT STDMETHODCALLTYPE get_rate(
961         float* rate) = 0;
962
963     virtual HRESULT STDMETHODCALLTYPE put_rate(
964         float rate) = 0;
965
966     virtual HRESULT STDMETHODCALLTYPE get_fps(
967         float* fps) = 0;
968
969     virtual HRESULT STDMETHODCALLTYPE get_hasVout(
970         VARIANT_BOOL* hasVout) = 0;
971
972 };
973 #else
974 typedef struct IVLCInputVtbl {
975     BEGIN_INTERFACE
976
977     /*** IUnknown methods ***/
978     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
979         IVLCInput* This,
980         REFIID riid,
981         void** ppvObject);
982
983     ULONG (STDMETHODCALLTYPE *AddRef)(
984         IVLCInput* This);
985
986     ULONG (STDMETHODCALLTYPE *Release)(
987         IVLCInput* This);
988
989     /*** IDispatch methods ***/
990     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
991         IVLCInput* This,
992         UINT* pctinfo);
993
994     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
995         IVLCInput* This,
996         UINT iTInfo,
997         LCID lcid,
998         ITypeInfo** ppTInfo);
999
1000     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1001         IVLCInput* This,
1002         REFIID riid,
1003         LPOLESTR* rgszNames,
1004         UINT cNames,
1005         LCID lcid,
1006         DISPID* rgDispId);
1007
1008     HRESULT (STDMETHODCALLTYPE *Invoke)(
1009         IVLCInput* This,
1010         DISPID dispIdMember,
1011         REFIID riid,
1012         LCID lcid,
1013         WORD wFlags,
1014         DISPPARAMS* pDispParams,
1015         VARIANT* pVarResult,
1016         EXCEPINFO* pExcepInfo,
1017         UINT* puArgErr);
1018
1019     /*** IVLCInput methods ***/
1020     HRESULT (STDMETHODCALLTYPE *get_length)(
1021         IVLCInput* This,
1022         double* length);
1023
1024     HRESULT (STDMETHODCALLTYPE *get_position)(
1025         IVLCInput* This,
1026         float* position);
1027
1028     HRESULT (STDMETHODCALLTYPE *put_position)(
1029         IVLCInput* This,
1030         float position);
1031
1032     HRESULT (STDMETHODCALLTYPE *get_time)(
1033         IVLCInput* This,
1034         double* time);
1035
1036     HRESULT (STDMETHODCALLTYPE *put_time)(
1037         IVLCInput* This,
1038         double time);
1039
1040     HRESULT (STDMETHODCALLTYPE *get_state)(
1041         IVLCInput* This,
1042         int* state);
1043
1044     HRESULT (STDMETHODCALLTYPE *get_rate)(
1045         IVLCInput* This,
1046         float* rate);
1047
1048     HRESULT (STDMETHODCALLTYPE *put_rate)(
1049         IVLCInput* This,
1050         float rate);
1051
1052     HRESULT (STDMETHODCALLTYPE *get_fps)(
1053         IVLCInput* This,
1054         float* fps);
1055
1056     HRESULT (STDMETHODCALLTYPE *get_hasVout)(
1057         IVLCInput* This,
1058         VARIANT_BOOL* hasVout);
1059
1060     END_INTERFACE
1061 } IVLCInputVtbl;
1062 interface IVLCInput {
1063     const IVLCInputVtbl* lpVtbl;
1064 };
1065
1066 #ifdef COBJMACROS
1067 /*** IUnknown methods ***/
1068 #define IVLCInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1069 #define IVLCInput_AddRef(p) (p)->lpVtbl->AddRef(p)
1070 #define IVLCInput_Release(p) (p)->lpVtbl->Release(p)
1071 /*** IDispatch methods ***/
1072 #define IVLCInput_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1073 #define IVLCInput_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1074 #define IVLCInput_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1075 #define IVLCInput_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1076 /*** IVLCInput methods ***/
1077 #define IVLCInput_get_length(p,a) (p)->lpVtbl->get_length(p,a)
1078 #define IVLCInput_get_position(p,a) (p)->lpVtbl->get_position(p,a)
1079 #define IVLCInput_put_position(p,a) (p)->lpVtbl->put_position(p,a)
1080 #define IVLCInput_get_time(p,a) (p)->lpVtbl->get_time(p,a)
1081 #define IVLCInput_put_time(p,a) (p)->lpVtbl->put_time(p,a)
1082 #define IVLCInput_get_state(p,a) (p)->lpVtbl->get_state(p,a)
1083 #define IVLCInput_get_rate(p,a) (p)->lpVtbl->get_rate(p,a)
1084 #define IVLCInput_put_rate(p,a) (p)->lpVtbl->put_rate(p,a)
1085 #define IVLCInput_get_fps(p,a) (p)->lpVtbl->get_fps(p,a)
1086 #define IVLCInput_get_hasVout(p,a) (p)->lpVtbl->get_hasVout(p,a)
1087 #endif
1088
1089 #endif
1090
1091 HRESULT CALLBACK IVLCInput_get_length_Proxy(
1092     IVLCInput* This,
1093     double* length);
1094 void __RPC_STUB IVLCInput_get_length_Stub(
1095     IRpcStubBuffer* This,
1096     IRpcChannelBuffer* pRpcChannelBuffer,
1097     PRPC_MESSAGE pRpcMessage,
1098     DWORD* pdwStubPhase);
1099 HRESULT CALLBACK IVLCInput_get_position_Proxy(
1100     IVLCInput* This,
1101     float* position);
1102 void __RPC_STUB IVLCInput_get_position_Stub(
1103     IRpcStubBuffer* This,
1104     IRpcChannelBuffer* pRpcChannelBuffer,
1105     PRPC_MESSAGE pRpcMessage,
1106     DWORD* pdwStubPhase);
1107 HRESULT CALLBACK IVLCInput_put_position_Proxy(
1108     IVLCInput* This,
1109     float position);
1110 void __RPC_STUB IVLCInput_put_position_Stub(
1111     IRpcStubBuffer* This,
1112     IRpcChannelBuffer* pRpcChannelBuffer,
1113     PRPC_MESSAGE pRpcMessage,
1114     DWORD* pdwStubPhase);
1115 HRESULT CALLBACK IVLCInput_get_time_Proxy(
1116     IVLCInput* This,
1117     double* time);
1118 void __RPC_STUB IVLCInput_get_time_Stub(
1119     IRpcStubBuffer* This,
1120     IRpcChannelBuffer* pRpcChannelBuffer,
1121     PRPC_MESSAGE pRpcMessage,
1122     DWORD* pdwStubPhase);
1123 HRESULT CALLBACK IVLCInput_put_time_Proxy(
1124     IVLCInput* This,
1125     double time);
1126 void __RPC_STUB IVLCInput_put_time_Stub(
1127     IRpcStubBuffer* This,
1128     IRpcChannelBuffer* pRpcChannelBuffer,
1129     PRPC_MESSAGE pRpcMessage,
1130     DWORD* pdwStubPhase);
1131 HRESULT CALLBACK IVLCInput_get_state_Proxy(
1132     IVLCInput* This,
1133     int* state);
1134 void __RPC_STUB IVLCInput_get_state_Stub(
1135     IRpcStubBuffer* This,
1136     IRpcChannelBuffer* pRpcChannelBuffer,
1137     PRPC_MESSAGE pRpcMessage,
1138     DWORD* pdwStubPhase);
1139 HRESULT CALLBACK IVLCInput_get_rate_Proxy(
1140     IVLCInput* This,
1141     float* rate);
1142 void __RPC_STUB IVLCInput_get_rate_Stub(
1143     IRpcStubBuffer* This,
1144     IRpcChannelBuffer* pRpcChannelBuffer,
1145     PRPC_MESSAGE pRpcMessage,
1146     DWORD* pdwStubPhase);
1147 HRESULT CALLBACK IVLCInput_put_rate_Proxy(
1148     IVLCInput* This,
1149     float rate);
1150 void __RPC_STUB IVLCInput_put_rate_Stub(
1151     IRpcStubBuffer* This,
1152     IRpcChannelBuffer* pRpcChannelBuffer,
1153     PRPC_MESSAGE pRpcMessage,
1154     DWORD* pdwStubPhase);
1155 HRESULT CALLBACK IVLCInput_get_fps_Proxy(
1156     IVLCInput* This,
1157     float* fps);
1158 void __RPC_STUB IVLCInput_get_fps_Stub(
1159     IRpcStubBuffer* This,
1160     IRpcChannelBuffer* pRpcChannelBuffer,
1161     PRPC_MESSAGE pRpcMessage,
1162     DWORD* pdwStubPhase);
1163 HRESULT CALLBACK IVLCInput_get_hasVout_Proxy(
1164     IVLCInput* This,
1165     VARIANT_BOOL* hasVout);
1166 void __RPC_STUB IVLCInput_get_hasVout_Stub(
1167     IRpcStubBuffer* This,
1168     IRpcChannelBuffer* pRpcChannelBuffer,
1169     PRPC_MESSAGE pRpcMessage,
1170     DWORD* pdwStubPhase);
1171
1172 #endif  /* __IVLCInput_INTERFACE_DEFINED__ */
1173
1174 /*****************************************************************************
1175  * IVLCPlaylist interface
1176  */
1177 #ifndef __IVLCPlaylist_INTERFACE_DEFINED__
1178 #define __IVLCPlaylist_INTERFACE_DEFINED__
1179
1180 DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
1181 #if defined(__cplusplus) && !defined(CINTERFACE)
1182 interface IVLCPlaylist : public IDispatch
1183 {
1184     virtual HRESULT STDMETHODCALLTYPE get_itemCount(
1185         int* count) = 0;
1186
1187     virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
1188         VARIANT_BOOL* playing) = 0;
1189
1190     virtual HRESULT STDMETHODCALLTYPE add(
1191         BSTR uri,
1192         VARIANT name,
1193         VARIANT options,
1194         int* item) = 0;
1195
1196     virtual HRESULT STDMETHODCALLTYPE play(
1197         ) = 0;
1198
1199     virtual HRESULT STDMETHODCALLTYPE playItem(
1200         int item) = 0;
1201
1202     virtual HRESULT STDMETHODCALLTYPE togglePause(
1203         ) = 0;
1204
1205     virtual HRESULT STDMETHODCALLTYPE stop(
1206         ) = 0;
1207
1208     virtual HRESULT STDMETHODCALLTYPE next(
1209         ) = 0;
1210
1211     virtual HRESULT STDMETHODCALLTYPE prev(
1212         ) = 0;
1213
1214     virtual HRESULT STDMETHODCALLTYPE clear(
1215         ) = 0;
1216
1217     virtual HRESULT STDMETHODCALLTYPE removeItem(
1218         int item) = 0;
1219
1220 };
1221 #else
1222 typedef struct IVLCPlaylistVtbl {
1223     BEGIN_INTERFACE
1224
1225     /*** IUnknown methods ***/
1226     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1227         IVLCPlaylist* This,
1228         REFIID riid,
1229         void** ppvObject);
1230
1231     ULONG (STDMETHODCALLTYPE *AddRef)(
1232         IVLCPlaylist* This);
1233
1234     ULONG (STDMETHODCALLTYPE *Release)(
1235         IVLCPlaylist* This);
1236
1237     /*** IDispatch methods ***/
1238     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1239         IVLCPlaylist* This,
1240         UINT* pctinfo);
1241
1242     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1243         IVLCPlaylist* This,
1244         UINT iTInfo,
1245         LCID lcid,
1246         ITypeInfo** ppTInfo);
1247
1248     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1249         IVLCPlaylist* This,
1250         REFIID riid,
1251         LPOLESTR* rgszNames,
1252         UINT cNames,
1253         LCID lcid,
1254         DISPID* rgDispId);
1255
1256     HRESULT (STDMETHODCALLTYPE *Invoke)(
1257         IVLCPlaylist* This,
1258         DISPID dispIdMember,
1259         REFIID riid,
1260         LCID lcid,
1261         WORD wFlags,
1262         DISPPARAMS* pDispParams,
1263         VARIANT* pVarResult,
1264         EXCEPINFO* pExcepInfo,
1265         UINT* puArgErr);
1266
1267     /*** IVLCPlaylist methods ***/
1268     HRESULT (STDMETHODCALLTYPE *get_itemCount)(
1269         IVLCPlaylist* This,
1270         int* count);
1271
1272     HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
1273         IVLCPlaylist* This,
1274         VARIANT_BOOL* playing);
1275
1276     HRESULT (STDMETHODCALLTYPE *add)(
1277         IVLCPlaylist* This,
1278         BSTR uri,
1279         VARIANT name,
1280         VARIANT options,
1281         int* item);
1282
1283     HRESULT (STDMETHODCALLTYPE *play)(
1284         IVLCPlaylist* This);
1285
1286     HRESULT (STDMETHODCALLTYPE *playItem)(
1287         IVLCPlaylist* This,
1288         int item);
1289
1290     HRESULT (STDMETHODCALLTYPE *togglePause)(
1291         IVLCPlaylist* This);
1292
1293     HRESULT (STDMETHODCALLTYPE *stop)(
1294         IVLCPlaylist* This);
1295
1296     HRESULT (STDMETHODCALLTYPE *next)(
1297         IVLCPlaylist* This);
1298
1299     HRESULT (STDMETHODCALLTYPE *prev)(
1300         IVLCPlaylist* This);
1301
1302     HRESULT (STDMETHODCALLTYPE *clear)(
1303         IVLCPlaylist* This);
1304
1305     HRESULT (STDMETHODCALLTYPE *removeItem)(
1306         IVLCPlaylist* This,
1307         int item);
1308
1309     END_INTERFACE
1310 } IVLCPlaylistVtbl;
1311 interface IVLCPlaylist {
1312     const IVLCPlaylistVtbl* lpVtbl;
1313 };
1314
1315 #ifdef COBJMACROS
1316 /*** IUnknown methods ***/
1317 #define IVLCPlaylist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1318 #define IVLCPlaylist_AddRef(p) (p)->lpVtbl->AddRef(p)
1319 #define IVLCPlaylist_Release(p) (p)->lpVtbl->Release(p)
1320 /*** IDispatch methods ***/
1321 #define IVLCPlaylist_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1322 #define IVLCPlaylist_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1323 #define IVLCPlaylist_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1324 #define IVLCPlaylist_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1325 /*** IVLCPlaylist methods ***/
1326 #define IVLCPlaylist_get_itemCount(p,a) (p)->lpVtbl->get_itemCount(p,a)
1327 #define IVLCPlaylist_get_isPlaying(p,a) (p)->lpVtbl->get_isPlaying(p,a)
1328 #define IVLCPlaylist_add(p,a,b,c,d) (p)->lpVtbl->add(p,a,b,c,d)
1329 #define IVLCPlaylist_play(p) (p)->lpVtbl->play(p)
1330 #define IVLCPlaylist_playItem(p,a) (p)->lpVtbl->playItem(p,a)
1331 #define IVLCPlaylist_togglePause(p) (p)->lpVtbl->togglePause(p)
1332 #define IVLCPlaylist_stop(p) (p)->lpVtbl->stop(p)
1333 #define IVLCPlaylist_next(p) (p)->lpVtbl->next(p)
1334 #define IVLCPlaylist_prev(p) (p)->lpVtbl->prev(p)
1335 #define IVLCPlaylist_clear(p) (p)->lpVtbl->clear(p)
1336 #define IVLCPlaylist_removeItem(p,a) (p)->lpVtbl->removeItem(p,a)
1337 #endif
1338
1339 #endif
1340
1341 HRESULT CALLBACK IVLCPlaylist_get_itemCount_Proxy(
1342     IVLCPlaylist* This,
1343     int* count);
1344 void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
1345     IRpcStubBuffer* This,
1346     IRpcChannelBuffer* pRpcChannelBuffer,
1347     PRPC_MESSAGE pRpcMessage,
1348     DWORD* pdwStubPhase);
1349 HRESULT CALLBACK IVLCPlaylist_get_isPlaying_Proxy(
1350     IVLCPlaylist* This,
1351     VARIANT_BOOL* playing);
1352 void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
1353     IRpcStubBuffer* This,
1354     IRpcChannelBuffer* pRpcChannelBuffer,
1355     PRPC_MESSAGE pRpcMessage,
1356     DWORD* pdwStubPhase);
1357 HRESULT CALLBACK IVLCPlaylist_add_Proxy(
1358     IVLCPlaylist* This,
1359     BSTR uri,
1360     VARIANT name,
1361     VARIANT options,
1362     int* item);
1363 void __RPC_STUB IVLCPlaylist_add_Stub(
1364     IRpcStubBuffer* This,
1365     IRpcChannelBuffer* pRpcChannelBuffer,
1366     PRPC_MESSAGE pRpcMessage,
1367     DWORD* pdwStubPhase);
1368 HRESULT CALLBACK IVLCPlaylist_play_Proxy(
1369     IVLCPlaylist* This);
1370 void __RPC_STUB IVLCPlaylist_play_Stub(
1371     IRpcStubBuffer* This,
1372     IRpcChannelBuffer* pRpcChannelBuffer,
1373     PRPC_MESSAGE pRpcMessage,
1374     DWORD* pdwStubPhase);
1375 HRESULT CALLBACK IVLCPlaylist_playItem_Proxy(
1376     IVLCPlaylist* This,
1377     int item);
1378 void __RPC_STUB IVLCPlaylist_playItem_Stub(
1379     IRpcStubBuffer* This,
1380     IRpcChannelBuffer* pRpcChannelBuffer,
1381     PRPC_MESSAGE pRpcMessage,
1382     DWORD* pdwStubPhase);
1383 HRESULT CALLBACK IVLCPlaylist_togglePause_Proxy(
1384     IVLCPlaylist* This);
1385 void __RPC_STUB IVLCPlaylist_togglePause_Stub(
1386     IRpcStubBuffer* This,
1387     IRpcChannelBuffer* pRpcChannelBuffer,
1388     PRPC_MESSAGE pRpcMessage,
1389     DWORD* pdwStubPhase);
1390 HRESULT CALLBACK IVLCPlaylist_stop_Proxy(
1391     IVLCPlaylist* This);
1392 void __RPC_STUB IVLCPlaylist_stop_Stub(
1393     IRpcStubBuffer* This,
1394     IRpcChannelBuffer* pRpcChannelBuffer,
1395     PRPC_MESSAGE pRpcMessage,
1396     DWORD* pdwStubPhase);
1397 HRESULT CALLBACK IVLCPlaylist_next_Proxy(
1398     IVLCPlaylist* This);
1399 void __RPC_STUB IVLCPlaylist_next_Stub(
1400     IRpcStubBuffer* This,
1401     IRpcChannelBuffer* pRpcChannelBuffer,
1402     PRPC_MESSAGE pRpcMessage,
1403     DWORD* pdwStubPhase);
1404 HRESULT CALLBACK IVLCPlaylist_prev_Proxy(
1405     IVLCPlaylist* This);
1406 void __RPC_STUB IVLCPlaylist_prev_Stub(
1407     IRpcStubBuffer* This,
1408     IRpcChannelBuffer* pRpcChannelBuffer,
1409     PRPC_MESSAGE pRpcMessage,
1410     DWORD* pdwStubPhase);
1411 HRESULT CALLBACK IVLCPlaylist_clear_Proxy(
1412     IVLCPlaylist* This);
1413 void __RPC_STUB IVLCPlaylist_clear_Stub(
1414     IRpcStubBuffer* This,
1415     IRpcChannelBuffer* pRpcChannelBuffer,
1416     PRPC_MESSAGE pRpcMessage,
1417     DWORD* pdwStubPhase);
1418 HRESULT CALLBACK IVLCPlaylist_removeItem_Proxy(
1419     IVLCPlaylist* This,
1420     int item);
1421 void __RPC_STUB IVLCPlaylist_removeItem_Stub(
1422     IRpcStubBuffer* This,
1423     IRpcChannelBuffer* pRpcChannelBuffer,
1424     PRPC_MESSAGE pRpcMessage,
1425     DWORD* pdwStubPhase);
1426
1427 #endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
1428
1429 /*****************************************************************************
1430  * IVLCVideo interface
1431  */
1432 #ifndef __IVLCVideo_INTERFACE_DEFINED__
1433 #define __IVLCVideo_INTERFACE_DEFINED__
1434
1435 DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
1436 #if defined(__cplusplus) && !defined(CINTERFACE)
1437 interface IVLCVideo : public IDispatch
1438 {
1439     virtual HRESULT STDMETHODCALLTYPE get_fullscreen(
1440         VARIANT_BOOL* fullscreen) = 0;
1441
1442     virtual HRESULT STDMETHODCALLTYPE put_fullscreen(
1443         VARIANT_BOOL fullscreen) = 0;
1444
1445     virtual HRESULT STDMETHODCALLTYPE get_width(
1446         int* width) = 0;
1447
1448     virtual HRESULT STDMETHODCALLTYPE get_height(
1449         int* height) = 0;
1450
1451     virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
1452         ) = 0;
1453
1454 };
1455 #else
1456 typedef struct IVLCVideoVtbl {
1457     BEGIN_INTERFACE
1458
1459     /*** IUnknown methods ***/
1460     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1461         IVLCVideo* This,
1462         REFIID riid,
1463         void** ppvObject);
1464
1465     ULONG (STDMETHODCALLTYPE *AddRef)(
1466         IVLCVideo* This);
1467
1468     ULONG (STDMETHODCALLTYPE *Release)(
1469         IVLCVideo* This);
1470
1471     /*** IDispatch methods ***/
1472     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1473         IVLCVideo* This,
1474         UINT* pctinfo);
1475
1476     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1477         IVLCVideo* This,
1478         UINT iTInfo,
1479         LCID lcid,
1480         ITypeInfo** ppTInfo);
1481
1482     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1483         IVLCVideo* This,
1484         REFIID riid,
1485         LPOLESTR* rgszNames,
1486         UINT cNames,
1487         LCID lcid,
1488         DISPID* rgDispId);
1489
1490     HRESULT (STDMETHODCALLTYPE *Invoke)(
1491         IVLCVideo* This,
1492         DISPID dispIdMember,
1493         REFIID riid,
1494         LCID lcid,
1495         WORD wFlags,
1496         DISPPARAMS* pDispParams,
1497         VARIANT* pVarResult,
1498         EXCEPINFO* pExcepInfo,
1499         UINT* puArgErr);
1500
1501     /*** IVLCVideo methods ***/
1502     HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
1503         IVLCVideo* This,
1504         VARIANT_BOOL* fullscreen);
1505
1506     HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
1507         IVLCVideo* This,
1508         VARIANT_BOOL fullscreen);
1509
1510     HRESULT (STDMETHODCALLTYPE *get_width)(
1511         IVLCVideo* This,
1512         int* width);
1513
1514     HRESULT (STDMETHODCALLTYPE *get_height)(
1515         IVLCVideo* This,
1516         int* height);
1517
1518     HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
1519         IVLCVideo* This);
1520
1521     END_INTERFACE
1522 } IVLCVideoVtbl;
1523 interface IVLCVideo {
1524     const IVLCVideoVtbl* lpVtbl;
1525 };
1526
1527 #ifdef COBJMACROS
1528 /*** IUnknown methods ***/
1529 #define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1530 #define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
1531 #define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
1532 /*** IDispatch methods ***/
1533 #define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1534 #define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1535 #define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1536 #define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1537 /*** IVLCVideo methods ***/
1538 #define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
1539 #define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
1540 #define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
1541 #define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
1542 #define IVLCVideo_toggleFullscreen(p) (p)->lpVtbl->toggleFullscreen(p)
1543 #endif
1544
1545 #endif
1546
1547 HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
1548     IVLCVideo* This,
1549     VARIANT_BOOL* fullscreen);
1550 void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
1551     IRpcStubBuffer* This,
1552     IRpcChannelBuffer* pRpcChannelBuffer,
1553     PRPC_MESSAGE pRpcMessage,
1554     DWORD* pdwStubPhase);
1555 HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
1556     IVLCVideo* This,
1557     VARIANT_BOOL fullscreen);
1558 void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
1559     IRpcStubBuffer* This,
1560     IRpcChannelBuffer* pRpcChannelBuffer,
1561     PRPC_MESSAGE pRpcMessage,
1562     DWORD* pdwStubPhase);
1563 HRESULT CALLBACK IVLCVideo_get_width_Proxy(
1564     IVLCVideo* This,
1565     int* width);
1566 void __RPC_STUB IVLCVideo_get_width_Stub(
1567     IRpcStubBuffer* This,
1568     IRpcChannelBuffer* pRpcChannelBuffer,
1569     PRPC_MESSAGE pRpcMessage,
1570     DWORD* pdwStubPhase);
1571 HRESULT CALLBACK IVLCVideo_get_height_Proxy(
1572     IVLCVideo* This,
1573     int* height);
1574 void __RPC_STUB IVLCVideo_get_height_Stub(
1575     IRpcStubBuffer* This,
1576     IRpcChannelBuffer* pRpcChannelBuffer,
1577     PRPC_MESSAGE pRpcMessage,
1578     DWORD* pdwStubPhase);
1579 HRESULT CALLBACK IVLCVideo_toggleFullscreen_Proxy(
1580     IVLCVideo* This);
1581 void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
1582     IRpcStubBuffer* This,
1583     IRpcChannelBuffer* pRpcChannelBuffer,
1584     PRPC_MESSAGE pRpcMessage,
1585     DWORD* pdwStubPhase);
1586
1587 #endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
1588
1589 /*****************************************************************************
1590  * IVLCControl2 interface
1591  */
1592 #ifndef __IVLCControl2_INTERFACE_DEFINED__
1593 #define __IVLCControl2_INTERFACE_DEFINED__
1594
1595 DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
1596 #if defined(__cplusplus) && !defined(CINTERFACE)
1597 interface IVLCControl2 : public IDispatch
1598 {
1599     virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
1600         VARIANT_BOOL* autoloop) = 0;
1601
1602     virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
1603         VARIANT_BOOL autoloop) = 0;
1604
1605     virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
1606         VARIANT_BOOL* autoplay) = 0;
1607
1608     virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
1609         VARIANT_BOOL autoplay) = 0;
1610
1611     virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
1612         BSTR* url) = 0;
1613
1614     virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
1615         BSTR url) = 0;
1616
1617     virtual HRESULT STDMETHODCALLTYPE get_StartTime(
1618         int* seconds) = 0;
1619
1620     virtual HRESULT STDMETHODCALLTYPE put_StartTime(
1621         int seconds) = 0;
1622
1623     virtual HRESULT STDMETHODCALLTYPE get_MRL(
1624         BSTR* mrl) = 0;
1625
1626     virtual HRESULT STDMETHODCALLTYPE put_MRL(
1627         BSTR mrl) = 0;
1628
1629     virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
1630         BSTR* version) = 0;
1631
1632     virtual HRESULT STDMETHODCALLTYPE get_Visible(
1633         VARIANT_BOOL* visible) = 0;
1634
1635     virtual HRESULT STDMETHODCALLTYPE put_Visible(
1636         VARIANT_BOOL visible) = 0;
1637
1638     virtual HRESULT STDMETHODCALLTYPE get_Volume(
1639         int* volume) = 0;
1640
1641     virtual HRESULT STDMETHODCALLTYPE put_Volume(
1642         int volume) = 0;
1643
1644     virtual HRESULT STDMETHODCALLTYPE get_audio(
1645         IVLCAudio** obj) = 0;
1646
1647     virtual HRESULT STDMETHODCALLTYPE get_input(
1648         IVLCInput** obj) = 0;
1649
1650     virtual HRESULT STDMETHODCALLTYPE get_playlist(
1651         IVLCPlaylist** obj) = 0;
1652
1653     virtual HRESULT STDMETHODCALLTYPE get_video(
1654         IVLCVideo** obj) = 0;
1655
1656 };
1657 #else
1658 typedef struct IVLCControl2Vtbl {
1659     BEGIN_INTERFACE
1660
1661     /*** IUnknown methods ***/
1662     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1663         IVLCControl2* This,
1664         REFIID riid,
1665         void** ppvObject);
1666
1667     ULONG (STDMETHODCALLTYPE *AddRef)(
1668         IVLCControl2* This);
1669
1670     ULONG (STDMETHODCALLTYPE *Release)(
1671         IVLCControl2* This);
1672
1673     /*** IDispatch methods ***/
1674     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1675         IVLCControl2* This,
1676         UINT* pctinfo);
1677
1678     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1679         IVLCControl2* This,
1680         UINT iTInfo,
1681         LCID lcid,
1682         ITypeInfo** ppTInfo);
1683
1684     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1685         IVLCControl2* This,
1686         REFIID riid,
1687         LPOLESTR* rgszNames,
1688         UINT cNames,
1689         LCID lcid,
1690         DISPID* rgDispId);
1691
1692     HRESULT (STDMETHODCALLTYPE *Invoke)(
1693         IVLCControl2* This,
1694         DISPID dispIdMember,
1695         REFIID riid,
1696         LCID lcid,
1697         WORD wFlags,
1698         DISPPARAMS* pDispParams,
1699         VARIANT* pVarResult,
1700         EXCEPINFO* pExcepInfo,
1701         UINT* puArgErr);
1702
1703     /*** IVLCControl2 methods ***/
1704     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
1705         IVLCControl2* This,
1706         VARIANT_BOOL* autoloop);
1707
1708     HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
1709         IVLCControl2* This,
1710         VARIANT_BOOL autoloop);
1711
1712     HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
1713         IVLCControl2* This,
1714         VARIANT_BOOL* autoplay);
1715
1716     HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
1717         IVLCControl2* This,
1718         VARIANT_BOOL autoplay);
1719
1720     HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
1721         IVLCControl2* This,
1722         BSTR* url);
1723
1724     HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
1725         IVLCControl2* This,
1726         BSTR url);
1727
1728     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
1729         IVLCControl2* This,
1730         int* seconds);
1731
1732     HRESULT (STDMETHODCALLTYPE *put_StartTime)(
1733         IVLCControl2* This,
1734         int seconds);
1735
1736     HRESULT (STDMETHODCALLTYPE *get_MRL)(
1737         IVLCControl2* This,
1738         BSTR* mrl);
1739
1740     HRESULT (STDMETHODCALLTYPE *put_MRL)(
1741         IVLCControl2* This,
1742         BSTR mrl);
1743
1744     HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
1745         IVLCControl2* This,
1746         BSTR* version);
1747
1748     HRESULT (STDMETHODCALLTYPE *get_Visible)(
1749         IVLCControl2* This,
1750         VARIANT_BOOL* visible);
1751
1752     HRESULT (STDMETHODCALLTYPE *put_Visible)(
1753         IVLCControl2* This,
1754         VARIANT_BOOL visible);
1755
1756     HRESULT (STDMETHODCALLTYPE *get_Volume)(
1757         IVLCControl2* This,
1758         int* volume);
1759
1760     HRESULT (STDMETHODCALLTYPE *put_Volume)(
1761         IVLCControl2* This,
1762         int volume);
1763
1764     HRESULT (STDMETHODCALLTYPE *get_audio)(
1765         IVLCControl2* This,
1766         IVLCAudio** obj);
1767
1768     HRESULT (STDMETHODCALLTYPE *get_input)(
1769         IVLCControl2* This,
1770         IVLCInput** obj);
1771
1772     HRESULT (STDMETHODCALLTYPE *get_playlist)(
1773         IVLCControl2* This,
1774         IVLCPlaylist** obj);
1775
1776     HRESULT (STDMETHODCALLTYPE *get_video)(
1777         IVLCControl2* This,
1778         IVLCVideo** obj);
1779
1780     END_INTERFACE
1781 } IVLCControl2Vtbl;
1782 interface IVLCControl2 {
1783     const IVLCControl2Vtbl* lpVtbl;
1784 };
1785
1786 #ifdef COBJMACROS
1787 /*** IUnknown methods ***/
1788 #define IVLCControl2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1789 #define IVLCControl2_AddRef(p) (p)->lpVtbl->AddRef(p)
1790 #define IVLCControl2_Release(p) (p)->lpVtbl->Release(p)
1791 /*** IDispatch methods ***/
1792 #define IVLCControl2_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1793 #define IVLCControl2_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1794 #define IVLCControl2_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1795 #define IVLCControl2_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1796 /*** IVLCControl2 methods ***/
1797 #define IVLCControl2_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
1798 #define IVLCControl2_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
1799 #define IVLCControl2_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
1800 #define IVLCControl2_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
1801 #define IVLCControl2_get_BaseURL(p,a) (p)->lpVtbl->get_BaseURL(p,a)
1802 #define IVLCControl2_put_BaseURL(p,a) (p)->lpVtbl->put_BaseURL(p,a)
1803 #define IVLCControl2_get_StartTime(p,a) (p)->lpVtbl->get_StartTime(p,a)
1804 #define IVLCControl2_put_StartTime(p,a) (p)->lpVtbl->put_StartTime(p,a)
1805 #define IVLCControl2_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
1806 #define IVLCControl2_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
1807 #define IVLCControl2_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
1808 #define IVLCControl2_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
1809 #define IVLCControl2_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
1810 #define IVLCControl2_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
1811 #define IVLCControl2_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
1812 #define IVLCControl2_get_audio(p,a) (p)->lpVtbl->get_audio(p,a)
1813 #define IVLCControl2_get_input(p,a) (p)->lpVtbl->get_input(p,a)
1814 #define IVLCControl2_get_playlist(p,a) (p)->lpVtbl->get_playlist(p,a)
1815 #define IVLCControl2_get_video(p,a) (p)->lpVtbl->get_video(p,a)
1816 #endif
1817
1818 #endif
1819
1820 HRESULT CALLBACK IVLCControl2_get_AutoLoop_Proxy(
1821     IVLCControl2* This,
1822     VARIANT_BOOL* autoloop);
1823 void __RPC_STUB IVLCControl2_get_AutoLoop_Stub(
1824     IRpcStubBuffer* This,
1825     IRpcChannelBuffer* pRpcChannelBuffer,
1826     PRPC_MESSAGE pRpcMessage,
1827     DWORD* pdwStubPhase);
1828 HRESULT CALLBACK IVLCControl2_put_AutoLoop_Proxy(
1829     IVLCControl2* This,
1830     VARIANT_BOOL autoloop);
1831 void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
1832     IRpcStubBuffer* This,
1833     IRpcChannelBuffer* pRpcChannelBuffer,
1834     PRPC_MESSAGE pRpcMessage,
1835     DWORD* pdwStubPhase);
1836 HRESULT CALLBACK IVLCControl2_get_AutoPlay_Proxy(
1837     IVLCControl2* This,
1838     VARIANT_BOOL* autoplay);
1839 void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
1840     IRpcStubBuffer* This,
1841     IRpcChannelBuffer* pRpcChannelBuffer,
1842     PRPC_MESSAGE pRpcMessage,
1843     DWORD* pdwStubPhase);
1844 HRESULT CALLBACK IVLCControl2_put_AutoPlay_Proxy(
1845     IVLCControl2* This,
1846     VARIANT_BOOL autoplay);
1847 void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
1848     IRpcStubBuffer* This,
1849     IRpcChannelBuffer* pRpcChannelBuffer,
1850     PRPC_MESSAGE pRpcMessage,
1851     DWORD* pdwStubPhase);
1852 HRESULT CALLBACK IVLCControl2_get_BaseURL_Proxy(
1853     IVLCControl2* This,
1854     BSTR* url);
1855 void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
1856     IRpcStubBuffer* This,
1857     IRpcChannelBuffer* pRpcChannelBuffer,
1858     PRPC_MESSAGE pRpcMessage,
1859     DWORD* pdwStubPhase);
1860 HRESULT CALLBACK IVLCControl2_put_BaseURL_Proxy(
1861     IVLCControl2* This,
1862     BSTR url);
1863 void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
1864     IRpcStubBuffer* This,
1865     IRpcChannelBuffer* pRpcChannelBuffer,
1866     PRPC_MESSAGE pRpcMessage,
1867     DWORD* pdwStubPhase);
1868 HRESULT CALLBACK IVLCControl2_get_StartTime_Proxy(
1869     IVLCControl2* This,
1870     int* seconds);
1871 void __RPC_STUB IVLCControl2_get_StartTime_Stub(
1872     IRpcStubBuffer* This,
1873     IRpcChannelBuffer* pRpcChannelBuffer,
1874     PRPC_MESSAGE pRpcMessage,
1875     DWORD* pdwStubPhase);
1876 HRESULT CALLBACK IVLCControl2_put_StartTime_Proxy(
1877     IVLCControl2* This,
1878     int seconds);
1879 void __RPC_STUB IVLCControl2_put_StartTime_Stub(
1880     IRpcStubBuffer* This,
1881     IRpcChannelBuffer* pRpcChannelBuffer,
1882     PRPC_MESSAGE pRpcMessage,
1883     DWORD* pdwStubPhase);
1884 HRESULT CALLBACK IVLCControl2_get_MRL_Proxy(
1885     IVLCControl2* This,
1886     BSTR* mrl);
1887 void __RPC_STUB IVLCControl2_get_MRL_Stub(
1888     IRpcStubBuffer* This,
1889     IRpcChannelBuffer* pRpcChannelBuffer,
1890     PRPC_MESSAGE pRpcMessage,
1891     DWORD* pdwStubPhase);
1892 HRESULT CALLBACK IVLCControl2_put_MRL_Proxy(
1893     IVLCControl2* This,
1894     BSTR mrl);
1895 void __RPC_STUB IVLCControl2_put_MRL_Stub(
1896     IRpcStubBuffer* This,
1897     IRpcChannelBuffer* pRpcChannelBuffer,
1898     PRPC_MESSAGE pRpcMessage,
1899     DWORD* pdwStubPhase);
1900 HRESULT CALLBACK IVLCControl2_get_VersionInfo_Proxy(
1901     IVLCControl2* This,
1902     BSTR* version);
1903 void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
1904     IRpcStubBuffer* This,
1905     IRpcChannelBuffer* pRpcChannelBuffer,
1906     PRPC_MESSAGE pRpcMessage,
1907     DWORD* pdwStubPhase);
1908 HRESULT CALLBACK IVLCControl2_get_Visible_Proxy(
1909     IVLCControl2* This,
1910     VARIANT_BOOL* visible);
1911 void __RPC_STUB IVLCControl2_get_Visible_Stub(
1912     IRpcStubBuffer* This,
1913     IRpcChannelBuffer* pRpcChannelBuffer,
1914     PRPC_MESSAGE pRpcMessage,
1915     DWORD* pdwStubPhase);
1916 HRESULT CALLBACK IVLCControl2_put_Visible_Proxy(
1917     IVLCControl2* This,
1918     VARIANT_BOOL visible);
1919 void __RPC_STUB IVLCControl2_put_Visible_Stub(
1920     IRpcStubBuffer* This,
1921     IRpcChannelBuffer* pRpcChannelBuffer,
1922     PRPC_MESSAGE pRpcMessage,
1923     DWORD* pdwStubPhase);
1924 HRESULT CALLBACK IVLCControl2_get_Volume_Proxy(
1925     IVLCControl2* This,
1926     int* volume);
1927 void __RPC_STUB IVLCControl2_get_Volume_Stub(
1928     IRpcStubBuffer* This,
1929     IRpcChannelBuffer* pRpcChannelBuffer,
1930     PRPC_MESSAGE pRpcMessage,
1931     DWORD* pdwStubPhase);
1932 HRESULT CALLBACK IVLCControl2_put_Volume_Proxy(
1933     IVLCControl2* This,
1934     int volume);
1935 void __RPC_STUB IVLCControl2_put_Volume_Stub(
1936     IRpcStubBuffer* This,
1937     IRpcChannelBuffer* pRpcChannelBuffer,
1938     PRPC_MESSAGE pRpcMessage,
1939     DWORD* pdwStubPhase);
1940 HRESULT CALLBACK IVLCControl2_get_audio_Proxy(
1941     IVLCControl2* This,
1942     IVLCAudio** obj);
1943 void __RPC_STUB IVLCControl2_get_audio_Stub(
1944     IRpcStubBuffer* This,
1945     IRpcChannelBuffer* pRpcChannelBuffer,
1946     PRPC_MESSAGE pRpcMessage,
1947     DWORD* pdwStubPhase);
1948 HRESULT CALLBACK IVLCControl2_get_input_Proxy(
1949     IVLCControl2* This,
1950     IVLCInput** obj);
1951 void __RPC_STUB IVLCControl2_get_input_Stub(
1952     IRpcStubBuffer* This,
1953     IRpcChannelBuffer* pRpcChannelBuffer,
1954     PRPC_MESSAGE pRpcMessage,
1955     DWORD* pdwStubPhase);
1956 HRESULT CALLBACK IVLCControl2_get_playlist_Proxy(
1957     IVLCControl2* This,
1958     IVLCPlaylist** obj);
1959 void __RPC_STUB IVLCControl2_get_playlist_Stub(
1960     IRpcStubBuffer* This,
1961     IRpcChannelBuffer* pRpcChannelBuffer,
1962     PRPC_MESSAGE pRpcMessage,
1963     DWORD* pdwStubPhase);
1964 HRESULT CALLBACK IVLCControl2_get_video_Proxy(
1965     IVLCControl2* This,
1966     IVLCVideo** obj);
1967 void __RPC_STUB IVLCControl2_get_video_Stub(
1968     IRpcStubBuffer* This,
1969     IRpcChannelBuffer* pRpcChannelBuffer,
1970     PRPC_MESSAGE pRpcMessage,
1971     DWORD* pdwStubPhase);
1972
1973 #endif  /* __IVLCControl2_INTERFACE_DEFINED__ */
1974
1975 /*****************************************************************************
1976  * VLCPlugin coclass
1977  */
1978
1979 DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
1980
1981 #ifndef __VLCPlugin_FWD_DEFINED__
1982 #define __VLCPlugin_FWD_DEFINED__
1983 typedef struct VLCPlugin VLCPlugin;
1984 #endif /* defined __VLCPlugin_FWD_DEFINED__ */
1985
1986 /*****************************************************************************
1987  * VLCPlugin2 coclass
1988  */
1989
1990 DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
1991
1992 #ifndef __VLCPlugin2_FWD_DEFINED__
1993 #define __VLCPlugin2_FWD_DEFINED__
1994 typedef struct VLCPlugin2 VLCPlugin2;
1995 #endif /* defined __VLCPlugin2_FWD_DEFINED__ */
1996
1997 /* Begin additional prototypes for all interfaces */
1998
1999 unsigned long   __RPC_USER VARIANT_UserSize     (unsigned long *, unsigned long,   VARIANT *);
2000 unsigned char * __RPC_USER VARIANT_UserMarshal  (unsigned long *, unsigned char *, VARIANT *);
2001 unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *);
2002 void            __RPC_USER VARIANT_UserFree     (unsigned long *, VARIANT *);
2003 unsigned long   __RPC_USER BSTR_UserSize     (unsigned long *, unsigned long,   BSTR *);
2004 unsigned char * __RPC_USER BSTR_UserMarshal  (unsigned long *, unsigned char *, BSTR *);
2005 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR *);
2006 void            __RPC_USER BSTR_UserFree     (unsigned long *, BSTR *);
2007
2008 /* End additional prototypes */
2009
2010 #ifdef __cplusplus
2011 }
2012 #endif
2013 #endif /* __WIDL_AXVLC_IDL_H */