]> git.sesse.net Git - vlc/blob - activex/axvlc_idl.h
- activex: more features and fully updated test.html for new APIs
[vlc] / 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 };
1452 #else
1453 typedef struct IVLCVideoVtbl {
1454     BEGIN_INTERFACE
1455
1456     /*** IUnknown methods ***/
1457     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1458         IVLCVideo* This,
1459         REFIID riid,
1460         void** ppvObject);
1461
1462     ULONG (STDMETHODCALLTYPE *AddRef)(
1463         IVLCVideo* This);
1464
1465     ULONG (STDMETHODCALLTYPE *Release)(
1466         IVLCVideo* This);
1467
1468     /*** IDispatch methods ***/
1469     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1470         IVLCVideo* This,
1471         UINT* pctinfo);
1472
1473     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1474         IVLCVideo* This,
1475         UINT iTInfo,
1476         LCID lcid,
1477         ITypeInfo** ppTInfo);
1478
1479     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1480         IVLCVideo* This,
1481         REFIID riid,
1482         LPOLESTR* rgszNames,
1483         UINT cNames,
1484         LCID lcid,
1485         DISPID* rgDispId);
1486
1487     HRESULT (STDMETHODCALLTYPE *Invoke)(
1488         IVLCVideo* This,
1489         DISPID dispIdMember,
1490         REFIID riid,
1491         LCID lcid,
1492         WORD wFlags,
1493         DISPPARAMS* pDispParams,
1494         VARIANT* pVarResult,
1495         EXCEPINFO* pExcepInfo,
1496         UINT* puArgErr);
1497
1498     /*** IVLCVideo methods ***/
1499     HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
1500         IVLCVideo* This,
1501         VARIANT_BOOL* fullscreen);
1502
1503     HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
1504         IVLCVideo* This,
1505         VARIANT_BOOL fullscreen);
1506
1507     HRESULT (STDMETHODCALLTYPE *get_width)(
1508         IVLCVideo* This,
1509         int* width);
1510
1511     HRESULT (STDMETHODCALLTYPE *get_height)(
1512         IVLCVideo* This,
1513         int* height);
1514
1515     END_INTERFACE
1516 } IVLCVideoVtbl;
1517 interface IVLCVideo {
1518     const IVLCVideoVtbl* lpVtbl;
1519 };
1520
1521 #ifdef COBJMACROS
1522 /*** IUnknown methods ***/
1523 #define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1524 #define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
1525 #define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
1526 /*** IDispatch methods ***/
1527 #define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1528 #define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1529 #define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1530 #define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1531 /*** IVLCVideo methods ***/
1532 #define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
1533 #define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
1534 #define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
1535 #define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
1536 #endif
1537
1538 #endif
1539
1540 HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
1541     IVLCVideo* This,
1542     VARIANT_BOOL* fullscreen);
1543 void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
1544     IRpcStubBuffer* This,
1545     IRpcChannelBuffer* pRpcChannelBuffer,
1546     PRPC_MESSAGE pRpcMessage,
1547     DWORD* pdwStubPhase);
1548 HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
1549     IVLCVideo* This,
1550     VARIANT_BOOL fullscreen);
1551 void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
1552     IRpcStubBuffer* This,
1553     IRpcChannelBuffer* pRpcChannelBuffer,
1554     PRPC_MESSAGE pRpcMessage,
1555     DWORD* pdwStubPhase);
1556 HRESULT CALLBACK IVLCVideo_get_width_Proxy(
1557     IVLCVideo* This,
1558     int* width);
1559 void __RPC_STUB IVLCVideo_get_width_Stub(
1560     IRpcStubBuffer* This,
1561     IRpcChannelBuffer* pRpcChannelBuffer,
1562     PRPC_MESSAGE pRpcMessage,
1563     DWORD* pdwStubPhase);
1564 HRESULT CALLBACK IVLCVideo_get_height_Proxy(
1565     IVLCVideo* This,
1566     int* height);
1567 void __RPC_STUB IVLCVideo_get_height_Stub(
1568     IRpcStubBuffer* This,
1569     IRpcChannelBuffer* pRpcChannelBuffer,
1570     PRPC_MESSAGE pRpcMessage,
1571     DWORD* pdwStubPhase);
1572
1573 #endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
1574
1575 /*****************************************************************************
1576  * IVLCControl2 interface
1577  */
1578 #ifndef __IVLCControl2_INTERFACE_DEFINED__
1579 #define __IVLCControl2_INTERFACE_DEFINED__
1580
1581 DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
1582 #if defined(__cplusplus) && !defined(CINTERFACE)
1583 interface IVLCControl2 : public IDispatch
1584 {
1585     virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
1586         VARIANT_BOOL* autoloop) = 0;
1587
1588     virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
1589         VARIANT_BOOL autoloop) = 0;
1590
1591     virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
1592         VARIANT_BOOL* autoplay) = 0;
1593
1594     virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
1595         VARIANT_BOOL autoplay) = 0;
1596
1597     virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
1598         BSTR* url) = 0;
1599
1600     virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
1601         BSTR url) = 0;
1602
1603     virtual HRESULT STDMETHODCALLTYPE get_StartTime(
1604         int* seconds) = 0;
1605
1606     virtual HRESULT STDMETHODCALLTYPE put_StartTime(
1607         int seconds) = 0;
1608
1609     virtual HRESULT STDMETHODCALLTYPE get_MRL(
1610         BSTR* mrl) = 0;
1611
1612     virtual HRESULT STDMETHODCALLTYPE put_MRL(
1613         BSTR mrl) = 0;
1614
1615     virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
1616         BSTR* version) = 0;
1617
1618     virtual HRESULT STDMETHODCALLTYPE get_Visible(
1619         VARIANT_BOOL* visible) = 0;
1620
1621     virtual HRESULT STDMETHODCALLTYPE put_Visible(
1622         VARIANT_BOOL visible) = 0;
1623
1624     virtual HRESULT STDMETHODCALLTYPE get_Volume(
1625         int* volume) = 0;
1626
1627     virtual HRESULT STDMETHODCALLTYPE put_Volume(
1628         int volume) = 0;
1629
1630     virtual HRESULT STDMETHODCALLTYPE get_audio(
1631         IVLCAudio** obj) = 0;
1632
1633     virtual HRESULT STDMETHODCALLTYPE get_input(
1634         IVLCInput** obj) = 0;
1635
1636     virtual HRESULT STDMETHODCALLTYPE get_playlist(
1637         IVLCPlaylist** obj) = 0;
1638
1639     virtual HRESULT STDMETHODCALLTYPE get_video(
1640         IVLCVideo** obj) = 0;
1641
1642 };
1643 #else
1644 typedef struct IVLCControl2Vtbl {
1645     BEGIN_INTERFACE
1646
1647     /*** IUnknown methods ***/
1648     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1649         IVLCControl2* This,
1650         REFIID riid,
1651         void** ppvObject);
1652
1653     ULONG (STDMETHODCALLTYPE *AddRef)(
1654         IVLCControl2* This);
1655
1656     ULONG (STDMETHODCALLTYPE *Release)(
1657         IVLCControl2* This);
1658
1659     /*** IDispatch methods ***/
1660     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1661         IVLCControl2* This,
1662         UINT* pctinfo);
1663
1664     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1665         IVLCControl2* This,
1666         UINT iTInfo,
1667         LCID lcid,
1668         ITypeInfo** ppTInfo);
1669
1670     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1671         IVLCControl2* This,
1672         REFIID riid,
1673         LPOLESTR* rgszNames,
1674         UINT cNames,
1675         LCID lcid,
1676         DISPID* rgDispId);
1677
1678     HRESULT (STDMETHODCALLTYPE *Invoke)(
1679         IVLCControl2* This,
1680         DISPID dispIdMember,
1681         REFIID riid,
1682         LCID lcid,
1683         WORD wFlags,
1684         DISPPARAMS* pDispParams,
1685         VARIANT* pVarResult,
1686         EXCEPINFO* pExcepInfo,
1687         UINT* puArgErr);
1688
1689     /*** IVLCControl2 methods ***/
1690     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
1691         IVLCControl2* This,
1692         VARIANT_BOOL* autoloop);
1693
1694     HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
1695         IVLCControl2* This,
1696         VARIANT_BOOL autoloop);
1697
1698     HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
1699         IVLCControl2* This,
1700         VARIANT_BOOL* autoplay);
1701
1702     HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
1703         IVLCControl2* This,
1704         VARIANT_BOOL autoplay);
1705
1706     HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
1707         IVLCControl2* This,
1708         BSTR* url);
1709
1710     HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
1711         IVLCControl2* This,
1712         BSTR url);
1713
1714     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
1715         IVLCControl2* This,
1716         int* seconds);
1717
1718     HRESULT (STDMETHODCALLTYPE *put_StartTime)(
1719         IVLCControl2* This,
1720         int seconds);
1721
1722     HRESULT (STDMETHODCALLTYPE *get_MRL)(
1723         IVLCControl2* This,
1724         BSTR* mrl);
1725
1726     HRESULT (STDMETHODCALLTYPE *put_MRL)(
1727         IVLCControl2* This,
1728         BSTR mrl);
1729
1730     HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
1731         IVLCControl2* This,
1732         BSTR* version);
1733
1734     HRESULT (STDMETHODCALLTYPE *get_Visible)(
1735         IVLCControl2* This,
1736         VARIANT_BOOL* visible);
1737
1738     HRESULT (STDMETHODCALLTYPE *put_Visible)(
1739         IVLCControl2* This,
1740         VARIANT_BOOL visible);
1741
1742     HRESULT (STDMETHODCALLTYPE *get_Volume)(
1743         IVLCControl2* This,
1744         int* volume);
1745
1746     HRESULT (STDMETHODCALLTYPE *put_Volume)(
1747         IVLCControl2* This,
1748         int volume);
1749
1750     HRESULT (STDMETHODCALLTYPE *get_audio)(
1751         IVLCControl2* This,
1752         IVLCAudio** obj);
1753
1754     HRESULT (STDMETHODCALLTYPE *get_input)(
1755         IVLCControl2* This,
1756         IVLCInput** obj);
1757
1758     HRESULT (STDMETHODCALLTYPE *get_playlist)(
1759         IVLCControl2* This,
1760         IVLCPlaylist** obj);
1761
1762     HRESULT (STDMETHODCALLTYPE *get_video)(
1763         IVLCControl2* This,
1764         IVLCVideo** obj);
1765
1766     END_INTERFACE
1767 } IVLCControl2Vtbl;
1768 interface IVLCControl2 {
1769     const IVLCControl2Vtbl* lpVtbl;
1770 };
1771
1772 #ifdef COBJMACROS
1773 /*** IUnknown methods ***/
1774 #define IVLCControl2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1775 #define IVLCControl2_AddRef(p) (p)->lpVtbl->AddRef(p)
1776 #define IVLCControl2_Release(p) (p)->lpVtbl->Release(p)
1777 /*** IDispatch methods ***/
1778 #define IVLCControl2_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
1779 #define IVLCControl2_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
1780 #define IVLCControl2_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
1781 #define IVLCControl2_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
1782 /*** IVLCControl2 methods ***/
1783 #define IVLCControl2_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
1784 #define IVLCControl2_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
1785 #define IVLCControl2_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
1786 #define IVLCControl2_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
1787 #define IVLCControl2_get_BaseURL(p,a) (p)->lpVtbl->get_BaseURL(p,a)
1788 #define IVLCControl2_put_BaseURL(p,a) (p)->lpVtbl->put_BaseURL(p,a)
1789 #define IVLCControl2_get_StartTime(p,a) (p)->lpVtbl->get_StartTime(p,a)
1790 #define IVLCControl2_put_StartTime(p,a) (p)->lpVtbl->put_StartTime(p,a)
1791 #define IVLCControl2_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
1792 #define IVLCControl2_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
1793 #define IVLCControl2_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
1794 #define IVLCControl2_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
1795 #define IVLCControl2_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
1796 #define IVLCControl2_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
1797 #define IVLCControl2_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
1798 #define IVLCControl2_get_audio(p,a) (p)->lpVtbl->get_audio(p,a)
1799 #define IVLCControl2_get_input(p,a) (p)->lpVtbl->get_input(p,a)
1800 #define IVLCControl2_get_playlist(p,a) (p)->lpVtbl->get_playlist(p,a)
1801 #define IVLCControl2_get_video(p,a) (p)->lpVtbl->get_video(p,a)
1802 #endif
1803
1804 #endif
1805
1806 HRESULT CALLBACK IVLCControl2_get_AutoLoop_Proxy(
1807     IVLCControl2* This,
1808     VARIANT_BOOL* autoloop);
1809 void __RPC_STUB IVLCControl2_get_AutoLoop_Stub(
1810     IRpcStubBuffer* This,
1811     IRpcChannelBuffer* pRpcChannelBuffer,
1812     PRPC_MESSAGE pRpcMessage,
1813     DWORD* pdwStubPhase);
1814 HRESULT CALLBACK IVLCControl2_put_AutoLoop_Proxy(
1815     IVLCControl2* This,
1816     VARIANT_BOOL autoloop);
1817 void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
1818     IRpcStubBuffer* This,
1819     IRpcChannelBuffer* pRpcChannelBuffer,
1820     PRPC_MESSAGE pRpcMessage,
1821     DWORD* pdwStubPhase);
1822 HRESULT CALLBACK IVLCControl2_get_AutoPlay_Proxy(
1823     IVLCControl2* This,
1824     VARIANT_BOOL* autoplay);
1825 void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
1826     IRpcStubBuffer* This,
1827     IRpcChannelBuffer* pRpcChannelBuffer,
1828     PRPC_MESSAGE pRpcMessage,
1829     DWORD* pdwStubPhase);
1830 HRESULT CALLBACK IVLCControl2_put_AutoPlay_Proxy(
1831     IVLCControl2* This,
1832     VARIANT_BOOL autoplay);
1833 void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
1834     IRpcStubBuffer* This,
1835     IRpcChannelBuffer* pRpcChannelBuffer,
1836     PRPC_MESSAGE pRpcMessage,
1837     DWORD* pdwStubPhase);
1838 HRESULT CALLBACK IVLCControl2_get_BaseURL_Proxy(
1839     IVLCControl2* This,
1840     BSTR* url);
1841 void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
1842     IRpcStubBuffer* This,
1843     IRpcChannelBuffer* pRpcChannelBuffer,
1844     PRPC_MESSAGE pRpcMessage,
1845     DWORD* pdwStubPhase);
1846 HRESULT CALLBACK IVLCControl2_put_BaseURL_Proxy(
1847     IVLCControl2* This,
1848     BSTR url);
1849 void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
1850     IRpcStubBuffer* This,
1851     IRpcChannelBuffer* pRpcChannelBuffer,
1852     PRPC_MESSAGE pRpcMessage,
1853     DWORD* pdwStubPhase);
1854 HRESULT CALLBACK IVLCControl2_get_StartTime_Proxy(
1855     IVLCControl2* This,
1856     int* seconds);
1857 void __RPC_STUB IVLCControl2_get_StartTime_Stub(
1858     IRpcStubBuffer* This,
1859     IRpcChannelBuffer* pRpcChannelBuffer,
1860     PRPC_MESSAGE pRpcMessage,
1861     DWORD* pdwStubPhase);
1862 HRESULT CALLBACK IVLCControl2_put_StartTime_Proxy(
1863     IVLCControl2* This,
1864     int seconds);
1865 void __RPC_STUB IVLCControl2_put_StartTime_Stub(
1866     IRpcStubBuffer* This,
1867     IRpcChannelBuffer* pRpcChannelBuffer,
1868     PRPC_MESSAGE pRpcMessage,
1869     DWORD* pdwStubPhase);
1870 HRESULT CALLBACK IVLCControl2_get_MRL_Proxy(
1871     IVLCControl2* This,
1872     BSTR* mrl);
1873 void __RPC_STUB IVLCControl2_get_MRL_Stub(
1874     IRpcStubBuffer* This,
1875     IRpcChannelBuffer* pRpcChannelBuffer,
1876     PRPC_MESSAGE pRpcMessage,
1877     DWORD* pdwStubPhase);
1878 HRESULT CALLBACK IVLCControl2_put_MRL_Proxy(
1879     IVLCControl2* This,
1880     BSTR mrl);
1881 void __RPC_STUB IVLCControl2_put_MRL_Stub(
1882     IRpcStubBuffer* This,
1883     IRpcChannelBuffer* pRpcChannelBuffer,
1884     PRPC_MESSAGE pRpcMessage,
1885     DWORD* pdwStubPhase);
1886 HRESULT CALLBACK IVLCControl2_get_VersionInfo_Proxy(
1887     IVLCControl2* This,
1888     BSTR* version);
1889 void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
1890     IRpcStubBuffer* This,
1891     IRpcChannelBuffer* pRpcChannelBuffer,
1892     PRPC_MESSAGE pRpcMessage,
1893     DWORD* pdwStubPhase);
1894 HRESULT CALLBACK IVLCControl2_get_Visible_Proxy(
1895     IVLCControl2* This,
1896     VARIANT_BOOL* visible);
1897 void __RPC_STUB IVLCControl2_get_Visible_Stub(
1898     IRpcStubBuffer* This,
1899     IRpcChannelBuffer* pRpcChannelBuffer,
1900     PRPC_MESSAGE pRpcMessage,
1901     DWORD* pdwStubPhase);
1902 HRESULT CALLBACK IVLCControl2_put_Visible_Proxy(
1903     IVLCControl2* This,
1904     VARIANT_BOOL visible);
1905 void __RPC_STUB IVLCControl2_put_Visible_Stub(
1906     IRpcStubBuffer* This,
1907     IRpcChannelBuffer* pRpcChannelBuffer,
1908     PRPC_MESSAGE pRpcMessage,
1909     DWORD* pdwStubPhase);
1910 HRESULT CALLBACK IVLCControl2_get_Volume_Proxy(
1911     IVLCControl2* This,
1912     int* volume);
1913 void __RPC_STUB IVLCControl2_get_Volume_Stub(
1914     IRpcStubBuffer* This,
1915     IRpcChannelBuffer* pRpcChannelBuffer,
1916     PRPC_MESSAGE pRpcMessage,
1917     DWORD* pdwStubPhase);
1918 HRESULT CALLBACK IVLCControl2_put_Volume_Proxy(
1919     IVLCControl2* This,
1920     int volume);
1921 void __RPC_STUB IVLCControl2_put_Volume_Stub(
1922     IRpcStubBuffer* This,
1923     IRpcChannelBuffer* pRpcChannelBuffer,
1924     PRPC_MESSAGE pRpcMessage,
1925     DWORD* pdwStubPhase);
1926 HRESULT CALLBACK IVLCControl2_get_audio_Proxy(
1927     IVLCControl2* This,
1928     IVLCAudio** obj);
1929 void __RPC_STUB IVLCControl2_get_audio_Stub(
1930     IRpcStubBuffer* This,
1931     IRpcChannelBuffer* pRpcChannelBuffer,
1932     PRPC_MESSAGE pRpcMessage,
1933     DWORD* pdwStubPhase);
1934 HRESULT CALLBACK IVLCControl2_get_input_Proxy(
1935     IVLCControl2* This,
1936     IVLCInput** obj);
1937 void __RPC_STUB IVLCControl2_get_input_Stub(
1938     IRpcStubBuffer* This,
1939     IRpcChannelBuffer* pRpcChannelBuffer,
1940     PRPC_MESSAGE pRpcMessage,
1941     DWORD* pdwStubPhase);
1942 HRESULT CALLBACK IVLCControl2_get_playlist_Proxy(
1943     IVLCControl2* This,
1944     IVLCPlaylist** obj);
1945 void __RPC_STUB IVLCControl2_get_playlist_Stub(
1946     IRpcStubBuffer* This,
1947     IRpcChannelBuffer* pRpcChannelBuffer,
1948     PRPC_MESSAGE pRpcMessage,
1949     DWORD* pdwStubPhase);
1950 HRESULT CALLBACK IVLCControl2_get_video_Proxy(
1951     IVLCControl2* This,
1952     IVLCVideo** obj);
1953 void __RPC_STUB IVLCControl2_get_video_Stub(
1954     IRpcStubBuffer* This,
1955     IRpcChannelBuffer* pRpcChannelBuffer,
1956     PRPC_MESSAGE pRpcMessage,
1957     DWORD* pdwStubPhase);
1958
1959 #endif  /* __IVLCControl2_INTERFACE_DEFINED__ */
1960
1961 /*****************************************************************************
1962  * VLCPlugin coclass
1963  */
1964
1965 DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
1966
1967 #ifndef __VLCPlugin_FWD_DEFINED__
1968 #define __VLCPlugin_FWD_DEFINED__
1969 typedef struct VLCPlugin VLCPlugin;
1970 #endif /* defined __VLCPlugin_FWD_DEFINED__ */
1971
1972 /*****************************************************************************
1973  * VLCPlugin2 coclass
1974  */
1975
1976 DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
1977
1978 #ifndef __VLCPlugin2_FWD_DEFINED__
1979 #define __VLCPlugin2_FWD_DEFINED__
1980 typedef struct VLCPlugin2 VLCPlugin2;
1981 #endif /* defined __VLCPlugin2_FWD_DEFINED__ */
1982
1983 /* Begin additional prototypes for all interfaces */
1984
1985 unsigned long   __RPC_USER VARIANT_UserSize     (unsigned long *, unsigned long,   VARIANT *);
1986 unsigned char * __RPC_USER VARIANT_UserMarshal  (unsigned long *, unsigned char *, VARIANT *);
1987 unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT *);
1988 void            __RPC_USER VARIANT_UserFree     (unsigned long *, VARIANT *);
1989 unsigned long   __RPC_USER BSTR_UserSize     (unsigned long *, unsigned long,   BSTR *);
1990 unsigned char * __RPC_USER BSTR_UserMarshal  (unsigned long *, unsigned char *, BSTR *);
1991 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR *);
1992 void            __RPC_USER BSTR_UserFree     (unsigned long *, BSTR *);
1993
1994 /* End additional prototypes */
1995
1996 #ifdef __cplusplus
1997 }
1998 #endif
1999 #endif /* __WIDL_AXVLC_IDL_H */