]> git.sesse.net Git - vlc/blobdiff - activex/axvlc_idl.h
Removes trailing spaces. Removes tabs.
[vlc] / activex / axvlc_idl.h
index f35b6feac6bce58bd5c5c097516d6ad118a4f667..c3d5a9521e7c4d4d0b4d9455e742caa7c079b98a 100644 (file)
-/*** Autogenerated by WIDL 0.9.27 from axvlc.idl - Do not edit ***/
-#include <rpc.h>
-#include <rpcndr.h>
 
-#ifndef __WIDL_AXVLC_IDL_H
-#define __WIDL_AXVLC_IDL_H
-#ifdef __cplusplus
-extern "C" {
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Mon Jun 25 12:18:49 2007
+ */
+/* Compiler settings for axvlc.idl:
+    Oicf, W1, Zp8, env=Win32 (32b run)
+    protocol : dce , ms_ext, c_ext, robust
+    error checks: allocation ref bounds_check enum stub_data
+    VC __declspec() decoration level:
+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+         DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING(  )
+
+#pragma warning( disable: 4049 )  /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+
+#ifndef __axvlc_idl_h__
+#define __axvlc_idl_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
 #endif
-#include <ocidl.h>
 
-DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
+/* Forward Declarations */
 
 #ifndef __IVLCControl_FWD_DEFINED__
 #define __IVLCControl_FWD_DEFINED__
 typedef interface IVLCControl IVLCControl;
-#endif
+#endif     /* __IVLCControl_FWD_DEFINED__ */
+
 
 #ifndef __IVLCAudio_FWD_DEFINED__
 #define __IVLCAudio_FWD_DEFINED__
 typedef interface IVLCAudio IVLCAudio;
-#endif
+#endif     /* __IVLCAudio_FWD_DEFINED__ */
+
 
 #ifndef __IVLCInput_FWD_DEFINED__
 #define __IVLCInput_FWD_DEFINED__
 typedef interface IVLCInput IVLCInput;
-#endif
+#endif     /* __IVLCInput_FWD_DEFINED__ */
+
 
 #ifndef __IVLCLog_FWD_DEFINED__
 #define __IVLCLog_FWD_DEFINED__
 typedef interface IVLCLog IVLCLog;
-#endif
+#endif     /* __IVLCLog_FWD_DEFINED__ */
+
 
 #ifndef __IVLCMessage_FWD_DEFINED__
 #define __IVLCMessage_FWD_DEFINED__
 typedef interface IVLCMessage IVLCMessage;
-#endif
+#endif     /* __IVLCMessage_FWD_DEFINED__ */
+
 
 #ifndef __IVLCMessageIterator_FWD_DEFINED__
 #define __IVLCMessageIterator_FWD_DEFINED__
 typedef interface IVLCMessageIterator IVLCMessageIterator;
-#endif
+#endif     /* __IVLCMessageIterator_FWD_DEFINED__ */
+
 
 #ifndef __IVLCMessages_FWD_DEFINED__
 #define __IVLCMessages_FWD_DEFINED__
 typedef interface IVLCMessages IVLCMessages;
-#endif
+#endif     /* __IVLCMessages_FWD_DEFINED__ */
+
 
 #ifndef __IVLCPlaylist_FWD_DEFINED__
 #define __IVLCPlaylist_FWD_DEFINED__
 typedef interface IVLCPlaylist IVLCPlaylist;
-#endif
+#endif     /* __IVLCPlaylist_FWD_DEFINED__ */
+
 
 #ifndef __IVLCVideo_FWD_DEFINED__
 #define __IVLCVideo_FWD_DEFINED__
 typedef interface IVLCVideo IVLCVideo;
-#endif
+#endif     /* __IVLCVideo_FWD_DEFINED__ */
+
 
 #ifndef __IVLCControl2_FWD_DEFINED__
 #define __IVLCControl2_FWD_DEFINED__
 typedef interface IVLCControl2 IVLCControl2;
-#endif
+#endif     /* __IVLCControl2_FWD_DEFINED__ */
+
 
 #ifndef __DVLCEvents_FWD_DEFINED__
 #define __DVLCEvents_FWD_DEFINED__
 typedef interface DVLCEvents DVLCEvents;
-#endif
+#endif     /* __DVLCEvents_FWD_DEFINED__ */
 
-typedef enum VLCPlaylistMode {
-    VLCPlayListInsert = 1,
-    VLCPlayListInsertAndGo = 9,
-    VLCPlayListReplace = 2,
-    VLCPlayListReplaceAndGo = 10,
-    VLCPlayListAppend = 4,
-    VLCPlayListAppendAndGo = 12,
-    VLCPlayListCheckInsert = 16
-} eVLCPlaylistMode;
-#define VLCPlayListEnd (-666)
 
-#define DISPID_Visible (100)
+#ifndef __IVLCPlaylistItems_FWD_DEFINED__
+#define __IVLCPlaylistItems_FWD_DEFINED__
+typedef interface IVLCPlaylistItems IVLCPlaylistItems;
+#endif     /* __IVLCPlaylistItems_FWD_DEFINED__ */
 
-#define DISPID_Playing (101)
 
-#define DISPID_Position (102)
+#ifndef __VLCPlugin_FWD_DEFINED__
+#define __VLCPlugin_FWD_DEFINED__
 
-#define DISPID_Time (103)
+#ifdef __cplusplus
+typedef class VLCPlugin VLCPlugin;
+#else
+typedef struct VLCPlugin VLCPlugin;
+#endif /* __cplusplus */
 
-#define DISPID_Length (104)
+#endif     /* __VLCPlugin_FWD_DEFINED__ */
 
-#define DISPID_Volume (105)
 
-#define DISPID_MRL (106)
+#ifndef __VLCPlugin2_FWD_DEFINED__
+#define __VLCPlugin2_FWD_DEFINED__
 
-#define DISPID_AutoPlay (107)
+#ifdef __cplusplus
+typedef class VLCPlugin2 VLCPlugin2;
+#else
+typedef struct VLCPlugin2 VLCPlugin2;
+#endif /* __cplusplus */
 
-#define DISPID_AutoLoop (108)
+#endif     /* __VLCPlugin2_FWD_DEFINED__ */
 
-#define DISPID_StartTime (109)
 
-#define DISPID_BaseURL (110)
+/* header files for imported files */
+#include "ocidl.h"
 
-/*****************************************************************************
- * IVLCControl interface
- */
-#ifndef __IVLCControl_INTERFACE_DEFINED__
-#define __IVLCControl_INTERFACE_DEFINED__
+#ifdef __cplusplus
+extern "C"{
+#endif
 
-DEFINE_GUID(IID_IVLCControl, 0xc2fa41d0, 0xb113, 0x476e, 0xac,0x8c, 0x9b,0xd1,0x49,0x99,0xc1,0xc1);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCControl : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_Visible(
-        VARIANT_BOOL* visible) = 0;
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * );
 
-    virtual HRESULT STDMETHODCALLTYPE put_Visible(
-        VARIANT_BOOL visible) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE play(
-        ) = 0;
+#ifndef __AXVLC_LIBRARY_DEFINED__
+#define __AXVLC_LIBRARY_DEFINED__
 
-    virtual HRESULT STDMETHODCALLTYPE pause(
-        ) = 0;
+/* library AXVLC */
+/* [helpstring][version][uuid] */
 
-    virtual HRESULT STDMETHODCALLTYPE stop(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_Playing(
-        VARIANT_BOOL* isPlaying) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_Position(
-        float* position) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_Position(
-        float position) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_Time(
-        int* seconds) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_Time(
-        int seconds) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE shuttle(
-        int seconds) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE fullscreen(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_Length(
-        int* seconds) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE playFaster(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE playSlower(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_Volume(
-        int* volume) = 0;
+typedef /* [public] */
+enum VLCPlaylistMode
+    {    VLCPlayListInsert    = 1,
+    VLCPlayListInsertAndGo    = 9,
+    VLCPlayListReplace    = 2,
+    VLCPlayListReplaceAndGo    = 10,
+    VLCPlayListAppend    = 4,
+    VLCPlayListAppendAndGo    = 12,
+    VLCPlayListCheckInsert    = 16
+    }     eVLCPlaylistMode;
 
-    virtual HRESULT STDMETHODCALLTYPE put_Volume(
-        int volume) = 0;
+#define    VLCPlayListEnd    ( -666 )
 
-    virtual HRESULT STDMETHODCALLTYPE toggleMute(
-        ) = 0;
+#define    DISPID_BackColor    ( -501 )
 
-    virtual HRESULT STDMETHODCALLTYPE setVariable(
-        BSTR name,
-        VARIANT value) = 0;
+#define    DISPID_Visible    ( 100 )
 
-    virtual HRESULT STDMETHODCALLTYPE getVariable(
-        BSTR name,
-        VARIANT* value) = 0;
+#define    DISPID_Playing    ( 101 )
 
-    virtual HRESULT STDMETHODCALLTYPE addTarget(
-        BSTR uri,
-        VARIANT options,
-        enum VLCPlaylistMode mode,
-        int position) = 0;
+#define    DISPID_Position    ( 102 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_PlaylistIndex(
-        int* index) = 0;
+#define    DISPID_Time    ( 103 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_PlaylistCount(
-        int* index) = 0;
+#define    DISPID_Length    ( 104 )
 
-    virtual HRESULT STDMETHODCALLTYPE playlistNext(
-        ) = 0;
+#define    DISPID_Volume    ( 105 )
 
-    virtual HRESULT STDMETHODCALLTYPE playlistPrev(
-        ) = 0;
+#define    DISPID_MRL    ( 106 )
 
-    virtual HRESULT STDMETHODCALLTYPE playlistClear(
-        ) = 0;
+#define    DISPID_AutoPlay    ( 107 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
-        BSTR* version) = 0;
+#define    DISPID_AutoLoop    ( 108 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_MRL(
-        BSTR* mrl) = 0;
+#define    DISPID_StartTime    ( 109 )
 
-    virtual HRESULT STDMETHODCALLTYPE put_MRL(
-        BSTR mrl) = 0;
+#define    DISPID_BaseURL    ( 110 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
-        VARIANT_BOOL* autoplay) = 0;
+#define    DISPID_PlayEvent    ( 100 )
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
-        VARIANT_BOOL autoplay) = 0;
+#define    DISPID_PauseEvent    ( 101 )
 
-    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
-        VARIANT_BOOL* autoloop) = 0;
+#define    DISPID_StopEvent    ( 102 )
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
-        VARIANT_BOOL autoloop) = 0;
 
-};
-#else
-typedef struct IVLCControlVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCControl* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCControl* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCControl* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCControl* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCControl* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCControl* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCControl* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCControl methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_Visible)(
-        IVLCControl* This,
-        VARIANT_BOOL* visible);
-
-    HRESULT (STDMETHODCALLTYPE *put_Visible)(
-        IVLCControl* This,
-        VARIANT_BOOL visible);
-
-    HRESULT (STDMETHODCALLTYPE *play)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *pause)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *stop)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_Playing)(
-        IVLCControl* This,
-        VARIANT_BOOL* isPlaying);
-
-    HRESULT (STDMETHODCALLTYPE *get_Position)(
-        IVLCControl* This,
-        float* position);
-
-    HRESULT (STDMETHODCALLTYPE *put_Position)(
-        IVLCControl* This,
-        float position);
-
-    HRESULT (STDMETHODCALLTYPE *get_Time)(
-        IVLCControl* This,
-        int* seconds);
-
-    HRESULT (STDMETHODCALLTYPE *put_Time)(
-        IVLCControl* This,
-        int seconds);
-
-    HRESULT (STDMETHODCALLTYPE *shuttle)(
-        IVLCControl* This,
-        int seconds);
-
-    HRESULT (STDMETHODCALLTYPE *fullscreen)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_Length)(
-        IVLCControl* This,
-        int* seconds);
-
-    HRESULT (STDMETHODCALLTYPE *playFaster)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *playSlower)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_Volume)(
-        IVLCControl* This,
-        int* volume);
-
-    HRESULT (STDMETHODCALLTYPE *put_Volume)(
-        IVLCControl* This,
-        int volume);
-
-    HRESULT (STDMETHODCALLTYPE *toggleMute)(
-        IVLCControl* This);
-
-    HRESULT (STDMETHODCALLTYPE *setVariable)(
-        IVLCControl* This,
-        BSTR name,
-        VARIANT value);
-
-    HRESULT (STDMETHODCALLTYPE *getVariable)(
-        IVLCControl* This,
-        BSTR name,
-        VARIANT* value);
-
-    HRESULT (STDMETHODCALLTYPE *addTarget)(
-        IVLCControl* This,
-        BSTR uri,
-        VARIANT options,
-        enum VLCPlaylistMode mode,
-        int position);
-
-    HRESULT (STDMETHODCALLTYPE *get_PlaylistIndex)(
-        IVLCControl* This,
-        int* index);
-
-    HRESULT (STDMETHODCALLTYPE *get_PlaylistCount)(
-        IVLCControl* This,
-        int* index);
-
-    HRESULT (STDMETHODCALLTYPE *playlistNext)(
-        IVLCControl* This);
+EXTERN_C const IID LIBID_AXVLC;
 
-    HRESULT (STDMETHODCALLTYPE *playlistPrev)(
-        IVLCControl* This);
+#ifndef __IVLCControl_INTERFACE_DEFINED__
+#define __IVLCControl_INTERFACE_DEFINED__
 
-    HRESULT (STDMETHODCALLTYPE *playlistClear)(
-        IVLCControl* This);
+/* interface IVLCControl */
+/* [object][oleautomation][dual][helpstring][uuid] */
 
-    HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
-        IVLCControl* This,
-        BSTR* version);
 
-    HRESULT (STDMETHODCALLTYPE *get_MRL)(
-        IVLCControl* This,
-        BSTR* mrl);
+EXTERN_C const IID IID_IVLCControl;
 
-    HRESULT (STDMETHODCALLTYPE *put_MRL)(
-        IVLCControl* This,
-        BSTR mrl);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("C2FA41D0-B113-476e-AC8C-9BD14999C1C1")
+    IVLCControl : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][bindable][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible(
+            /* [retval][out] */ VARIANT_BOOL *visible) = 0;
+        virtual /* [helpstring][bindable][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible(
+            /* [in] */ VARIANT_BOOL visible) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE play( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE pause( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;
+        virtual /* [helpstring][propget][hidden][id] */ HRESULT STDMETHODCALLTYPE get_Playing(
+            /* [retval][out] */ VARIANT_BOOL *isPlaying) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position(
+            /* [retval][out] */ float *position) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position(
+            /* [in] */ float position) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Time(
+            /* [retval][out] */ int *seconds) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Time(
+            /* [in] */ int seconds) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE shuttle(
+            /* [in] */ int seconds) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE fullscreen( void) = 0;
+        virtual /* [helpstring][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Length(
+            /* [retval][out] */ int *seconds) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playFaster( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playSlower( void) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Volume(
+            /* [retval][out] */ int *volume) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Volume(
+            /* [in] */ int volume) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleMute( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE setVariable(
+            /* [in] */ BSTR name,
+            /* [in] */ VARIANT value) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE getVariable(
+            /* [in] */ BSTR name,
+            /* [retval][out] */ VARIANT *value) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE addTarget(
+            /* [in] */ BSTR uri,
+            /* [in] */ VARIANT options,
+            /* [in] */ enum VLCPlaylistMode mode,
+            /* [in] */ int position) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistIndex(
+            /* [retval][out] */ int *index) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistCount(
+            /* [retval][out] */ int *index) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistNext( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistPrev( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistClear( void) = 0;
+        virtual /* [helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_VersionInfo(
+            /* [retval][out] */ BSTR *version) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MRL(
+            /* [retval][out] */ BSTR *mrl) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_MRL(
+            /* [in] */ BSTR mrl) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoPlay(
+            /* [retval][out] */ VARIANT_BOOL *autoplay) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoPlay(
+            /* [in] */ VARIANT_BOOL autoplay) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLoop(
+            /* [retval][out] */ VARIANT_BOOL *autoloop) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoLoop(
+            /* [in] */ VARIANT_BOOL autoloop) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCControlVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCControl * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCControl * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCControl * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCControl * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCControl * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCControl * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCControl * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][bindable][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )(
+            IVLCControl * This,
+            /* [retval][out] */ VARIANT_BOOL *visible);
+        /* [helpstring][bindable][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )(
+            IVLCControl * This,
+            /* [in] */ VARIANT_BOOL visible);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *play )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *pause )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *stop )(
+            IVLCControl * This);
+        /* [helpstring][propget][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *get_Playing )(
+            IVLCControl * This,
+            /* [retval][out] */ VARIANT_BOOL *isPlaying);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )(
+            IVLCControl * This,
+            /* [retval][out] */ float *position);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )(
+            IVLCControl * This,
+            /* [in] */ float position);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Time )(
+            IVLCControl * This,
+            /* [retval][out] */ int *seconds);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Time )(
+            IVLCControl * This,
+            /* [in] */ int seconds);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *shuttle )(
+            IVLCControl * This,
+            /* [in] */ int seconds);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *fullscreen )(
+            IVLCControl * This);
+        /* [helpstring][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Length )(
+            IVLCControl * This,
+            /* [retval][out] */ int *seconds);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playFaster )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playSlower )(
+            IVLCControl * This);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )(
+            IVLCControl * This,
+            /* [retval][out] */ int *volume);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )(
+            IVLCControl * This,
+            /* [in] */ int volume);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleMute )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *setVariable )(
+            IVLCControl * This,
+            /* [in] */ BSTR name,
+            /* [in] */ VARIANT value);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *getVariable )(
+            IVLCControl * This,
+            /* [in] */ BSTR name,
+            /* [retval][out] */ VARIANT *value);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *addTarget )(
+            IVLCControl * This,
+            /* [in] */ BSTR uri,
+            /* [in] */ VARIANT options,
+            /* [in] */ enum VLCPlaylistMode mode,
+            /* [in] */ int position);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistIndex )(
+            IVLCControl * This,
+            /* [retval][out] */ int *index);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistCount )(
+            IVLCControl * This,
+            /* [retval][out] */ int *index);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistNext )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistPrev )(
+            IVLCControl * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistClear )(
+            IVLCControl * This);
+        /* [helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionInfo )(
+            IVLCControl * This,
+            /* [retval][out] */ BSTR *version);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MRL )(
+            IVLCControl * This,
+            /* [retval][out] */ BSTR *mrl);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MRL )(
+            IVLCControl * This,
+            /* [in] */ BSTR mrl);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoPlay )(
+            IVLCControl * This,
+            /* [retval][out] */ VARIANT_BOOL *autoplay);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoPlay )(
+            IVLCControl * This,
+            /* [in] */ VARIANT_BOOL autoplay);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLoop )(
+            IVLCControl * This,
+            /* [retval][out] */ VARIANT_BOOL *autoloop);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoLoop )(
+            IVLCControl * This,
+            /* [in] */ VARIANT_BOOL autoloop);
+        END_INTERFACE
+    } IVLCControlVtbl;
+
+    interface IVLCControl
+    {
+        CONST_VTBL struct IVLCControlVtbl *lpVtbl;
+    };
+
 
-    HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
-        IVLCControl* This,
-        VARIANT_BOOL* autoplay);
+#ifdef COBJMACROS
 
-    HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
-        IVLCControl* This,
-        VARIANT_BOOL autoplay);
 
-    HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
-        IVLCControl* This,
-        VARIANT_BOOL* autoloop);
+#define IVLCControl_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 
-    HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
-        IVLCControl* This,
-        VARIANT_BOOL autoloop);
+#define IVLCControl_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
 
-    END_INTERFACE
-} IVLCControlVtbl;
-interface IVLCControl {
-    CONST_VTBL IVLCControlVtbl* lpVtbl;
-};
+#define IVLCControl_Release(This)    \
+    (This)->lpVtbl -> Release(This)
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCControl_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCControl_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCControl_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCControl_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCControl_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCControl_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCControl methods ***/
-#define IVLCControl_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
-#define IVLCControl_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
-#define IVLCControl_play(p) (p)->lpVtbl->play(p)
-#define IVLCControl_pause(p) (p)->lpVtbl->pause(p)
-#define IVLCControl_stop(p) (p)->lpVtbl->stop(p)
-#define IVLCControl_get_Playing(p,a) (p)->lpVtbl->get_Playing(p,a)
-#define IVLCControl_get_Position(p,a) (p)->lpVtbl->get_Position(p,a)
-#define IVLCControl_put_Position(p,a) (p)->lpVtbl->put_Position(p,a)
-#define IVLCControl_get_Time(p,a) (p)->lpVtbl->get_Time(p,a)
-#define IVLCControl_put_Time(p,a) (p)->lpVtbl->put_Time(p,a)
-#define IVLCControl_shuttle(p,a) (p)->lpVtbl->shuttle(p,a)
-#define IVLCControl_fullscreen(p) (p)->lpVtbl->fullscreen(p)
-#define IVLCControl_get_Length(p,a) (p)->lpVtbl->get_Length(p,a)
-#define IVLCControl_playFaster(p) (p)->lpVtbl->playFaster(p)
-#define IVLCControl_playSlower(p) (p)->lpVtbl->playSlower(p)
-#define IVLCControl_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
-#define IVLCControl_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
-#define IVLCControl_toggleMute(p) (p)->lpVtbl->toggleMute(p)
-#define IVLCControl_setVariable(p,a,b) (p)->lpVtbl->setVariable(p,a,b)
-#define IVLCControl_getVariable(p,a,b) (p)->lpVtbl->getVariable(p,a,b)
-#define IVLCControl_addTarget(p,a,b,c,d) (p)->lpVtbl->addTarget(p,a,b,c,d)
-#define IVLCControl_get_PlaylistIndex(p,a) (p)->lpVtbl->get_PlaylistIndex(p,a)
-#define IVLCControl_get_PlaylistCount(p,a) (p)->lpVtbl->get_PlaylistCount(p,a)
-#define IVLCControl_playlistNext(p) (p)->lpVtbl->playlistNext(p)
-#define IVLCControl_playlistPrev(p) (p)->lpVtbl->playlistPrev(p)
-#define IVLCControl_playlistClear(p) (p)->lpVtbl->playlistClear(p)
-#define IVLCControl_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
-#define IVLCControl_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
-#define IVLCControl_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
-#define IVLCControl_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
-#define IVLCControl_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
-#define IVLCControl_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
-#define IVLCControl_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
-#endif
 
-#endif
+#define IVLCControl_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
 
-HRESULT CALLBACK IVLCControl_get_Visible_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL* visible);
-void __RPC_STUB IVLCControl_get_Visible_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_Visible_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL visible);
-void __RPC_STUB IVLCControl_put_Visible_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_play_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_play_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_pause_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_pause_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_stop_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_stop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_Playing_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL* isPlaying);
-void __RPC_STUB IVLCControl_get_Playing_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_Position_Proxy(
-    IVLCControl* This,
-    float* position);
-void __RPC_STUB IVLCControl_get_Position_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_Position_Proxy(
-    IVLCControl* This,
-    float position);
-void __RPC_STUB IVLCControl_put_Position_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_Time_Proxy(
-    IVLCControl* This,
-    int* seconds);
-void __RPC_STUB IVLCControl_get_Time_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_Time_Proxy(
-    IVLCControl* This,
-    int seconds);
-void __RPC_STUB IVLCControl_put_Time_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_shuttle_Proxy(
-    IVLCControl* This,
-    int seconds);
-void __RPC_STUB IVLCControl_shuttle_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_fullscreen_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_fullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_Length_Proxy(
-    IVLCControl* This,
-    int* seconds);
-void __RPC_STUB IVLCControl_get_Length_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_playFaster_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_playFaster_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_playSlower_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_playSlower_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_Volume_Proxy(
-    IVLCControl* This,
-    int* volume);
-void __RPC_STUB IVLCControl_get_Volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_Volume_Proxy(
-    IVLCControl* This,
-    int volume);
-void __RPC_STUB IVLCControl_put_Volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_toggleMute_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_toggleMute_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_setVariable_Proxy(
-    IVLCControl* This,
-    BSTR name,
-    VARIANT value);
-void __RPC_STUB IVLCControl_setVariable_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_getVariable_Proxy(
-    IVLCControl* This,
-    BSTR name,
-    VARIANT* value);
-void __RPC_STUB IVLCControl_getVariable_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_addTarget_Proxy(
-    IVLCControl* This,
-    BSTR uri,
-    VARIANT options,
-    enum VLCPlaylistMode mode,
-    int position);
-void __RPC_STUB IVLCControl_addTarget_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_PlaylistIndex_Proxy(
-    IVLCControl* This,
-    int* index);
-void __RPC_STUB IVLCControl_get_PlaylistIndex_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_PlaylistCount_Proxy(
-    IVLCControl* This,
-    int* index);
-void __RPC_STUB IVLCControl_get_PlaylistCount_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_playlistNext_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_playlistNext_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_playlistPrev_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_playlistPrev_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_playlistClear_Proxy(
-    IVLCControl* This);
-void __RPC_STUB IVLCControl_playlistClear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_VersionInfo_Proxy(
-    IVLCControl* This,
-    BSTR* version);
-void __RPC_STUB IVLCControl_get_VersionInfo_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_MRL_Proxy(
-    IVLCControl* This,
-    BSTR* mrl);
-void __RPC_STUB IVLCControl_get_MRL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_MRL_Proxy(
-    IVLCControl* This,
-    BSTR mrl);
-void __RPC_STUB IVLCControl_put_MRL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_AutoPlay_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL* autoplay);
-void __RPC_STUB IVLCControl_get_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_AutoPlay_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL autoplay);
-void __RPC_STUB IVLCControl_put_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_get_AutoLoop_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL* autoloop);
-void __RPC_STUB IVLCControl_get_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl_put_AutoLoop_Proxy(
-    IVLCControl* This,
-    VARIANT_BOOL autoloop);
-void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+#define IVLCControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 
-#endif  /* __IVLCControl_INTERFACE_DEFINED__ */
+#define IVLCControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 
-#define DISPID_PlayEvent (100)
+#define IVLCControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 
-#define DISPID_PauseEvent (101)
 
-#define DISPID_StopEvent (102)
+#define IVLCControl_get_Visible(This,visible)    \
+    (This)->lpVtbl -> get_Visible(This,visible)
 
-/*****************************************************************************
- * DVLCEvents dispinterface
- */
-#ifndef __DVLCEvents_DISPINTERFACE_DEFINED__
-#define __DVLCEvents_DISPINTERFACE_DEFINED__
+#define IVLCControl_put_Visible(This,visible)    \
+    (This)->lpVtbl -> put_Visible(This,visible)
 
-DEFINE_GUID(DIID_DVLCEvents, 0xdf48072f, 0x5ef8, 0x434e, 0x9b,0x40, 0xe2,0xf3,0xae,0x75,0x9b,0x5f);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface DVLCEvents : public IDispatch
-{
-};
-#else
-typedef struct DVLCEventsVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        DVLCEvents* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        DVLCEvents* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        DVLCEvents* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        DVLCEvents* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        DVLCEvents* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        DVLCEvents* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        DVLCEvents* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    END_INTERFACE
-} DVLCEventsVtbl;
-interface DVLCEvents {
-    CONST_VTBL DVLCEventsVtbl* lpVtbl;
-};
+#define IVLCControl_play(This)    \
+    (This)->lpVtbl -> play(This)
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define DVLCEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define DVLCEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define DVLCEvents_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define DVLCEvents_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define DVLCEvents_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define DVLCEvents_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define DVLCEvents_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-#endif
+#define IVLCControl_pause(This)    \
+    (This)->lpVtbl -> pause(This)
 
-#endif
+#define IVLCControl_stop(This)    \
+    (This)->lpVtbl -> stop(This)
 
-#endif  /* __DVLCEvents_DISPINTERFACE_DEFINED__ */
+#define IVLCControl_get_Playing(This,isPlaying)    \
+    (This)->lpVtbl -> get_Playing(This,isPlaying)
 
-/*****************************************************************************
- * IVLCAudio interface
- */
-#ifndef __IVLCAudio_INTERFACE_DEFINED__
-#define __IVLCAudio_INTERFACE_DEFINED__
+#define IVLCControl_get_Position(This,position)    \
+    (This)->lpVtbl -> get_Position(This,position)
 
-DEFINE_GUID(IID_IVLCAudio, 0x9e0bd17b, 0x2d3c, 0x4656, 0xb9,0x4d, 0x03,0x08,0x4f,0x3f,0xd9,0xd4);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCAudio : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_mute(
-        VARIANT_BOOL* muted) = 0;
+#define IVLCControl_put_Position(This,position)    \
+    (This)->lpVtbl -> put_Position(This,position)
 
-    virtual HRESULT STDMETHODCALLTYPE put_mute(
-        VARIANT_BOOL muted) = 0;
+#define IVLCControl_get_Time(This,seconds)    \
+    (This)->lpVtbl -> get_Time(This,seconds)
 
-    virtual HRESULT STDMETHODCALLTYPE get_volume(
-        long* volume) = 0;
+#define IVLCControl_put_Time(This,seconds)    \
+    (This)->lpVtbl -> put_Time(This,seconds)
 
-    virtual HRESULT STDMETHODCALLTYPE put_volume(
-        long volume) = 0;
+#define IVLCControl_shuttle(This,seconds)    \
+    (This)->lpVtbl -> shuttle(This,seconds)
 
-    virtual HRESULT STDMETHODCALLTYPE toggleMute(
-        ) = 0;
+#define IVLCControl_fullscreen(This)    \
+    (This)->lpVtbl -> fullscreen(This)
 
-    virtual HRESULT STDMETHODCALLTYPE get_track(
-        long* track) = 0;
+#define IVLCControl_get_Length(This,seconds)    \
+    (This)->lpVtbl -> get_Length(This,seconds)
 
-    virtual HRESULT STDMETHODCALLTYPE put_track(
-        long track) = 0;
+#define IVLCControl_playFaster(This)    \
+    (This)->lpVtbl -> playFaster(This)
 
-    virtual HRESULT STDMETHODCALLTYPE get_channel(
-        long* channel) = 0;
+#define IVLCControl_playSlower(This)    \
+    (This)->lpVtbl -> playSlower(This)
 
-    virtual HRESULT STDMETHODCALLTYPE put_channel(
-        long channel) = 0;
+#define IVLCControl_get_Volume(This,volume)    \
+    (This)->lpVtbl -> get_Volume(This,volume)
 
-};
-#else
-typedef struct IVLCAudioVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCAudio* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCAudio* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCAudio* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCAudio* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCAudio* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCAudio* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCAudio* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCAudio methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_mute)(
-        IVLCAudio* This,
-        VARIANT_BOOL* muted);
-
-    HRESULT (STDMETHODCALLTYPE *put_mute)(
-        IVLCAudio* This,
-        VARIANT_BOOL muted);
-
-    HRESULT (STDMETHODCALLTYPE *get_volume)(
-        IVLCAudio* This,
-        long* volume);
-
-    HRESULT (STDMETHODCALLTYPE *put_volume)(
-        IVLCAudio* This,
-        long volume);
-
-    HRESULT (STDMETHODCALLTYPE *toggleMute)(
-        IVLCAudio* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_track)(
-        IVLCAudio* This,
-        long* track);
-
-    HRESULT (STDMETHODCALLTYPE *put_track)(
-        IVLCAudio* This,
-        long track);
-
-    HRESULT (STDMETHODCALLTYPE *get_channel)(
-        IVLCAudio* This,
-        long* channel);
-
-    HRESULT (STDMETHODCALLTYPE *put_channel)(
-        IVLCAudio* This,
-        long channel);
-
-    END_INTERFACE
-} IVLCAudioVtbl;
-interface IVLCAudio {
-    CONST_VTBL IVLCAudioVtbl* lpVtbl;
-};
+#define IVLCControl_put_Volume(This,volume)    \
+    (This)->lpVtbl -> put_Volume(This,volume)
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCAudio_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCAudio_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCAudio_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCAudio_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCAudio_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCAudio_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCAudio_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCAudio methods ***/
-#define IVLCAudio_get_mute(p,a) (p)->lpVtbl->get_mute(p,a)
-#define IVLCAudio_put_mute(p,a) (p)->lpVtbl->put_mute(p,a)
-#define IVLCAudio_get_volume(p,a) (p)->lpVtbl->get_volume(p,a)
-#define IVLCAudio_put_volume(p,a) (p)->lpVtbl->put_volume(p,a)
-#define IVLCAudio_toggleMute(p) (p)->lpVtbl->toggleMute(p)
-#define IVLCAudio_get_track(p,a) (p)->lpVtbl->get_track(p,a)
-#define IVLCAudio_put_track(p,a) (p)->lpVtbl->put_track(p,a)
-#define IVLCAudio_get_channel(p,a) (p)->lpVtbl->get_channel(p,a)
-#define IVLCAudio_put_channel(p,a) (p)->lpVtbl->put_channel(p,a)
-#endif
+#define IVLCControl_toggleMute(This)    \
+    (This)->lpVtbl -> toggleMute(This)
 
-#endif
+#define IVLCControl_setVariable(This,name,value)    \
+    (This)->lpVtbl -> setVariable(This,name,value)
 
-HRESULT CALLBACK IVLCAudio_get_mute_Proxy(
-    IVLCAudio* This,
-    VARIANT_BOOL* muted);
-void __RPC_STUB IVLCAudio_get_mute_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_put_mute_Proxy(
-    IVLCAudio* This,
-    VARIANT_BOOL muted);
-void __RPC_STUB IVLCAudio_put_mute_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_get_volume_Proxy(
-    IVLCAudio* This,
-    long* volume);
-void __RPC_STUB IVLCAudio_get_volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_put_volume_Proxy(
-    IVLCAudio* This,
-    long volume);
-void __RPC_STUB IVLCAudio_put_volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_toggleMute_Proxy(
-    IVLCAudio* This);
-void __RPC_STUB IVLCAudio_toggleMute_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_get_track_Proxy(
-    IVLCAudio* This,
-    long* track);
-void __RPC_STUB IVLCAudio_get_track_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_put_track_Proxy(
-    IVLCAudio* This,
-    long track);
-void __RPC_STUB IVLCAudio_put_track_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_get_channel_Proxy(
-    IVLCAudio* This,
-    long* channel);
-void __RPC_STUB IVLCAudio_get_channel_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCAudio_put_channel_Proxy(
-    IVLCAudio* This,
-    long channel);
-void __RPC_STUB IVLCAudio_put_channel_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+#define IVLCControl_getVariable(This,name,value)    \
+    (This)->lpVtbl -> getVariable(This,name,value)
 
-#endif  /* __IVLCAudio_INTERFACE_DEFINED__ */
+#define IVLCControl_addTarget(This,uri,options,mode,position)    \
+    (This)->lpVtbl -> addTarget(This,uri,options,mode,position)
 
-/*****************************************************************************
- * IVLCInput interface
- */
-#ifndef __IVLCInput_INTERFACE_DEFINED__
-#define __IVLCInput_INTERFACE_DEFINED__
+#define IVLCControl_get_PlaylistIndex(This,index)    \
+    (This)->lpVtbl -> get_PlaylistIndex(This,index)
 
-DEFINE_GUID(IID_IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71,0x90,0xc6,0x03);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCInput : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_length(
-        double* length) = 0;
+#define IVLCControl_get_PlaylistCount(This,index)    \
+    (This)->lpVtbl -> get_PlaylistCount(This,index)
 
-    virtual HRESULT STDMETHODCALLTYPE get_position(
-        double* position) = 0;
+#define IVLCControl_playlistNext(This)    \
+    (This)->lpVtbl -> playlistNext(This)
 
-    virtual HRESULT STDMETHODCALLTYPE put_position(
-        double position) = 0;
+#define IVLCControl_playlistPrev(This)    \
+    (This)->lpVtbl -> playlistPrev(This)
 
-    virtual HRESULT STDMETHODCALLTYPE get_time(
-        double* time) = 0;
+#define IVLCControl_playlistClear(This)    \
+    (This)->lpVtbl -> playlistClear(This)
 
-    virtual HRESULT STDMETHODCALLTYPE put_time(
-        double time) = 0;
+#define IVLCControl_get_VersionInfo(This,version)    \
+    (This)->lpVtbl -> get_VersionInfo(This,version)
 
-    virtual HRESULT STDMETHODCALLTYPE get_state(
-        long* state) = 0;
+#define IVLCControl_get_MRL(This,mrl)    \
+    (This)->lpVtbl -> get_MRL(This,mrl)
 
-    virtual HRESULT STDMETHODCALLTYPE get_rate(
-        double* rate) = 0;
+#define IVLCControl_put_MRL(This,mrl)    \
+    (This)->lpVtbl -> put_MRL(This,mrl)
 
-    virtual HRESULT STDMETHODCALLTYPE put_rate(
-        double rate) = 0;
+#define IVLCControl_get_AutoPlay(This,autoplay)    \
+    (This)->lpVtbl -> get_AutoPlay(This,autoplay)
 
-    virtual HRESULT STDMETHODCALLTYPE get_fps(
-        double* fps) = 0;
+#define IVLCControl_put_AutoPlay(This,autoplay)    \
+    (This)->lpVtbl -> put_AutoPlay(This,autoplay)
 
-    virtual HRESULT STDMETHODCALLTYPE get_hasVout(
-        VARIANT_BOOL* hasVout) = 0;
+#define IVLCControl_get_AutoLoop(This,autoloop)    \
+    (This)->lpVtbl -> get_AutoLoop(This,autoloop)
 
-};
-#else
-typedef struct IVLCInputVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCInput* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCInput* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCInput* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCInput* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCInput* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCInput* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCInput* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCInput methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_length)(
-        IVLCInput* This,
-        double* length);
-
-    HRESULT (STDMETHODCALLTYPE *get_position)(
-        IVLCInput* This,
-        double* position);
-
-    HRESULT (STDMETHODCALLTYPE *put_position)(
-        IVLCInput* This,
-        double position);
-
-    HRESULT (STDMETHODCALLTYPE *get_time)(
-        IVLCInput* This,
-        double* time);
-
-    HRESULT (STDMETHODCALLTYPE *put_time)(
-        IVLCInput* This,
-        double time);
-
-    HRESULT (STDMETHODCALLTYPE *get_state)(
-        IVLCInput* This,
-        long* state);
-
-    HRESULT (STDMETHODCALLTYPE *get_rate)(
-        IVLCInput* This,
-        double* rate);
-
-    HRESULT (STDMETHODCALLTYPE *put_rate)(
-        IVLCInput* This,
-        double rate);
-
-    HRESULT (STDMETHODCALLTYPE *get_fps)(
-        IVLCInput* This,
-        double* fps);
-
-    HRESULT (STDMETHODCALLTYPE *get_hasVout)(
-        IVLCInput* This,
-        VARIANT_BOOL* hasVout);
-
-    END_INTERFACE
-} IVLCInputVtbl;
-interface IVLCInput {
-    CONST_VTBL IVLCInputVtbl* lpVtbl;
-};
+#define IVLCControl_put_AutoLoop(This,autoloop)    \
+    (This)->lpVtbl -> put_AutoLoop(This,autoloop)
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCInput_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCInput_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCInput_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCInput_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCInput_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCInput_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCInput_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCInput methods ***/
-#define IVLCInput_get_length(p,a) (p)->lpVtbl->get_length(p,a)
-#define IVLCInput_get_position(p,a) (p)->lpVtbl->get_position(p,a)
-#define IVLCInput_put_position(p,a) (p)->lpVtbl->put_position(p,a)
-#define IVLCInput_get_time(p,a) (p)->lpVtbl->get_time(p,a)
-#define IVLCInput_put_time(p,a) (p)->lpVtbl->put_time(p,a)
-#define IVLCInput_get_state(p,a) (p)->lpVtbl->get_state(p,a)
-#define IVLCInput_get_rate(p,a) (p)->lpVtbl->get_rate(p,a)
-#define IVLCInput_put_rate(p,a) (p)->lpVtbl->put_rate(p,a)
-#define IVLCInput_get_fps(p,a) (p)->lpVtbl->get_fps(p,a)
-#define IVLCInput_get_hasVout(p,a) (p)->lpVtbl->get_hasVout(p,a)
-#endif
+#endif /* COBJMACROS */
 
-#endif
 
-HRESULT CALLBACK IVLCInput_get_length_Proxy(
-    IVLCInput* This,
-    double* length);
-void __RPC_STUB IVLCInput_get_length_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_position_Proxy(
-    IVLCInput* This,
-    double* position);
-void __RPC_STUB IVLCInput_get_position_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_put_position_Proxy(
-    IVLCInput* This,
-    double position);
-void __RPC_STUB IVLCInput_put_position_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_time_Proxy(
-    IVLCInput* This,
-    double* time);
-void __RPC_STUB IVLCInput_get_time_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_put_time_Proxy(
-    IVLCInput* This,
-    double time);
-void __RPC_STUB IVLCInput_put_time_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_state_Proxy(
-    IVLCInput* This,
-    long* state);
-void __RPC_STUB IVLCInput_get_state_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_rate_Proxy(
-    IVLCInput* This,
-    double* rate);
-void __RPC_STUB IVLCInput_get_rate_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_put_rate_Proxy(
-    IVLCInput* This,
-    double rate);
-void __RPC_STUB IVLCInput_put_rate_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_fps_Proxy(
-    IVLCInput* This,
-    double* fps);
-void __RPC_STUB IVLCInput_get_fps_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCInput_get_hasVout_Proxy(
-    IVLCInput* This,
-    VARIANT_BOOL* hasVout);
-void __RPC_STUB IVLCInput_get_hasVout_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+#endif     /* C style interface */
 
-#endif  /* __IVLCInput_INTERFACE_DEFINED__ */
 
-/*****************************************************************************
- * IVLCMessage interface
- */
-#ifndef __IVLCMessage_INTERFACE_DEFINED__
-#define __IVLCMessage_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMessage, 0x9ed00afa, 0x7bcd, 0x4fff, 0x8d,0x48, 0x7d,0xd4,0xdb,0x2c,0x80,0x0d);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessage : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get__Value(
-        VARIANT* message) = 0;
+/* [helpstring][bindable][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Visible_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ VARIANT_BOOL *visible);
 
-    virtual HRESULT STDMETHODCALLTYPE get_severity(
-        long* level) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_type(
-        BSTR* type) = 0;
+void __RPC_STUB IVLCControl_get_Visible_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE get_name(
-        BSTR* name) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_header(
-        BSTR* header) = 0;
+/* [helpstring][bindable][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_Visible_Proxy(
+    IVLCControl * This,
+    /* [in] */ VARIANT_BOOL visible);
 
-    virtual HRESULT STDMETHODCALLTYPE get_message(
-        BSTR* message) = 0;
 
-};
-#else
-typedef struct IVLCMessageVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessage* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessage* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessage* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessage* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessage* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessage* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessage* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCMessage methods ***/
-    HRESULT (STDMETHODCALLTYPE *get__Value)(
-        IVLCMessage* This,
-        VARIANT* message);
-
-    HRESULT (STDMETHODCALLTYPE *get_severity)(
-        IVLCMessage* This,
-        long* level);
-
-    HRESULT (STDMETHODCALLTYPE *get_type)(
-        IVLCMessage* This,
-        BSTR* type);
-
-    HRESULT (STDMETHODCALLTYPE *get_name)(
-        IVLCMessage* This,
-        BSTR* name);
-
-    HRESULT (STDMETHODCALLTYPE *get_header)(
-        IVLCMessage* This,
-        BSTR* header);
-
-    HRESULT (STDMETHODCALLTYPE *get_message)(
-        IVLCMessage* This,
-        BSTR* message);
-
-    END_INTERFACE
-} IVLCMessageVtbl;
-interface IVLCMessage {
-    CONST_VTBL IVLCMessageVtbl* lpVtbl;
-};
+void __RPC_STUB IVLCControl_put_Visible_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCMessage_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCMessage_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCMessage_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCMessage_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCMessage_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCMessage methods ***/
-#define IVLCMessage_get__Value(p,a) (p)->lpVtbl->get__Value(p,a)
-#define IVLCMessage_get_severity(p,a) (p)->lpVtbl->get_severity(p,a)
-#define IVLCMessage_get_type(p,a) (p)->lpVtbl->get_type(p,a)
-#define IVLCMessage_get_name(p,a) (p)->lpVtbl->get_name(p,a)
-#define IVLCMessage_get_header(p,a) (p)->lpVtbl->get_header(p,a)
-#define IVLCMessage_get_message(p,a) (p)->lpVtbl->get_message(p,a)
-#endif
 
-#endif
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_play_Proxy(
+    IVLCControl * This);
 
-HRESULT CALLBACK IVLCMessage_get__Value_Proxy(
-    IVLCMessage* This,
-    VARIANT* message);
-void __RPC_STUB IVLCMessage_get__Value_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessage_get_severity_Proxy(
-    IVLCMessage* This,
-    long* level);
-void __RPC_STUB IVLCMessage_get_severity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessage_get_type_Proxy(
-    IVLCMessage* This,
-    BSTR* type);
-void __RPC_STUB IVLCMessage_get_type_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessage_get_name_Proxy(
-    IVLCMessage* This,
-    BSTR* name);
-void __RPC_STUB IVLCMessage_get_name_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessage_get_header_Proxy(
-    IVLCMessage* This,
-    BSTR* header);
-void __RPC_STUB IVLCMessage_get_header_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessage_get_message_Proxy(
-    IVLCMessage* This,
-    BSTR* message);
-void __RPC_STUB IVLCMessage_get_message_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
 
-#endif  /* __IVLCMessage_INTERFACE_DEFINED__ */
+void __RPC_STUB IVLCControl_play_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-/*****************************************************************************
- * IVLCMessageIterator interface
- */
-#ifndef __IVLCMessageIterator_INTERFACE_DEFINED__
-#define __IVLCMessageIterator_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMessageIterator, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessageIterator : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_hasNext(
-        VARIANT_BOOL* hasNext) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_pause_Proxy(
+    IVLCControl * This);
 
-    virtual HRESULT STDMETHODCALLTYPE next(
-        IVLCMessage** msg) = 0;
 
-};
-#else
-typedef struct IVLCMessageIteratorVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessageIterator* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessageIterator* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessageIterator* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessageIterator* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessageIterator* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessageIterator* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessageIterator* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCMessageIterator methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_hasNext)(
-        IVLCMessageIterator* This,
-        VARIANT_BOOL* hasNext);
-
-    HRESULT (STDMETHODCALLTYPE *next)(
-        IVLCMessageIterator* This,
-        IVLCMessage** msg);
-
-    END_INTERFACE
-} IVLCMessageIteratorVtbl;
-interface IVLCMessageIterator {
-    CONST_VTBL IVLCMessageIteratorVtbl* lpVtbl;
-};
+void __RPC_STUB IVLCControl_pause_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCMessageIterator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCMessageIterator_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCMessageIterator_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCMessageIterator_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCMessageIterator_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCMessageIterator_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCMessageIterator_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCMessageIterator methods ***/
-#define IVLCMessageIterator_get_hasNext(p,a) (p)->lpVtbl->get_hasNext(p,a)
-#define IVLCMessageIterator_next(p,a) (p)->lpVtbl->next(p,a)
-#endif
 
-#endif
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_stop_Proxy(
+    IVLCControl * This);
 
-HRESULT CALLBACK IVLCMessageIterator_get_hasNext_Proxy(
-    IVLCMessageIterator* This,
-    VARIANT_BOOL* hasNext);
-void __RPC_STUB IVLCMessageIterator_get_hasNext_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessageIterator_next_Proxy(
-    IVLCMessageIterator* This,
-    IVLCMessage** msg);
-void __RPC_STUB IVLCMessageIterator_next_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
 
-#endif  /* __IVLCMessageIterator_INTERFACE_DEFINED__ */
+void __RPC_STUB IVLCControl_stop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-/*****************************************************************************
- * IVLCMessages interface
- */
-#ifndef __IVLCMessages_INTERFACE_DEFINED__
-#define __IVLCMessages_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMessages, 0x6c5ce55d, 0x2d6c, 0x4aad, 0x82,0x99, 0xc6,0x2d,0x23,0x71,0xf1,0x06);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessages : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
-        IUnknown** _NewEnum) = 0;
+/* [helpstring][propget][hidden][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Playing_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ VARIANT_BOOL *isPlaying);
 
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_count(
-        long* count) = 0;
+void __RPC_STUB IVLCControl_get_Playing_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE iterator(
-        IVLCMessageIterator** iter) = 0;
 
-};
-#else
-typedef struct IVLCMessagesVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessages* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessages* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessages* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessages* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessages* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessages* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessages* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCMessages methods ***/
-    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
-        IVLCMessages* This,
-        IUnknown** _NewEnum);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCMessages* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_count)(
-        IVLCMessages* This,
-        long* count);
-
-    HRESULT (STDMETHODCALLTYPE *iterator)(
-        IVLCMessages* This,
-        IVLCMessageIterator** iter);
-
-    END_INTERFACE
-} IVLCMessagesVtbl;
-interface IVLCMessages {
-    CONST_VTBL IVLCMessagesVtbl* lpVtbl;
-};
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Position_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ float *position);
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCMessages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCMessages_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCMessages_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCMessages_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCMessages_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCMessages_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCMessages_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCMessages methods ***/
-#define IVLCMessages_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
-#define IVLCMessages_clear(p) (p)->lpVtbl->clear(p)
-#define IVLCMessages_get_count(p,a) (p)->lpVtbl->get_count(p,a)
-#define IVLCMessages_iterator(p,a) (p)->lpVtbl->iterator(p,a)
-#endif
 
-#endif
+void __RPC_STUB IVLCControl_get_Position_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-HRESULT CALLBACK IVLCMessages_get__NewEnum_Proxy(
-    IVLCMessages* This,
-    IUnknown** _NewEnum);
-void __RPC_STUB IVLCMessages_get__NewEnum_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessages_clear_Proxy(
-    IVLCMessages* This);
-void __RPC_STUB IVLCMessages_clear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessages_get_count_Proxy(
-    IVLCMessages* This,
-    long* count);
-void __RPC_STUB IVLCMessages_get_count_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCMessages_iterator_Proxy(
-    IVLCMessages* This,
-    IVLCMessageIterator** iter);
-void __RPC_STUB IVLCMessages_iterator_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
 
-#endif  /* __IVLCMessages_INTERFACE_DEFINED__ */
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_Position_Proxy(
+    IVLCControl * This,
+    /* [in] */ float position);
 
-/*****************************************************************************
- * IVLCLog interface
- */
-#ifndef __IVLCLog_INTERFACE_DEFINED__
-#define __IVLCLog_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCLog, 0x8e3bc3d9, 0x62e9, 0x48fb, 0x8a,0x6d, 0x99,0x3f,0x9a,0xbc,0x4a,0x0a);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCLog : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_messages(
-        IVLCMessages** iter) = 0;
+void __RPC_STUB IVLCControl_put_Position_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE get_verbosity(
-        long* level) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_verbosity(
-        long level) = 0;
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Time_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ int *seconds);
 
-};
-#else
-typedef struct IVLCLogVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCLog* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCLog* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCLog* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCLog* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCLog* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCLog* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCLog* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCLog methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_messages)(
-        IVLCLog* This,
-        IVLCMessages** iter);
-
-    HRESULT (STDMETHODCALLTYPE *get_verbosity)(
-        IVLCLog* This,
-        long* level);
-
-    HRESULT (STDMETHODCALLTYPE *put_verbosity)(
-        IVLCLog* This,
-        long level);
-
-    END_INTERFACE
-} IVLCLogVtbl;
-interface IVLCLog {
-    CONST_VTBL IVLCLogVtbl* lpVtbl;
-};
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCLog_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCLog_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCLog_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCLog_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCLog_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCLog_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCLog methods ***/
-#define IVLCLog_get_messages(p,a) (p)->lpVtbl->get_messages(p,a)
-#define IVLCLog_get_verbosity(p,a) (p)->lpVtbl->get_verbosity(p,a)
-#define IVLCLog_put_verbosity(p,a) (p)->lpVtbl->put_verbosity(p,a)
-#endif
+void __RPC_STUB IVLCControl_get_Time_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#endif
 
-HRESULT CALLBACK IVLCLog_get_messages_Proxy(
-    IVLCLog* This,
-    IVLCMessages** iter);
-void __RPC_STUB IVLCLog_get_messages_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCLog_get_verbosity_Proxy(
-    IVLCLog* This,
-    long* level);
-void __RPC_STUB IVLCLog_get_verbosity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCLog_put_verbosity_Proxy(
-    IVLCLog* This,
-    long level);
-void __RPC_STUB IVLCLog_put_verbosity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_Time_Proxy(
+    IVLCControl * This,
+    /* [in] */ int seconds);
 
-#endif  /* __IVLCLog_INTERFACE_DEFINED__ */
 
-#ifndef __IVLCPlaylistItems_FWD_DEFINED__
-#define __IVLCPlaylistItems_FWD_DEFINED__
-typedef interface IVLCPlaylistItems IVLCPlaylistItems;
-#endif
+void __RPC_STUB IVLCControl_put_Time_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-/*****************************************************************************
- * IVLCPlaylistItems interface
- */
-#ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__
-#define __IVLCPlaylistItems_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCPlaylistItems : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_count(
-        long* count) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_shuttle_Proxy(
+    IVLCControl * This,
+    /* [in] */ int seconds);
 
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE remove(
-        long itemId) = 0;
+void __RPC_STUB IVLCControl_shuttle_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-};
-#else
-typedef struct IVLCPlaylistItemsVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCPlaylistItems* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCPlaylistItems* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCPlaylistItems* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCPlaylistItems* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCPlaylistItems* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCPlaylistItems* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCPlaylistItems* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCPlaylistItems methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_count)(
-        IVLCPlaylistItems* This,
-        long* count);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCPlaylistItems* This);
-
-    HRESULT (STDMETHODCALLTYPE *remove)(
-        IVLCPlaylistItems* This,
-        long itemId);
-
-    END_INTERFACE
-} IVLCPlaylistItemsVtbl;
-interface IVLCPlaylistItems {
-    CONST_VTBL IVLCPlaylistItemsVtbl* lpVtbl;
-};
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCPlaylistItems_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCPlaylistItems_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCPlaylistItems_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCPlaylistItems_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCPlaylistItems_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCPlaylistItems_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCPlaylistItems_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCPlaylistItems methods ***/
-#define IVLCPlaylistItems_get_count(p,a) (p)->lpVtbl->get_count(p,a)
-#define IVLCPlaylistItems_clear(p) (p)->lpVtbl->clear(p)
-#define IVLCPlaylistItems_remove(p,a) (p)->lpVtbl->remove(p,a)
-#endif
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_fullscreen_Proxy(
+    IVLCControl * This);
 
-#endif
 
-HRESULT CALLBACK IVLCPlaylistItems_get_count_Proxy(
-    IVLCPlaylistItems* This,
-    long* count);
-void __RPC_STUB IVLCPlaylistItems_get_count_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylistItems_clear_Proxy(
-    IVLCPlaylistItems* This);
-void __RPC_STUB IVLCPlaylistItems_clear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylistItems_remove_Proxy(
-    IVLCPlaylistItems* This,
-    long itemId);
-void __RPC_STUB IVLCPlaylistItems_remove_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+void __RPC_STUB IVLCControl_fullscreen_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#endif  /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
 
-/*****************************************************************************
- * IVLCPlaylist interface
- */
-#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
-#define __IVLCPlaylist_INTERFACE_DEFINED__
+/* [helpstring][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Length_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ int *seconds);
 
-DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCPlaylist : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_itemCount(
-        long* count) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
-        VARIANT_BOOL* playing) = 0;
+void __RPC_STUB IVLCControl_get_Length_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE add(
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        long* itemId) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE play(
-        ) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_playFaster_Proxy(
+    IVLCControl * This);
 
-    virtual HRESULT STDMETHODCALLTYPE playItem(
-        long itemId) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE togglePause(
-        ) = 0;
+void __RPC_STUB IVLCControl_playFaster_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE stop(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE next(
-        ) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_playSlower_Proxy(
+    IVLCControl * This);
 
-    virtual HRESULT STDMETHODCALLTYPE prev(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
+void __RPC_STUB IVLCControl_playSlower_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE removeItem(
-        long item) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_items(
-        IVLCPlaylistItems** obj) = 0;
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_Volume_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ int *volume);
 
-};
-#else
-typedef struct IVLCPlaylistVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCPlaylist* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCPlaylist* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCPlaylist* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCPlaylist* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCPlaylist* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCPlaylist* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCPlaylist* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCPlaylist methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_itemCount)(
-        IVLCPlaylist* This,
-        long* count);
-
-    HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
-        IVLCPlaylist* This,
-        VARIANT_BOOL* playing);
-
-    HRESULT (STDMETHODCALLTYPE *add)(
-        IVLCPlaylist* This,
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        long* itemId);
-
-    HRESULT (STDMETHODCALLTYPE *play)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *playItem)(
-        IVLCPlaylist* This,
-        long itemId);
-
-    HRESULT (STDMETHODCALLTYPE *togglePause)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *stop)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *next)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *prev)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *removeItem)(
-        IVLCPlaylist* This,
-        long item);
-
-    HRESULT (STDMETHODCALLTYPE *get_items)(
-        IVLCPlaylist* This,
-        IVLCPlaylistItems** obj);
-
-    END_INTERFACE
-} IVLCPlaylistVtbl;
-interface IVLCPlaylist {
-    CONST_VTBL IVLCPlaylistVtbl* lpVtbl;
-};
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCPlaylist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCPlaylist_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCPlaylist_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCPlaylist_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCPlaylist_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCPlaylist_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCPlaylist_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCPlaylist methods ***/
-#define IVLCPlaylist_get_itemCount(p,a) (p)->lpVtbl->get_itemCount(p,a)
-#define IVLCPlaylist_get_isPlaying(p,a) (p)->lpVtbl->get_isPlaying(p,a)
-#define IVLCPlaylist_add(p,a,b,c,d) (p)->lpVtbl->add(p,a,b,c,d)
-#define IVLCPlaylist_play(p) (p)->lpVtbl->play(p)
-#define IVLCPlaylist_playItem(p,a) (p)->lpVtbl->playItem(p,a)
-#define IVLCPlaylist_togglePause(p) (p)->lpVtbl->togglePause(p)
-#define IVLCPlaylist_stop(p) (p)->lpVtbl->stop(p)
-#define IVLCPlaylist_next(p) (p)->lpVtbl->next(p)
-#define IVLCPlaylist_prev(p) (p)->lpVtbl->prev(p)
-#define IVLCPlaylist_clear(p) (p)->lpVtbl->clear(p)
-#define IVLCPlaylist_removeItem(p,a) (p)->lpVtbl->removeItem(p,a)
-#define IVLCPlaylist_get_items(p,a) (p)->lpVtbl->get_items(p,a)
-#endif
+void __RPC_STUB IVLCControl_get_Volume_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#endif
 
-HRESULT CALLBACK IVLCPlaylist_get_itemCount_Proxy(
-    IVLCPlaylist* This,
-    long* count);
-void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_get_isPlaying_Proxy(
-    IVLCPlaylist* This,
-    VARIANT_BOOL* playing);
-void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_add_Proxy(
-    IVLCPlaylist* This,
-    BSTR uri,
-    VARIANT name,
-    VARIANT options,
-    long* itemId);
-void __RPC_STUB IVLCPlaylist_add_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_play_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_play_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_playItem_Proxy(
-    IVLCPlaylist* This,
-    long itemId);
-void __RPC_STUB IVLCPlaylist_playItem_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_togglePause_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_togglePause_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_stop_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_stop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_next_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_next_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_prev_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_prev_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_clear_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_clear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_removeItem_Proxy(
-    IVLCPlaylist* This,
-    long item);
-void __RPC_STUB IVLCPlaylist_removeItem_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_get_items_Proxy(
-    IVLCPlaylist* This,
-    IVLCPlaylistItems** obj);
-void __RPC_STUB IVLCPlaylist_get_items_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_Volume_Proxy(
+    IVLCControl * This,
+    /* [in] */ int volume);
 
-#endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
 
-/*****************************************************************************
- * IVLCVideo interface
- */
-#ifndef __IVLCVideo_INTERFACE_DEFINED__
-#define __IVLCVideo_INTERFACE_DEFINED__
+void __RPC_STUB IVLCControl_put_Volume_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCVideo : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_fullscreen(
-        VARIANT_BOOL* fullscreen) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_fullscreen(
-        VARIANT_BOOL fullscreen) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_toggleMute_Proxy(
+    IVLCControl * This);
 
-    virtual HRESULT STDMETHODCALLTYPE get_width(
-        long* width) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_height(
-        long* height) = 0;
+void __RPC_STUB IVLCControl_toggleMute_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE get_aspectRatio(
-        BSTR* aspect) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_aspectRatio(
-        BSTR aspect) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_setVariable_Proxy(
+    IVLCControl * This,
+    /* [in] */ BSTR name,
+    /* [in] */ VARIANT value);
 
-    virtual HRESULT STDMETHODCALLTYPE get_subtitle(
-        long* spu) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_subtitle(
-        long spu) = 0;
+void __RPC_STUB IVLCControl_setVariable_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-    virtual HRESULT STDMETHODCALLTYPE get_crop(
-        BSTR* geometry) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_crop(
-        BSTR geometry) = 0;
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_getVariable_Proxy(
+    IVLCControl * This,
+    /* [in] */ BSTR name,
+    /* [retval][out] */ VARIANT *value);
 
-    virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
-        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE takeSnapshot(
-        IPictureDisp** picture) = 0;
+void __RPC_STUB IVLCControl_getVariable_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-};
-#else
-typedef struct IVLCVideoVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCVideo* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCVideo* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCVideo* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCVideo* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCVideo* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCVideo* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCVideo* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCVideo methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
-        IVLCVideo* This,
-        VARIANT_BOOL* fullscreen);
-
-    HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
-        IVLCVideo* This,
-        VARIANT_BOOL fullscreen);
-
-    HRESULT (STDMETHODCALLTYPE *get_width)(
-        IVLCVideo* This,
-        long* width);
-
-    HRESULT (STDMETHODCALLTYPE *get_height)(
-        IVLCVideo* This,
-        long* height);
-
-    HRESULT (STDMETHODCALLTYPE *get_aspectRatio)(
-        IVLCVideo* This,
-        BSTR* aspect);
-
-    HRESULT (STDMETHODCALLTYPE *put_aspectRatio)(
-        IVLCVideo* This,
-        BSTR aspect);
-
-    HRESULT (STDMETHODCALLTYPE *get_subtitle)(
-        IVLCVideo* This,
-        long* spu);
-
-    HRESULT (STDMETHODCALLTYPE *put_subtitle)(
-        IVLCVideo* This,
-        long spu);
-
-    HRESULT (STDMETHODCALLTYPE *get_crop)(
-        IVLCVideo* This,
-        BSTR* geometry);
-
-    HRESULT (STDMETHODCALLTYPE *put_crop)(
-        IVLCVideo* This,
-        BSTR geometry);
-
-    HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
-        IVLCVideo* This);
-
-    HRESULT (STDMETHODCALLTYPE *takeSnapshot)(
-        IVLCVideo* This,
-        IPictureDisp** picture);
-
-    END_INTERFACE
-} IVLCVideoVtbl;
-interface IVLCVideo {
-    CONST_VTBL IVLCVideoVtbl* lpVtbl;
-};
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCVideo methods ***/
-#define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
-#define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
-#define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
-#define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
-#define IVLCVideo_get_aspectRatio(p,a) (p)->lpVtbl->get_aspectRatio(p,a)
-#define IVLCVideo_put_aspectRatio(p,a) (p)->lpVtbl->put_aspectRatio(p,a)
-#define IVLCVideo_get_subtitle(p,a) (p)->lpVtbl->get_subtitle(p,a)
-#define IVLCVideo_put_subtitle(p,a) (p)->lpVtbl->put_subtitle(p,a)
-#define IVLCVideo_get_crop(p,a) (p)->lpVtbl->get_crop(p,a)
-#define IVLCVideo_put_crop(p,a) (p)->lpVtbl->put_crop(p,a)
-#define IVLCVideo_toggleFullscreen(p) (p)->lpVtbl->toggleFullscreen(p)
-#define IVLCVideo_takeSnapshot(p,a) (p)->lpVtbl->takeSnapshot(p,a)
-#endif
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_addTarget_Proxy(
+    IVLCControl * This,
+    /* [in] */ BSTR uri,
+    /* [in] */ VARIANT options,
+    /* [in] */ enum VLCPlaylistMode mode,
+    /* [in] */ int position);
+
+
+void __RPC_STUB IVLCControl_addTarget_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_PlaylistIndex_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ int *index);
+
+
+void __RPC_STUB IVLCControl_get_PlaylistIndex_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_PlaylistCount_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ int *index);
+
+
+void __RPC_STUB IVLCControl_get_PlaylistCount_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_playlistNext_Proxy(
+    IVLCControl * This);
+
+
+void __RPC_STUB IVLCControl_playlistNext_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_playlistPrev_Proxy(
+    IVLCControl * This);
+
+
+void __RPC_STUB IVLCControl_playlistPrev_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCControl_playlistClear_Proxy(
+    IVLCControl * This);
+
+
+void __RPC_STUB IVLCControl_playlistClear_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_VersionInfo_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ BSTR *version);
+
+
+void __RPC_STUB IVLCControl_get_VersionInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_MRL_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ BSTR *mrl);
+
+
+void __RPC_STUB IVLCControl_get_MRL_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_MRL_Proxy(
+    IVLCControl * This,
+    /* [in] */ BSTR mrl);
+
+
+void __RPC_STUB IVLCControl_put_MRL_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_AutoPlay_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ VARIANT_BOOL *autoplay);
+
+
+void __RPC_STUB IVLCControl_get_AutoPlay_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_AutoPlay_Proxy(
+    IVLCControl * This,
+    /* [in] */ VARIANT_BOOL autoplay);
+
+
+void __RPC_STUB IVLCControl_put_AutoPlay_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_get_AutoLoop_Proxy(
+    IVLCControl * This,
+    /* [retval][out] */ VARIANT_BOOL *autoloop);
+
+
+void __RPC_STUB IVLCControl_get_AutoLoop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl_put_AutoLoop_Proxy(
+    IVLCControl * This,
+    /* [in] */ VARIANT_BOOL autoloop);
+
+
+void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCAudio_INTERFACE_DEFINED__
+#define __IVLCAudio_INTERFACE_DEFINED__
+
+/* interface IVLCAudio */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCAudio;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("9E0BD17B-2D3C-4656-B94D-03084F3FD9D4")
+    IVLCAudio : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_mute(
+            /* [retval][out] */ VARIANT_BOOL *muted) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_mute(
+            /* [in] */ VARIANT_BOOL muted) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volume(
+            /* [retval][out] */ long *volume) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_volume(
+            /* [in] */ long volume) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleMute( void) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_track(
+            /* [retval][out] */ long *track) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_track(
+            /* [in] */ long track) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_channel(
+            /* [retval][out] */ long *channel) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_channel(
+            /* [in] */ long channel) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCAudioVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCAudio * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCAudio * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCAudio * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCAudio * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCAudio * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCAudio * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCAudio * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mute )(
+            IVLCAudio * This,
+            /* [retval][out] */ VARIANT_BOOL *muted);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_mute )(
+            IVLCAudio * This,
+            /* [in] */ VARIANT_BOOL muted);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volume )(
+            IVLCAudio * This,
+            /* [retval][out] */ long *volume);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_volume )(
+            IVLCAudio * This,
+            /* [in] */ long volume);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleMute )(
+            IVLCAudio * This);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_track )(
+            IVLCAudio * This,
+            /* [retval][out] */ long *track);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_track )(
+            IVLCAudio * This,
+            /* [in] */ long track);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_channel )(
+            IVLCAudio * This,
+            /* [retval][out] */ long *channel);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_channel )(
+            IVLCAudio * This,
+            /* [in] */ long channel);
+        END_INTERFACE
+    } IVLCAudioVtbl;
+
+    interface IVLCAudio
+    {
+        CONST_VTBL struct IVLCAudioVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCAudio_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCAudio_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCAudio_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCAudio_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCAudio_get_mute(This,muted)    \
+    (This)->lpVtbl -> get_mute(This,muted)
+
+#define IVLCAudio_put_mute(This,muted)    \
+    (This)->lpVtbl -> put_mute(This,muted)
+
+#define IVLCAudio_get_volume(This,volume)    \
+    (This)->lpVtbl -> get_volume(This,volume)
+
+#define IVLCAudio_put_volume(This,volume)    \
+    (This)->lpVtbl -> put_volume(This,volume)
+
+#define IVLCAudio_toggleMute(This)    \
+    (This)->lpVtbl -> toggleMute(This)
+
+#define IVLCAudio_get_track(This,track)    \
+    (This)->lpVtbl -> get_track(This,track)
+
+#define IVLCAudio_put_track(This,track)    \
+    (This)->lpVtbl -> put_track(This,track)
+
+#define IVLCAudio_get_channel(This,channel)    \
+    (This)->lpVtbl -> get_channel(This,channel)
+
+#define IVLCAudio_put_channel(This,channel)    \
+    (This)->lpVtbl -> put_channel(This,channel)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCAudio_get_mute_Proxy(
+    IVLCAudio * This,
+    /* [retval][out] */ VARIANT_BOOL *muted);
+
+
+void __RPC_STUB IVLCAudio_get_mute_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCAudio_put_mute_Proxy(
+    IVLCAudio * This,
+    /* [in] */ VARIANT_BOOL muted);
+
+
+void __RPC_STUB IVLCAudio_put_mute_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCAudio_get_volume_Proxy(
+    IVLCAudio * This,
+    /* [retval][out] */ long *volume);
+
+
+void __RPC_STUB IVLCAudio_get_volume_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCAudio_put_volume_Proxy(
+    IVLCAudio * This,
+    /* [in] */ long volume);
+
+
+void __RPC_STUB IVLCAudio_put_volume_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCAudio_toggleMute_Proxy(
+    IVLCAudio * This);
+
+
+void __RPC_STUB IVLCAudio_toggleMute_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCAudio_get_track_Proxy(
+    IVLCAudio * This,
+    /* [retval][out] */ long *track);
+
+
+void __RPC_STUB IVLCAudio_get_track_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCAudio_put_track_Proxy(
+    IVLCAudio * This,
+    /* [in] */ long track);
+
+
+void __RPC_STUB IVLCAudio_put_track_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCAudio_get_channel_Proxy(
+    IVLCAudio * This,
+    /* [retval][out] */ long *channel);
+
+
+void __RPC_STUB IVLCAudio_get_channel_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCAudio_put_channel_Proxy(
+    IVLCAudio * This,
+    /* [in] */ long channel);
+
+
+void __RPC_STUB IVLCAudio_put_channel_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCAudio_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCInput_INTERFACE_DEFINED__
+#define __IVLCInput_INTERFACE_DEFINED__
+
+/* interface IVLCInput */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCInput;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("49E0DBD1-9440-466C-9C97-95C67190C603")
+    IVLCInput : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+            /* [retval][out] */ double *length) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_position(
+            /* [retval][out] */ double *position) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_position(
+            /* [in] */ double position) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_time(
+            /* [retval][out] */ double *time) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_time(
+            /* [in] */ double time) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_state(
+            /* [retval][out] */ long *state) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rate(
+            /* [retval][out] */ double *rate) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_rate(
+            /* [in] */ double rate) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fps(
+            /* [retval][out] */ double *fps) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasVout(
+            /* [retval][out] */ VARIANT_BOOL *hasVout) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCInputVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCInput * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCInput * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCInput * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCInput * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCInput * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCInput * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCInput * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+            IVLCInput * This,
+            /* [retval][out] */ double *length);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )(
+            IVLCInput * This,
+            /* [retval][out] */ double *position);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_position )(
+            IVLCInput * This,
+            /* [in] */ double position);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time )(
+            IVLCInput * This,
+            /* [retval][out] */ double *time);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time )(
+            IVLCInput * This,
+            /* [in] */ double time);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )(
+            IVLCInput * This,
+            /* [retval][out] */ long *state);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rate )(
+            IVLCInput * This,
+            /* [retval][out] */ double *rate);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rate )(
+            IVLCInput * This,
+            /* [in] */ double rate);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fps )(
+            IVLCInput * This,
+            /* [retval][out] */ double *fps);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasVout )(
+            IVLCInput * This,
+            /* [retval][out] */ VARIANT_BOOL *hasVout);
+        END_INTERFACE
+    } IVLCInputVtbl;
+
+    interface IVLCInput
+    {
+        CONST_VTBL struct IVLCInputVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCInput_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCInput_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCInput_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCInput_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCInput_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCInput_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCInput_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCInput_get_length(This,length)    \
+    (This)->lpVtbl -> get_length(This,length)
+
+#define IVLCInput_get_position(This,position)    \
+    (This)->lpVtbl -> get_position(This,position)
+
+#define IVLCInput_put_position(This,position)    \
+    (This)->lpVtbl -> put_position(This,position)
+
+#define IVLCInput_get_time(This,time)    \
+    (This)->lpVtbl -> get_time(This,time)
+
+#define IVLCInput_put_time(This,time)    \
+    (This)->lpVtbl -> put_time(This,time)
+
+#define IVLCInput_get_state(This,state)    \
+    (This)->lpVtbl -> get_state(This,state)
+
+#define IVLCInput_get_rate(This,rate)    \
+    (This)->lpVtbl -> get_rate(This,rate)
+
+#define IVLCInput_put_rate(This,rate)    \
+    (This)->lpVtbl -> put_rate(This,rate)
+
+#define IVLCInput_get_fps(This,fps)    \
+    (This)->lpVtbl -> get_fps(This,fps)
+
+#define IVLCInput_get_hasVout(This,hasVout)    \
+    (This)->lpVtbl -> get_hasVout(This,hasVout)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_length_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ double *length);
+
+
+void __RPC_STUB IVLCInput_get_length_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_position_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ double *position);
+
+
+void __RPC_STUB IVLCInput_get_position_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCInput_put_position_Proxy(
+    IVLCInput * This,
+    /* [in] */ double position);
+
+
+void __RPC_STUB IVLCInput_put_position_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_time_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ double *time);
+
+
+void __RPC_STUB IVLCInput_get_time_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCInput_put_time_Proxy(
+    IVLCInput * This,
+    /* [in] */ double time);
+
+
+void __RPC_STUB IVLCInput_put_time_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_state_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ long *state);
+
+
+void __RPC_STUB IVLCInput_get_state_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_rate_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ double *rate);
+
+
+void __RPC_STUB IVLCInput_get_rate_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCInput_put_rate_Proxy(
+    IVLCInput * This,
+    /* [in] */ double rate);
+
+
+void __RPC_STUB IVLCInput_put_rate_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_fps_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ double *fps);
+
+
+void __RPC_STUB IVLCInput_get_fps_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCInput_get_hasVout_Proxy(
+    IVLCInput * This,
+    /* [retval][out] */ VARIANT_BOOL *hasVout);
+
+
+void __RPC_STUB IVLCInput_get_hasVout_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCInput_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCLog_INTERFACE_DEFINED__
+#define __IVLCLog_INTERFACE_DEFINED__
+
+/* interface IVLCLog */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCLog;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("8E3BC3D9-62E9-48FB-8A6D-993F9ABC4A0A")
+    IVLCLog : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_messages(
+            /* [retval][out] */ IVLCMessages **iter) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_verbosity(
+            /* [retval][out] */ long *level) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_verbosity(
+            /* [in] */ long level) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCLogVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCLog * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCLog * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCLog * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCLog * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCLog * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCLog * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCLog * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_messages )(
+            IVLCLog * This,
+            /* [retval][out] */ IVLCMessages **iter);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verbosity )(
+            IVLCLog * This,
+            /* [retval][out] */ long *level);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_verbosity )(
+            IVLCLog * This,
+            /* [in] */ long level);
+        END_INTERFACE
+    } IVLCLogVtbl;
+
+    interface IVLCLog
+    {
+        CONST_VTBL struct IVLCLogVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCLog_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCLog_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCLog_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCLog_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCLog_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCLog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCLog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCLog_get_messages(This,iter)    \
+    (This)->lpVtbl -> get_messages(This,iter)
+
+#define IVLCLog_get_verbosity(This,level)    \
+    (This)->lpVtbl -> get_verbosity(This,level)
+
+#define IVLCLog_put_verbosity(This,level)    \
+    (This)->lpVtbl -> put_verbosity(This,level)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCLog_get_messages_Proxy(
+    IVLCLog * This,
+    /* [retval][out] */ IVLCMessages **iter);
+
+
+void __RPC_STUB IVLCLog_get_messages_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCLog_get_verbosity_Proxy(
+    IVLCLog * This,
+    /* [retval][out] */ long *level);
+
+
+void __RPC_STUB IVLCLog_get_verbosity_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCLog_put_verbosity_Proxy(
+    IVLCLog * This,
+    /* [in] */ long level);
+
+
+void __RPC_STUB IVLCLog_put_verbosity_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCLog_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCMessage_INTERFACE_DEFINED__
+#define __IVLCMessage_INTERFACE_DEFINED__
+
+/* interface IVLCMessage */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCMessage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("9ED00AFA-7BCD-4FFF-8D48-7DD4DB2C800D")
+    IVLCMessage : public IDispatch
+    {
+    public:
+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__Value(
+            /* [retval][out] */ VARIANT *message) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_severity(
+            /* [retval][out] */ long *level) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type(
+            /* [retval][out] */ BSTR *type) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name(
+            /* [retval][out] */ BSTR *name) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_header(
+            /* [retval][out] */ BSTR *header) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_message(
+            /* [retval][out] */ BSTR *message) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCMessageVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCMessage * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCMessage * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCMessage * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCMessage * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCMessage * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCMessage * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCMessage * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__Value )(
+            IVLCMessage * This,
+            /* [retval][out] */ VARIANT *message);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_severity )(
+            IVLCMessage * This,
+            /* [retval][out] */ long *level);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+            IVLCMessage * This,
+            /* [retval][out] */ BSTR *type);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+            IVLCMessage * This,
+            /* [retval][out] */ BSTR *name);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_header )(
+            IVLCMessage * This,
+            /* [retval][out] */ BSTR *header);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )(
+            IVLCMessage * This,
+            /* [retval][out] */ BSTR *message);
+        END_INTERFACE
+    } IVLCMessageVtbl;
+
+    interface IVLCMessage
+    {
+        CONST_VTBL struct IVLCMessageVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCMessage_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCMessage_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCMessage_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCMessage_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCMessage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCMessage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCMessage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCMessage_get__Value(This,message)    \
+    (This)->lpVtbl -> get__Value(This,message)
+
+#define IVLCMessage_get_severity(This,level)    \
+    (This)->lpVtbl -> get_severity(This,level)
+
+#define IVLCMessage_get_type(This,type)    \
+    (This)->lpVtbl -> get_type(This,type)
+
+#define IVLCMessage_get_name(This,name)    \
+    (This)->lpVtbl -> get_name(This,name)
+
+#define IVLCMessage_get_header(This,header)    \
+    (This)->lpVtbl -> get_header(This,header)
+
+#define IVLCMessage_get_message(This,message)    \
+    (This)->lpVtbl -> get_message(This,message)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [propget][id] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get__Value_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ VARIANT *message);
+
+
+void __RPC_STUB IVLCMessage_get__Value_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get_severity_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ long *level);
+
+
+void __RPC_STUB IVLCMessage_get_severity_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get_type_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ BSTR *type);
+
+
+void __RPC_STUB IVLCMessage_get_type_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get_name_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ BSTR *name);
+
+
+void __RPC_STUB IVLCMessage_get_name_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get_header_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ BSTR *header);
+
+
+void __RPC_STUB IVLCMessage_get_header_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessage_get_message_Proxy(
+    IVLCMessage * This,
+    /* [retval][out] */ BSTR *message);
+
+
+void __RPC_STUB IVLCMessage_get_message_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCMessage_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCMessageIterator_INTERFACE_DEFINED__
+#define __IVLCMessageIterator_INTERFACE_DEFINED__
+
+/* interface IVLCMessageIterator */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCMessageIterator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("15179CD8-CC12-4242-A58E-E412217FF343")
+    IVLCMessageIterator : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNext(
+            /* [retval][out] */ VARIANT_BOOL *hasNext) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE next(
+            /* [retval][out] */ IVLCMessage **msg) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCMessageIteratorVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCMessageIterator * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCMessageIterator * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCMessageIterator * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCMessageIterator * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCMessageIterator * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCMessageIterator * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCMessageIterator * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNext )(
+            IVLCMessageIterator * This,
+            /* [retval][out] */ VARIANT_BOOL *hasNext);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *next )(
+            IVLCMessageIterator * This,
+            /* [retval][out] */ IVLCMessage **msg);
+        END_INTERFACE
+    } IVLCMessageIteratorVtbl;
+
+    interface IVLCMessageIterator
+    {
+        CONST_VTBL struct IVLCMessageIteratorVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCMessageIterator_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCMessageIterator_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCMessageIterator_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCMessageIterator_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCMessageIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCMessageIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCMessageIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCMessageIterator_get_hasNext(This,hasNext)    \
+    (This)->lpVtbl -> get_hasNext(This,hasNext)
+
+#define IVLCMessageIterator_next(This,msg)    \
+    (This)->lpVtbl -> next(This,msg)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessageIterator_get_hasNext_Proxy(
+    IVLCMessageIterator * This,
+    /* [retval][out] */ VARIANT_BOOL *hasNext);
+
+
+void __RPC_STUB IVLCMessageIterator_get_hasNext_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCMessageIterator_next_Proxy(
+    IVLCMessageIterator * This,
+    /* [retval][out] */ IVLCMessage **msg);
+
+
+void __RPC_STUB IVLCMessageIterator_next_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCMessageIterator_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCMessages_INTERFACE_DEFINED__
+#define __IVLCMessages_INTERFACE_DEFINED__
+
+/* interface IVLCMessages */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCMessages;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("6C5CE55D-2D6C-4AAD-8299-C62D2371F106")
+    IVLCMessages : public IDispatch
+    {
+    public:
+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+            /* [retval][out] */ IUnknown **_NewEnum) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count(
+            /* [retval][out] */ long *count) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE iterator(
+            /* [retval][out] */ IVLCMessageIterator **iter) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCMessagesVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCMessages * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCMessages * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCMessages * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCMessages * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCMessages * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCMessages * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCMessages * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+            IVLCMessages * This,
+            /* [retval][out] */ IUnknown **_NewEnum);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *clear )(
+            IVLCMessages * This);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+            IVLCMessages * This,
+            /* [retval][out] */ long *count);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *iterator )(
+            IVLCMessages * This,
+            /* [retval][out] */ IVLCMessageIterator **iter);
+        END_INTERFACE
+    } IVLCMessagesVtbl;
+
+    interface IVLCMessages
+    {
+        CONST_VTBL struct IVLCMessagesVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCMessages_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCMessages_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCMessages_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCMessages_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCMessages_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCMessages_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCMessages_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCMessages_get__NewEnum(This,_NewEnum)    \
+    (This)->lpVtbl -> get__NewEnum(This,_NewEnum)
+
+#define IVLCMessages_clear(This)    \
+    (This)->lpVtbl -> clear(This)
+
+#define IVLCMessages_get_count(This,count)    \
+    (This)->lpVtbl -> get_count(This,count)
+
+#define IVLCMessages_iterator(This,iter)    \
+    (This)->lpVtbl -> iterator(This,iter)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [propget][id] */ HRESULT STDMETHODCALLTYPE IVLCMessages_get__NewEnum_Proxy(
+    IVLCMessages * This,
+    /* [retval][out] */ IUnknown **_NewEnum);
+
+
+void __RPC_STUB IVLCMessages_get__NewEnum_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCMessages_clear_Proxy(
+    IVLCMessages * This);
+
+
+void __RPC_STUB IVLCMessages_clear_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCMessages_get_count_Proxy(
+    IVLCMessages * This,
+    /* [retval][out] */ long *count);
+
+
+void __RPC_STUB IVLCMessages_get_count_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCMessages_iterator_Proxy(
+    IVLCMessages * This,
+    /* [retval][out] */ IVLCMessageIterator **iter);
+
+
+void __RPC_STUB IVLCMessages_iterator_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCMessages_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
+#define __IVLCPlaylist_INTERFACE_DEFINED__
+
+/* interface IVLCPlaylist */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCPlaylist;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("54613049-40BF-4035-9E70-0A9312C0188D")
+    IVLCPlaylist : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget][hidden] */ HRESULT STDMETHODCALLTYPE get_itemCount(
+            /* [retval][out] */ long *count) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPlaying(
+            /* [retval][out] */ VARIANT_BOOL *playing) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE add(
+            /* [in] */ BSTR uri,
+            /* [optional][in] */ VARIANT name,
+            /* [optional][in] */ VARIANT options,
+            /* [retval][out] */ long *itemId) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE play( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playItem(
+            /* [in] */ long itemId) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE togglePause( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE next( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE prev( void) = 0;
+        virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
+        virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE removeItem(
+            /* [in] */ long item) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_items(
+            /* [retval][out] */ IVLCPlaylistItems **obj) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCPlaylistVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCPlaylist * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCPlaylist * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCPlaylist * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCPlaylist * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCPlaylist * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCPlaylist * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCPlaylist * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_itemCount )(
+            IVLCPlaylist * This,
+            /* [retval][out] */ long *count);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPlaying )(
+            IVLCPlaylist * This,
+            /* [retval][out] */ VARIANT_BOOL *playing);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *add )(
+            IVLCPlaylist * This,
+            /* [in] */ BSTR uri,
+            /* [optional][in] */ VARIANT name,
+            /* [optional][in] */ VARIANT options,
+            /* [retval][out] */ long *itemId);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *play )(
+            IVLCPlaylist * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playItem )(
+            IVLCPlaylist * This,
+            /* [in] */ long itemId);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *togglePause )(
+            IVLCPlaylist * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *stop )(
+            IVLCPlaylist * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *next )(
+            IVLCPlaylist * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *prev )(
+            IVLCPlaylist * This);
+        /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *clear )(
+            IVLCPlaylist * This);
+        /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *removeItem )(
+            IVLCPlaylist * This,
+            /* [in] */ long item);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_items )(
+            IVLCPlaylist * This,
+            /* [retval][out] */ IVLCPlaylistItems **obj);
+        END_INTERFACE
+    } IVLCPlaylistVtbl;
+
+    interface IVLCPlaylist
+    {
+        CONST_VTBL struct IVLCPlaylistVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCPlaylist_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCPlaylist_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCPlaylist_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCPlaylist_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCPlaylist_get_itemCount(This,count)    \
+    (This)->lpVtbl -> get_itemCount(This,count)
+
+#define IVLCPlaylist_get_isPlaying(This,playing)    \
+    (This)->lpVtbl -> get_isPlaying(This,playing)
+
+#define IVLCPlaylist_add(This,uri,name,options,itemId)    \
+    (This)->lpVtbl -> add(This,uri,name,options,itemId)
+
+#define IVLCPlaylist_play(This)    \
+    (This)->lpVtbl -> play(This)
+
+#define IVLCPlaylist_playItem(This,itemId)    \
+    (This)->lpVtbl -> playItem(This,itemId)
+
+#define IVLCPlaylist_togglePause(This)    \
+    (This)->lpVtbl -> togglePause(This)
+
+#define IVLCPlaylist_stop(This)    \
+    (This)->lpVtbl -> stop(This)
+
+#define IVLCPlaylist_next(This)    \
+    (This)->lpVtbl -> next(This)
+
+#define IVLCPlaylist_prev(This)    \
+    (This)->lpVtbl -> prev(This)
+
+#define IVLCPlaylist_clear(This)    \
+    (This)->lpVtbl -> clear(This)
+
+#define IVLCPlaylist_removeItem(This,item)    \
+    (This)->lpVtbl -> removeItem(This,item)
+
+#define IVLCPlaylist_get_items(This,obj)    \
+    (This)->lpVtbl -> get_items(This,obj)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget][hidden] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_get_itemCount_Proxy(
+    IVLCPlaylist * This,
+    /* [retval][out] */ long *count);
+
+
+void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_get_isPlaying_Proxy(
+    IVLCPlaylist * This,
+    /* [retval][out] */ VARIANT_BOOL *playing);
+
+
+void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_add_Proxy(
+    IVLCPlaylist * This,
+    /* [in] */ BSTR uri,
+    /* [optional][in] */ VARIANT name,
+    /* [optional][in] */ VARIANT options,
+    /* [retval][out] */ long *itemId);
+
+
+void __RPC_STUB IVLCPlaylist_add_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_play_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_play_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_playItem_Proxy(
+    IVLCPlaylist * This,
+    /* [in] */ long itemId);
+
+
+void __RPC_STUB IVLCPlaylist_playItem_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_togglePause_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_togglePause_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_stop_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_stop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_next_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_next_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_prev_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_prev_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_clear_Proxy(
+    IVLCPlaylist * This);
+
+
+void __RPC_STUB IVLCPlaylist_clear_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_removeItem_Proxy(
+    IVLCPlaylist * This,
+    /* [in] */ long item);
+
+
+void __RPC_STUB IVLCPlaylist_removeItem_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCPlaylist_get_items_Proxy(
+    IVLCPlaylist * This,
+    /* [retval][out] */ IVLCPlaylistItems **obj);
+
+
+void __RPC_STUB IVLCPlaylist_get_items_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCPlaylist_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCVideo_INTERFACE_DEFINED__
+#define __IVLCVideo_INTERFACE_DEFINED__
+
+/* interface IVLCVideo */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCVideo;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("0AAEDF0B-D333-4B27-A0C6-BBF31413A42E")
+    IVLCVideo : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fullscreen(
+            /* [retval][out] */ VARIANT_BOOL *fullscreen) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_fullscreen(
+            /* [in] */ VARIANT_BOOL fullscreen) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_width(
+            /* [retval][out] */ long *width) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_height(
+            /* [retval][out] */ long *height) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_aspectRatio(
+            /* [retval][out] */ BSTR *aspect) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_aspectRatio(
+            /* [in] */ BSTR aspect) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_subtitle(
+            /* [retval][out] */ long *spu) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_subtitle(
+            /* [in] */ long spu) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crop(
+            /* [retval][out] */ BSTR *geometry) = 0;
+        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_crop(
+            /* [in] */ BSTR geometry) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleFullscreen( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE takeSnapshot(
+            /* [retval][out] */ IPictureDisp **picture) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCVideoVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCVideo * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCVideo * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCVideo * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCVideo * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCVideo * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCVideo * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCVideo * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fullscreen )(
+            IVLCVideo * This,
+            /* [retval][out] */ VARIANT_BOOL *fullscreen);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fullscreen )(
+            IVLCVideo * This,
+            /* [in] */ VARIANT_BOOL fullscreen);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )(
+            IVLCVideo * This,
+            /* [retval][out] */ long *width);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )(
+            IVLCVideo * This,
+            /* [retval][out] */ long *height);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_aspectRatio )(
+            IVLCVideo * This,
+            /* [retval][out] */ BSTR *aspect);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_aspectRatio )(
+            IVLCVideo * This,
+            /* [in] */ BSTR aspect);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subtitle )(
+            IVLCVideo * This,
+            /* [retval][out] */ long *spu);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_subtitle )(
+            IVLCVideo * This,
+            /* [in] */ long spu);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crop )(
+            IVLCVideo * This,
+            /* [retval][out] */ BSTR *geometry);
+        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_crop )(
+            IVLCVideo * This,
+            /* [in] */ BSTR geometry);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleFullscreen )(
+            IVLCVideo * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *takeSnapshot )(
+            IVLCVideo * This,
+            /* [retval][out] */ IPictureDisp **picture);
+        END_INTERFACE
+    } IVLCVideoVtbl;
+
+    interface IVLCVideo
+    {
+        CONST_VTBL struct IVLCVideoVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCVideo_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCVideo_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCVideo_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCVideo_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCVideo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCVideo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCVideo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCVideo_get_fullscreen(This,fullscreen)    \
+    (This)->lpVtbl -> get_fullscreen(This,fullscreen)
+
+#define IVLCVideo_put_fullscreen(This,fullscreen)    \
+    (This)->lpVtbl -> put_fullscreen(This,fullscreen)
+
+#define IVLCVideo_get_width(This,width)    \
+    (This)->lpVtbl -> get_width(This,width)
+
+#define IVLCVideo_get_height(This,height)    \
+    (This)->lpVtbl -> get_height(This,height)
+
+#define IVLCVideo_get_aspectRatio(This,aspect)    \
+    (This)->lpVtbl -> get_aspectRatio(This,aspect)
+
+#define IVLCVideo_put_aspectRatio(This,aspect)    \
+    (This)->lpVtbl -> put_aspectRatio(This,aspect)
+
+#define IVLCVideo_get_subtitle(This,spu)    \
+    (This)->lpVtbl -> get_subtitle(This,spu)
+
+#define IVLCVideo_put_subtitle(This,spu)    \
+    (This)->lpVtbl -> put_subtitle(This,spu)
+
+#define IVLCVideo_get_crop(This,geometry)    \
+    (This)->lpVtbl -> get_crop(This,geometry)
+
+#define IVLCVideo_put_crop(This,geometry)    \
+    (This)->lpVtbl -> put_crop(This,geometry)
+
+#define IVLCVideo_toggleFullscreen(This)    \
+    (This)->lpVtbl -> toggleFullscreen(This)
+
+#define IVLCVideo_takeSnapshot(This,picture)    \
+    (This)->lpVtbl -> takeSnapshot(This,picture)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_fullscreen_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ VARIANT_BOOL *fullscreen);
+
+
+void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCVideo_put_fullscreen_Proxy(
+    IVLCVideo * This,
+    /* [in] */ VARIANT_BOOL fullscreen);
+
+
+void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_width_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ long *width);
+
+
+void __RPC_STUB IVLCVideo_get_width_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_height_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ long *height);
+
+
+void __RPC_STUB IVLCVideo_get_height_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_aspectRatio_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ BSTR *aspect);
+
+
+void __RPC_STUB IVLCVideo_get_aspectRatio_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCVideo_put_aspectRatio_Proxy(
+    IVLCVideo * This,
+    /* [in] */ BSTR aspect);
+
+
+void __RPC_STUB IVLCVideo_put_aspectRatio_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_subtitle_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ long *spu);
+
+
+void __RPC_STUB IVLCVideo_get_subtitle_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCVideo_put_subtitle_Proxy(
+    IVLCVideo * This,
+    /* [in] */ long spu);
+
+
+void __RPC_STUB IVLCVideo_put_subtitle_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCVideo_get_crop_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ BSTR *geometry);
+
+
+void __RPC_STUB IVLCVideo_get_crop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IVLCVideo_put_crop_Proxy(
+    IVLCVideo * This,
+    /* [in] */ BSTR geometry);
+
+
+void __RPC_STUB IVLCVideo_put_crop_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCVideo_toggleFullscreen_Proxy(
+    IVLCVideo * This);
+
+
+void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCVideo_takeSnapshot_Proxy(
+    IVLCVideo * This,
+    /* [retval][out] */ IPictureDisp **picture);
 
-#endif
 
-HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
-    IVLCVideo* This,
-    VARIANT_BOOL* fullscreen);
-void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
-    IVLCVideo* This,
-    VARIANT_BOOL fullscreen);
-void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_width_Proxy(
-    IVLCVideo* This,
-    long* width);
-void __RPC_STUB IVLCVideo_get_width_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_height_Proxy(
-    IVLCVideo* This,
-    long* height);
-void __RPC_STUB IVLCVideo_get_height_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_aspectRatio_Proxy(
-    IVLCVideo* This,
-    BSTR* aspect);
-void __RPC_STUB IVLCVideo_get_aspectRatio_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_put_aspectRatio_Proxy(
-    IVLCVideo* This,
-    BSTR aspect);
-void __RPC_STUB IVLCVideo_put_aspectRatio_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_subtitle_Proxy(
-    IVLCVideo* This,
-    long* spu);
-void __RPC_STUB IVLCVideo_get_subtitle_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_put_subtitle_Proxy(
-    IVLCVideo* This,
-    long spu);
-void __RPC_STUB IVLCVideo_put_subtitle_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_crop_Proxy(
-    IVLCVideo* This,
-    BSTR* geometry);
-void __RPC_STUB IVLCVideo_get_crop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_put_crop_Proxy(
-    IVLCVideo* This,
-    BSTR geometry);
-void __RPC_STUB IVLCVideo_put_crop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_toggleFullscreen_Proxy(
-    IVLCVideo* This);
-void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_takeSnapshot_Proxy(
-    IVLCVideo* This,
-    IPictureDisp** picture);
 void __RPC_STUB IVLCVideo_takeSnapshot_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCVideo_INTERFACE_DEFINED__ */
 
-#endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
 
-/*****************************************************************************
- * IVLCControl2 interface
- */
 #ifndef __IVLCControl2_INTERFACE_DEFINED__
 #define __IVLCControl2_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
+/* interface IVLCControl2 */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCControl2;
+
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCControl2 : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
-        VARIANT_BOOL* autoloop) = 0;
+    MIDL_INTERFACE("2D719729-5333-406C-BF12-8DE787FD65E3")
+    IVLCControl2 : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLoop(
+            /* [retval][out] */ VARIANT_BOOL *autoloop) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoLoop(
+            /* [in] */ VARIANT_BOOL autoloop) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoPlay(
+            /* [retval][out] */ VARIANT_BOOL *autoplay) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoPlay(
+            /* [in] */ VARIANT_BOOL autoplay) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BaseURL(
+            /* [retval][out] */ BSTR *url) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BaseURL(
+            /* [in] */ BSTR url) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_StartTime(
+            /* [retval][out] */ long *seconds) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_StartTime(
+            /* [in] */ long seconds) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MRL(
+            /* [retval][out] */ BSTR *mrl) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_MRL(
+            /* [in] */ BSTR mrl) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VersionInfo(
+            /* [retval][out] */ BSTR *version) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible(
+            /* [retval][out] */ VARIANT_BOOL *visible) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible(
+            /* [in] */ VARIANT_BOOL visible) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Volume(
+            /* [retval][out] */ long *volume) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Volume(
+            /* [in] */ long volume) = 0;
+        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BackColor(
+            /* [retval][out] */ OLE_COLOR *backcolor) = 0;
+        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BackColor(
+            /* [in] */ OLE_COLOR backcolor) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_audio(
+            /* [retval][out] */ IVLCAudio **obj) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_input(
+            /* [retval][out] */ IVLCInput **obj) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_log(
+            /* [retval][out] */ IVLCLog **obj) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_playlist(
+            /* [retval][out] */ IVLCPlaylist **obj) = 0;
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_video(
+            /* [retval][out] */ IVLCVideo **obj) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCControl2Vtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCControl2 * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCControl2 * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCControl2 * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCControl2 * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCControl2 * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCControl2 * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCControl2 * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLoop )(
+            IVLCControl2 * This,
+            /* [retval][out] */ VARIANT_BOOL *autoloop);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoLoop )(
+            IVLCControl2 * This,
+            /* [in] */ VARIANT_BOOL autoloop);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoPlay )(
+            IVLCControl2 * This,
+            /* [retval][out] */ VARIANT_BOOL *autoplay);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoPlay )(
+            IVLCControl2 * This,
+            /* [in] */ VARIANT_BOOL autoplay);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaseURL )(
+            IVLCControl2 * This,
+            /* [retval][out] */ BSTR *url);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaseURL )(
+            IVLCControl2 * This,
+            /* [in] */ BSTR url);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartTime )(
+            IVLCControl2 * This,
+            /* [retval][out] */ long *seconds);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartTime )(
+            IVLCControl2 * This,
+            /* [in] */ long seconds);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MRL )(
+            IVLCControl2 * This,
+            /* [retval][out] */ BSTR *mrl);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MRL )(
+            IVLCControl2 * This,
+            /* [in] */ BSTR mrl);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionInfo )(
+            IVLCControl2 * This,
+            /* [retval][out] */ BSTR *version);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )(
+            IVLCControl2 * This,
+            /* [retval][out] */ VARIANT_BOOL *visible);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )(
+            IVLCControl2 * This,
+            /* [in] */ VARIANT_BOOL visible);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )(
+            IVLCControl2 * This,
+            /* [retval][out] */ long *volume);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )(
+            IVLCControl2 * This,
+            /* [in] */ long volume);
+        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )(
+            IVLCControl2 * This,
+            /* [retval][out] */ OLE_COLOR *backcolor);
+        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )(
+            IVLCControl2 * This,
+            /* [in] */ OLE_COLOR backcolor);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_audio )(
+            IVLCControl2 * This,
+            /* [retval][out] */ IVLCAudio **obj);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_input )(
+            IVLCControl2 * This,
+            /* [retval][out] */ IVLCInput **obj);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_log )(
+            IVLCControl2 * This,
+            /* [retval][out] */ IVLCLog **obj);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_playlist )(
+            IVLCControl2 * This,
+            /* [retval][out] */ IVLCPlaylist **obj);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_video )(
+            IVLCControl2 * This,
+            /* [retval][out] */ IVLCVideo **obj);
+        END_INTERFACE
+    } IVLCControl2Vtbl;
+
+    interface IVLCControl2
+    {
+        CONST_VTBL struct IVLCControl2Vtbl *lpVtbl;
+    };
+
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
-        VARIANT_BOOL autoloop) = 0;
+#ifdef COBJMACROS
 
-    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
-        VARIANT_BOOL* autoplay) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
-        VARIANT_BOOL autoplay) = 0;
+#define IVLCControl2_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
 
-    virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
-        BSTR* url) = 0;
+#define IVLCControl2_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
 
-    virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
-        BSTR url) = 0;
+#define IVLCControl2_Release(This)    \
+    (This)->lpVtbl -> Release(This)
 
-    virtual HRESULT STDMETHODCALLTYPE get_StartTime(
-        long* seconds) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_StartTime(
-        long seconds) = 0;
+#define IVLCControl2_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
 
-    virtual HRESULT STDMETHODCALLTYPE get_MRL(
-        BSTR* mrl) = 0;
+#define IVLCControl2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 
-    virtual HRESULT STDMETHODCALLTYPE put_MRL(
-        BSTR mrl) = 0;
+#define IVLCControl2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 
-    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
-        BSTR* version) = 0;
+#define IVLCControl2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 
-    virtual HRESULT STDMETHODCALLTYPE get_Visible(
-        VARIANT_BOOL* visible) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_Visible(
-        VARIANT_BOOL visible) = 0;
+#define IVLCControl2_get_AutoLoop(This,autoloop)    \
+    (This)->lpVtbl -> get_AutoLoop(This,autoloop)
 
-    virtual HRESULT STDMETHODCALLTYPE get_Volume(
-        long* volume) = 0;
+#define IVLCControl2_put_AutoLoop(This,autoloop)    \
+    (This)->lpVtbl -> put_AutoLoop(This,autoloop)
 
-    virtual HRESULT STDMETHODCALLTYPE put_Volume(
-        long volume) = 0;
+#define IVLCControl2_get_AutoPlay(This,autoplay)    \
+    (This)->lpVtbl -> get_AutoPlay(This,autoplay)
 
-    virtual HRESULT STDMETHODCALLTYPE get_audio(
-        IVLCAudio** obj) = 0;
+#define IVLCControl2_put_AutoPlay(This,autoplay)    \
+    (This)->lpVtbl -> put_AutoPlay(This,autoplay)
 
-    virtual HRESULT STDMETHODCALLTYPE get_input(
-        IVLCInput** obj) = 0;
+#define IVLCControl2_get_BaseURL(This,url)    \
+    (This)->lpVtbl -> get_BaseURL(This,url)
 
-    virtual HRESULT STDMETHODCALLTYPE get_log(
-        IVLCLog** obj) = 0;
+#define IVLCControl2_put_BaseURL(This,url)    \
+    (This)->lpVtbl -> put_BaseURL(This,url)
 
-    virtual HRESULT STDMETHODCALLTYPE get_playlist(
-        IVLCPlaylist** obj) = 0;
+#define IVLCControl2_get_StartTime(This,seconds)    \
+    (This)->lpVtbl -> get_StartTime(This,seconds)
 
-    virtual HRESULT STDMETHODCALLTYPE get_video(
-        IVLCVideo** obj) = 0;
+#define IVLCControl2_put_StartTime(This,seconds)    \
+    (This)->lpVtbl -> put_StartTime(This,seconds)
 
-};
-#else
-typedef struct IVLCControl2Vtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCControl2* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCControl2* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCControl2* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCControl2* This,
-        UINT* pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCControl2* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo** ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCControl2* This,
-        REFIID riid,
-        LPOLESTR* rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID* rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCControl2* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS* pDispParams,
-        VARIANT* pVarResult,
-        EXCEPINFO* pExcepInfo,
-        UINT* puArgErr);
-
-    /*** IVLCControl2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
-        IVLCControl2* This,
-        VARIANT_BOOL* autoloop);
-
-    HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
-        IVLCControl2* This,
-        VARIANT_BOOL autoloop);
-
-    HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
-        IVLCControl2* This,
-        VARIANT_BOOL* autoplay);
-
-    HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
-        IVLCControl2* This,
-        VARIANT_BOOL autoplay);
-
-    HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
-        IVLCControl2* This,
-        BSTR* url);
-
-    HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
-        IVLCControl2* This,
-        BSTR url);
-
-    HRESULT (STDMETHODCALLTYPE *get_StartTime)(
-        IVLCControl2* This,
-        long* seconds);
-
-    HRESULT (STDMETHODCALLTYPE *put_StartTime)(
-        IVLCControl2* This,
-        long seconds);
-
-    HRESULT (STDMETHODCALLTYPE *get_MRL)(
-        IVLCControl2* This,
-        BSTR* mrl);
-
-    HRESULT (STDMETHODCALLTYPE *put_MRL)(
-        IVLCControl2* This,
-        BSTR mrl);
-
-    HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
-        IVLCControl2* This,
-        BSTR* version);
-
-    HRESULT (STDMETHODCALLTYPE *get_Visible)(
-        IVLCControl2* This,
-        VARIANT_BOOL* visible);
-
-    HRESULT (STDMETHODCALLTYPE *put_Visible)(
-        IVLCControl2* This,
-        VARIANT_BOOL visible);
-
-    HRESULT (STDMETHODCALLTYPE *get_Volume)(
-        IVLCControl2* This,
-        long* volume);
-
-    HRESULT (STDMETHODCALLTYPE *put_Volume)(
-        IVLCControl2* This,
-        long volume);
-
-    HRESULT (STDMETHODCALLTYPE *get_audio)(
-        IVLCControl2* This,
-        IVLCAudio** obj);
-
-    HRESULT (STDMETHODCALLTYPE *get_input)(
-        IVLCControl2* This,
-        IVLCInput** obj);
-
-    HRESULT (STDMETHODCALLTYPE *get_log)(
-        IVLCControl2* This,
-        IVLCLog** obj);
-
-    HRESULT (STDMETHODCALLTYPE *get_playlist)(
-        IVLCControl2* This,
-        IVLCPlaylist** obj);
-
-    HRESULT (STDMETHODCALLTYPE *get_video)(
-        IVLCControl2* This,
-        IVLCVideo** obj);
-
-    END_INTERFACE
-} IVLCControl2Vtbl;
-interface IVLCControl2 {
-    CONST_VTBL IVLCControl2Vtbl* lpVtbl;
-};
+#define IVLCControl2_get_MRL(This,mrl)    \
+    (This)->lpVtbl -> get_MRL(This,mrl)
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCControl2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCControl2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCControl2_Release(p) (p)->lpVtbl->Release(p)
-/*** IDispatch methods ***/
-#define IVLCControl2_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCControl2_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCControl2_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCControl2_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCControl2 methods ***/
-#define IVLCControl2_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
-#define IVLCControl2_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
-#define IVLCControl2_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
-#define IVLCControl2_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
-#define IVLCControl2_get_BaseURL(p,a) (p)->lpVtbl->get_BaseURL(p,a)
-#define IVLCControl2_put_BaseURL(p,a) (p)->lpVtbl->put_BaseURL(p,a)
-#define IVLCControl2_get_StartTime(p,a) (p)->lpVtbl->get_StartTime(p,a)
-#define IVLCControl2_put_StartTime(p,a) (p)->lpVtbl->put_StartTime(p,a)
-#define IVLCControl2_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
-#define IVLCControl2_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
-#define IVLCControl2_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
-#define IVLCControl2_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
-#define IVLCControl2_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
-#define IVLCControl2_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
-#define IVLCControl2_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
-#define IVLCControl2_get_audio(p,a) (p)->lpVtbl->get_audio(p,a)
-#define IVLCControl2_get_input(p,a) (p)->lpVtbl->get_input(p,a)
-#define IVLCControl2_get_log(p,a) (p)->lpVtbl->get_log(p,a)
-#define IVLCControl2_get_playlist(p,a) (p)->lpVtbl->get_playlist(p,a)
-#define IVLCControl2_get_video(p,a) (p)->lpVtbl->get_video(p,a)
-#endif
+#define IVLCControl2_put_MRL(This,mrl)    \
+    (This)->lpVtbl -> put_MRL(This,mrl)
+
+#define IVLCControl2_get_VersionInfo(This,version)    \
+    (This)->lpVtbl -> get_VersionInfo(This,version)
+
+#define IVLCControl2_get_Visible(This,visible)    \
+    (This)->lpVtbl -> get_Visible(This,visible)
+
+#define IVLCControl2_put_Visible(This,visible)    \
+    (This)->lpVtbl -> put_Visible(This,visible)
+
+#define IVLCControl2_get_Volume(This,volume)    \
+    (This)->lpVtbl -> get_Volume(This,volume)
+
+#define IVLCControl2_put_Volume(This,volume)    \
+    (This)->lpVtbl -> put_Volume(This,volume)
+
+#define IVLCControl2_get_BackColor(This,backcolor)    \
+    (This)->lpVtbl -> get_BackColor(This,backcolor)
+
+#define IVLCControl2_put_BackColor(This,backcolor)    \
+    (This)->lpVtbl -> put_BackColor(This,backcolor)
+
+#define IVLCControl2_get_audio(This,obj)    \
+    (This)->lpVtbl -> get_audio(This,obj)
+
+#define IVLCControl2_get_input(This,obj)    \
+    (This)->lpVtbl -> get_input(This,obj)
+
+#define IVLCControl2_get_log(This,obj)    \
+    (This)->lpVtbl -> get_log(This,obj)
+
+#define IVLCControl2_get_playlist(This,obj)    \
+    (This)->lpVtbl -> get_playlist(This,obj)
+
+#define IVLCControl2_get_video(This,obj)    \
+    (This)->lpVtbl -> get_video(This,obj)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_AutoLoop_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ VARIANT_BOOL *autoloop);
 
-#endif
 
-HRESULT CALLBACK IVLCControl2_get_AutoLoop_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL* autoloop);
 void __RPC_STUB IVLCControl2_get_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_AutoLoop_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL autoloop);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_AutoLoop_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ VARIANT_BOOL autoloop);
+
+
 void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_AutoPlay_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL* autoplay);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_AutoPlay_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ VARIANT_BOOL *autoplay);
+
+
 void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_AutoPlay_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL autoplay);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_AutoPlay_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ VARIANT_BOOL autoplay);
+
+
 void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_BaseURL_Proxy(
-    IVLCControl2* This,
-    BSTR* url);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_BaseURL_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ BSTR *url);
+
+
 void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_BaseURL_Proxy(
-    IVLCControl2* This,
-    BSTR url);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_BaseURL_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ BSTR url);
+
+
 void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_StartTime_Proxy(
-    IVLCControl2* This,
-    long* seconds);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_StartTime_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ long *seconds);
+
+
 void __RPC_STUB IVLCControl2_get_StartTime_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_StartTime_Proxy(
-    IVLCControl2* This,
-    long seconds);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_StartTime_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ long seconds);
+
+
 void __RPC_STUB IVLCControl2_put_StartTime_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_MRL_Proxy(
-    IVLCControl2* This,
-    BSTR* mrl);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_MRL_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ BSTR *mrl);
+
+
 void __RPC_STUB IVLCControl2_get_MRL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_MRL_Proxy(
-    IVLCControl2* This,
-    BSTR mrl);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_MRL_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ BSTR mrl);
+
+
 void __RPC_STUB IVLCControl2_put_MRL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_VersionInfo_Proxy(
-    IVLCControl2* This,
-    BSTR* version);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_VersionInfo_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ BSTR *version);
+
+
 void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_Visible_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL* visible);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_Visible_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ VARIANT_BOOL *visible);
+
+
 void __RPC_STUB IVLCControl2_get_Visible_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_Visible_Proxy(
-    IVLCControl2* This,
-    VARIANT_BOOL visible);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_Visible_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ VARIANT_BOOL visible);
+
+
 void __RPC_STUB IVLCControl2_put_Visible_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_Volume_Proxy(
-    IVLCControl2* This,
-    long* volume);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_Volume_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ long *volume);
+
+
 void __RPC_STUB IVLCControl2_get_Volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_put_Volume_Proxy(
-    IVLCControl2* This,
-    long volume);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_Volume_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ long volume);
+
+
 void __RPC_STUB IVLCControl2_put_Volume_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_audio_Proxy(
-    IVLCControl2* This,
-    IVLCAudio** obj);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_BackColor_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ OLE_COLOR *backcolor);
+
+
+void __RPC_STUB IVLCControl2_get_BackColor_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IVLCControl2_put_BackColor_Proxy(
+    IVLCControl2 * This,
+    /* [in] */ OLE_COLOR backcolor);
+
+
+void __RPC_STUB IVLCControl2_put_BackColor_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_audio_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ IVLCAudio **obj);
+
+
 void __RPC_STUB IVLCControl2_get_audio_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_input_Proxy(
-    IVLCControl2* This,
-    IVLCInput** obj);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_input_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ IVLCInput **obj);
+
+
 void __RPC_STUB IVLCControl2_get_input_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_log_Proxy(
-    IVLCControl2* This,
-    IVLCLog** obj);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_log_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ IVLCLog **obj);
+
+
 void __RPC_STUB IVLCControl2_get_log_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_playlist_Proxy(
-    IVLCControl2* This,
-    IVLCPlaylist** obj);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_playlist_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ IVLCPlaylist **obj);
+
+
 void __RPC_STUB IVLCControl2_get_playlist_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCControl2_get_video_Proxy(
-    IVLCControl2* This,
-    IVLCVideo** obj);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCControl2_get_video_Proxy(
+    IVLCControl2 * This,
+    /* [retval][out] */ IVLCVideo **obj);
+
+
 void __RPC_STUB IVLCControl2_get_video_Stub(
-    IRpcStubBufferThis,
-    IRpcChannelBufferpRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORDpdwStubPhase);
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
 
-#endif  /* __IVLCControl2_INTERFACE_DEFINED__ */
 
-/*****************************************************************************
- * VLCPlugin coclass
- */
 
-DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
+#endif     /* __IVLCControl2_INTERFACE_DEFINED__ */
 
-#ifndef __VLCPlugin_FWD_DEFINED__
-#define __VLCPlugin_FWD_DEFINED__
-typedef struct VLCPlugin VLCPlugin;
-#endif /* defined __VLCPlugin_FWD_DEFINED__ */
 
-/*****************************************************************************
- * VLCPlugin2 coclass
- */
+#ifndef __DVLCEvents_DISPINTERFACE_DEFINED__
+#define __DVLCEvents_DISPINTERFACE_DEFINED__
 
-DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
+/* dispinterface DVLCEvents */
+/* [helpstring][uuid] */
 
-#ifndef __VLCPlugin2_FWD_DEFINED__
-#define __VLCPlugin2_FWD_DEFINED__
-typedef struct VLCPlugin2 VLCPlugin2;
-#endif /* defined __VLCPlugin2_FWD_DEFINED__ */
 
-/* Begin additional prototypes for all interfaces */
+EXTERN_C const IID DIID_DVLCEvents;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+    MIDL_INTERFACE("DF48072F-5EF8-434e-9B40-E2F3AE759B5F")
+    DVLCEvents : public IDispatch
+    {
+    };
+#else     /* C style interface */
+
+    typedef struct DVLCEventsVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            DVLCEvents * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            DVLCEvents * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            DVLCEvents * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            DVLCEvents * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            DVLCEvents * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            DVLCEvents * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            DVLCEvents * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        END_INTERFACE
+    } DVLCEventsVtbl;
+
+    interface DVLCEvents
+    {
+        CONST_VTBL struct DVLCEventsVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define DVLCEvents_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define DVLCEvents_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define DVLCEvents_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define DVLCEvents_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define DVLCEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define DVLCEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define DVLCEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+#endif /* COBJMACROS */
+
 
-ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
-unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
-unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
-void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
-ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
-unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
-unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
-void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
+#endif     /* C style interface */
 
-/* End additional prototypes */
+
+#endif     /* __DVLCEvents_DISPINTERFACE_DEFINED__ */
+
+
+#ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__
+#define __IVLCPlaylistItems_INTERFACE_DEFINED__
+
+/* interface IVLCPlaylistItems */
+/* [object][oleautomation][dual][helpstring][uuid] */
+
+
+EXTERN_C const IID IID_IVLCPlaylistItems;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+    MIDL_INTERFACE("FD37FE32-82BC-4A25-B056-315F4DBB194D")
+    IVLCPlaylistItems : public IDispatch
+    {
+    public:
+        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count(
+            /* [retval][out] */ long *count) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
+        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE remove(
+            /* [in] */ long itemId) = 0;
+    };
+#else     /* C style interface */
+
+    typedef struct IVLCPlaylistItemsVtbl
+    {
+        BEGIN_INTERFACE
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+            IVLCPlaylistItems * This,
+            /* [in] */ REFIID riid,
+            /* [iid_is][out] */ void **ppvObject);
+        ULONG ( STDMETHODCALLTYPE *AddRef )(
+            IVLCPlaylistItems * This);
+        ULONG ( STDMETHODCALLTYPE *Release )(
+            IVLCPlaylistItems * This);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
+            IVLCPlaylistItems * This,
+            /* [out] */ UINT *pctinfo);
+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
+            IVLCPlaylistItems * This,
+            /* [in] */ UINT iTInfo,
+            /* [in] */ LCID lcid,
+            /* [out] */ ITypeInfo **ppTInfo);
+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
+            IVLCPlaylistItems * This,
+            /* [in] */ REFIID riid,
+            /* [size_is][in] */ LPOLESTR *rgszNames,
+            /* [in] */ UINT cNames,
+            /* [in] */ LCID lcid,
+            /* [size_is][out] */ DISPID *rgDispId);
+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+            IVLCPlaylistItems * This,
+            /* [in] */ DISPID dispIdMember,
+            /* [in] */ REFIID riid,
+            /* [in] */ LCID lcid,
+            /* [in] */ WORD wFlags,
+            /* [out][in] */ DISPPARAMS *pDispParams,
+            /* [out] */ VARIANT *pVarResult,
+            /* [out] */ EXCEPINFO *pExcepInfo,
+            /* [out] */ UINT *puArgErr);
+        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+            IVLCPlaylistItems * This,
+            /* [retval][out] */ long *count);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *clear )(
+            IVLCPlaylistItems * This);
+        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *remove )(
+            IVLCPlaylistItems * This,
+            /* [in] */ long itemId);
+        END_INTERFACE
+    } IVLCPlaylistItemsVtbl;
+
+    interface IVLCPlaylistItems
+    {
+        CONST_VTBL struct IVLCPlaylistItemsVtbl *lpVtbl;
+    };
+
+
+#ifdef COBJMACROS
+
+
+#define IVLCPlaylistItems_QueryInterface(This,riid,ppvObject)    \
+    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
+
+#define IVLCPlaylistItems_AddRef(This)    \
+    (This)->lpVtbl -> AddRef(This)
+
+#define IVLCPlaylistItems_Release(This)    \
+    (This)->lpVtbl -> Release(This)
+
+
+#define IVLCPlaylistItems_GetTypeInfoCount(This,pctinfo)    \
+    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
+
+#define IVLCPlaylistItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
+    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+
+#define IVLCPlaylistItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
+    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+
+#define IVLCPlaylistItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
+    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+
+
+#define IVLCPlaylistItems_get_count(This,count)    \
+    (This)->lpVtbl -> get_count(This,count)
+
+#define IVLCPlaylistItems_clear(This)    \
+    (This)->lpVtbl -> clear(This)
+
+#define IVLCPlaylistItems_remove(This,itemId)    \
+    (This)->lpVtbl -> remove(This,itemId)
+
+#endif /* COBJMACROS */
+
+
+#endif     /* C style interface */
+
+
+
+/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_get_count_Proxy(
+    IVLCPlaylistItems * This,
+    /* [retval][out] */ long *count);
+
+
+void __RPC_STUB IVLCPlaylistItems_get_count_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_clear_Proxy(
+    IVLCPlaylistItems * This);
+
+
+void __RPC_STUB IVLCPlaylistItems_clear_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+/* [helpstring] */ HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_remove_Proxy(
+    IVLCPlaylistItems * This,
+    /* [in] */ long itemId);
+
+
+void __RPC_STUB IVLCPlaylistItems_remove_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase);
+
+
+
+#endif     /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
+
+
+EXTERN_C const CLSID CLSID_VLCPlugin;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("E23FE9C6-778E-49D4-B537-38FCDE4887D8")
+VLCPlugin;
+#endif
+
+EXTERN_C const CLSID CLSID_VLCPlugin2;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("9BE31822-FDAD-461B-AD51-BE1D1C159921")
+VLCPlugin2;
+#endif
+#endif /* __AXVLC_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+/* end of Additional Prototypes */
 
 #ifdef __cplusplus
 }
 #endif
-#endif /* __WIDL_AXVLC_IDL_H */
+
+#endif
+
+