]> git.sesse.net Git - vlc/commitdiff
ActiveX: IDL generated files for ActiveX compilation
authorCyril Mathé <cmathe@actech-innovation.com>
Fri, 12 Jun 2009 11:51:42 +0000 (13:51 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 12 Jun 2009 22:54:03 +0000 (00:54 +0200)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
projects/activex/axvlc.tlb
projects/activex/axvlc_idl.c
projects/activex/axvlc_idl.h

index 585d82944cfdf7c713fd0ef50381cb1b379708b0..3e4bdd55539b85e389042a35d35a5f7e4c118325 100644 (file)
Binary files a/projects/activex/axvlc.tlb and b/projects/activex/axvlc.tlb differ
index 61d83205475cff587ca1ef4e795aac1e5b30813a..9490d40f948b919eeacc79d719d23a523afd9f41 100644 (file)
-\r
-\r
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */\r
-\r
-/* link this file in with the server and any clients */\r
-\r
-\r
- /* File created by MIDL compiler version 7.00.0500 */\r
-/* at Fri Apr 25 11:37:37 2008\r
- */\r
-/* Compiler settings for axvlc.idl:\r
-    Oicf, W1, Zp8, env=Win32 (32b run)\r
-    protocol : dce , ms_ext, c_ext, robust\r
-    error checks: allocation ref bounds_check enum stub_data \r
-    VC __declspec() decoration level: \r
-         __declspec(uuid()), __declspec(selectany), __declspec(novtable)\r
-         DECLSPEC_UUID(), MIDL_INTERFACE()\r
-*/\r
-//@@MIDL_FILE_HEADING(  )\r
-\r
-#pragma warning( disable: 4049 )  /* more than 64k source lines */\r
-\r
-\r
-#ifdef __cplusplus\r
-extern "C"{\r
-#endif \r
-\r
-\r
-#include <rpc.h>\r
-#include <rpcndr.h>\r
-\r
-#ifdef _MIDL_USE_GUIDDEF_\r
-\r
-#ifndef INITGUID\r
-#define INITGUID\r
-#include <guiddef.h>\r
-#undef INITGUID\r
-#else\r
-#include <guiddef.h>\r
-#endif\r
-\r
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \\r
-        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)\r
-\r
-#else // !_MIDL_USE_GUIDDEF_\r
-\r
-#ifndef __IID_DEFINED__\r
-#define __IID_DEFINED__\r
-\r
-typedef struct _IID\r
-{\r
-    unsigned long x;\r
-    unsigned short s1;\r
-    unsigned short s2;\r
-    unsigned char  c[8];\r
-} IID;\r
-\r
-#endif // __IID_DEFINED__\r
-\r
-#ifndef CLSID_DEFINED\r
-#define CLSID_DEFINED\r
-typedef IID CLSID;\r
-#endif // CLSID_DEFINED\r
-\r
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \\r
-        const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}\r
-\r
-#endif !_MIDL_USE_GUIDDEF_\r
-\r
-MIDL_DEFINE_GUID(IID, LIBID_AXVLC,0xDF2BBE39,0x40A8,0x433b,0xA2,0x79,0x07,0x3F,0x48,0xDA,0x94,0xB6);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCControl,0xC2FA41D0,0xB113,0x476e,0xAC,0x8C,0x9B,0xD1,0x49,0x99,0xC1,0xC1);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCAudio,0x9E0BD17B,0x2D3C,0x4656,0xB9,0x4D,0x03,0x08,0x4F,0x3F,0xD9,0xD4);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCInput,0x49E0DBD1,0x9440,0x466C,0x9C,0x97,0x95,0xC6,0x71,0x90,0xC6,0x03);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCLog,0x8E3BC3D9,0x62E9,0x48FB,0x8A,0x6D,0x99,0x3F,0x9A,0xBC,0x4A,0x0A);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCMessage,0x9ED00AFA,0x7BCD,0x4FFF,0x8D,0x48,0x7D,0xD4,0xDB,0x2C,0x80,0x0D);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCMessageIterator,0x15179CD8,0xCC12,0x4242,0xA5,0x8E,0xE4,0x12,0x21,0x7F,0xF3,0x43);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCMessages,0x6C5CE55D,0x2D6C,0x4AAD,0x82,0x99,0xC6,0x2D,0x23,0x71,0xF1,0x06);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCPlaylist,0x54613049,0x40BF,0x4035,0x9E,0x70,0x0A,0x93,0x12,0xC0,0x18,0x8D);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCVideo,0x0AAEDF0B,0xD333,0x4B27,0xA0,0xC6,0xBB,0xF3,0x14,0x13,0xA4,0x2E);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCControl2,0x2D719729,0x5333,0x406C,0xBF,0x12,0x8D,0xE7,0x87,0xFD,0x65,0xE3);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, DIID_DVLCEvents,0xDF48072F,0x5EF8,0x434e,0x9B,0x40,0xE2,0xF3,0xAE,0x75,0x9B,0x5F);\r
-\r
-\r
-MIDL_DEFINE_GUID(IID, IID_IVLCPlaylistItems,0xFD37FE32,0x82BC,0x4A25,0xB0,0x56,0x31,0x5F,0x4D,0xBB,0x19,0x4D);\r
-\r
-\r
-MIDL_DEFINE_GUID(CLSID, CLSID_VLCPlugin,0xE23FE9C6,0x778E,0x49D4,0xB5,0x37,0x38,0xFC,0xDE,0x48,0x87,0xD8);\r
-\r
-\r
-MIDL_DEFINE_GUID(CLSID, CLSID_VLCPlugin2,0x9BE31822,0xFDAD,0x461B,0xAD,0x51,0xBE,0x1D,0x1C,0x15,0x99,0x21);\r
-\r
-#undef MIDL_DEFINE_GUID\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-\r
-\r
+/*** Autogenerated by WIDL 1.0 from axvlc.idl - Do not edit ***/
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#include <initguid.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
+DEFINE_GUID(IID_IVLCControl, 0xc2fa41d0, 0xb113, 0x476e, 0xac,0x8c, 0x9b,0xd1,0x49,0x99,0xc1,0xc1);
+DEFINE_GUID(DIID_DVLCEvents, 0xdf48072f, 0x5ef8, 0x434e, 0x9b,0x40, 0xe2,0xf3,0xae,0x75,0x9b,0x5f);
+DEFINE_GUID(IID_IVLCAudio, 0x9e0bd17b, 0x2d3c, 0x4656, 0xb9,0x4d, 0x03,0x08,0x4f,0x3f,0xd9,0xd4);
+DEFINE_GUID(IID_IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71,0x90,0xc6,0x03);
+DEFINE_GUID(IID_IVLCMessage, 0x9ed00afa, 0x7bcd, 0x4fff, 0x8d,0x48, 0x7d,0xd4,0xdb,0x2c,0x80,0x0d);
+DEFINE_GUID(IID_IVLCMessageIterator, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
+DEFINE_GUID(IID_IVLCMessages, 0x6c5ce55d, 0x2d6c, 0x4aad, 0x82,0x99, 0xc6,0x2d,0x23,0x71,0xf1,0x06);
+DEFINE_GUID(IID_IVLCLog, 0x8e3bc3d9, 0x62e9, 0x48fb, 0x8a,0x6d, 0x99,0x3f,0x9a,0xbc,0x4a,0x0a);
+DEFINE_GUID(IID_IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d);
+DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
+DEFINE_GUID(IID_IVLCSubtitle, 0x465e787a, 0x0556, 0x452f, 0x94,0x77, 0x95,0x4e,0x4a,0x94,0x00,0x03);
+DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
+DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
+DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
+DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
+
+#ifdef __cplusplus
+}
+#endif
+
index 6b59fd0787ba8ffff05790112582c401a08d4443..d581ddff83a185e99aae31551c3b5e22a15b2209 100644 (file)
-\r
-\r
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */\r
-\r
-\r
- /* File created by MIDL compiler version 7.00.0500 */\r
-/* at Fri Apr 25 11:37:37 2008\r
- */\r
-/* Compiler settings for axvlc.idl:\r
-    Oicf, W1, Zp8, env=Win32 (32b run)\r
-    protocol : dce , ms_ext, c_ext, robust\r
-    error checks: allocation ref bounds_check enum stub_data \r
-    VC __declspec() decoration level: \r
-         __declspec(uuid()), __declspec(selectany), __declspec(novtable)\r
-         DECLSPEC_UUID(), MIDL_INTERFACE()\r
-*/\r
-//@@MIDL_FILE_HEADING(  )\r
-\r
-#pragma warning( disable: 4049 )  /* more than 64k source lines */\r
-\r
-\r
-/* verify that the <rpcndr.h> version is high enough to compile this file*/\r
-#ifndef __REQUIRED_RPCNDR_H_VERSION__\r
-#define __REQUIRED_RPCNDR_H_VERSION__ 475\r
-#endif\r
-\r
-#include "rpc.h"\r
-#include "rpcndr.h"\r
-\r
-#ifndef __RPCNDR_H_VERSION__\r
-#error this stub requires an updated version of <rpcndr.h>\r
-#endif // __RPCNDR_H_VERSION__\r
-\r
-\r
-#ifndef __axvlc_idl_h__\r
-#define __axvlc_idl_h__\r
-\r
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
-#pragma once\r
-#endif\r
-\r
-/* Forward Declarations */ \r
-\r
-#ifndef __IVLCControl_FWD_DEFINED__\r
-#define __IVLCControl_FWD_DEFINED__\r
-typedef interface IVLCControl IVLCControl;\r
-#endif         /* __IVLCControl_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCAudio_FWD_DEFINED__\r
-#define __IVLCAudio_FWD_DEFINED__\r
-typedef interface IVLCAudio IVLCAudio;\r
-#endif         /* __IVLCAudio_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCInput_FWD_DEFINED__\r
-#define __IVLCInput_FWD_DEFINED__\r
-typedef interface IVLCInput IVLCInput;\r
-#endif         /* __IVLCInput_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCLog_FWD_DEFINED__\r
-#define __IVLCLog_FWD_DEFINED__\r
-typedef interface IVLCLog IVLCLog;\r
-#endif         /* __IVLCLog_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessage_FWD_DEFINED__\r
-#define __IVLCMessage_FWD_DEFINED__\r
-typedef interface IVLCMessage IVLCMessage;\r
-#endif         /* __IVLCMessage_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessageIterator_FWD_DEFINED__\r
-#define __IVLCMessageIterator_FWD_DEFINED__\r
-typedef interface IVLCMessageIterator IVLCMessageIterator;\r
-#endif         /* __IVLCMessageIterator_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessages_FWD_DEFINED__\r
-#define __IVLCMessages_FWD_DEFINED__\r
-typedef interface IVLCMessages IVLCMessages;\r
-#endif         /* __IVLCMessages_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCPlaylist_FWD_DEFINED__\r
-#define __IVLCPlaylist_FWD_DEFINED__\r
-typedef interface IVLCPlaylist IVLCPlaylist;\r
-#endif         /* __IVLCPlaylist_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCVideo_FWD_DEFINED__\r
-#define __IVLCVideo_FWD_DEFINED__\r
-typedef interface IVLCVideo IVLCVideo;\r
-#endif         /* __IVLCVideo_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCControl2_FWD_DEFINED__\r
-#define __IVLCControl2_FWD_DEFINED__\r
-typedef interface IVLCControl2 IVLCControl2;\r
-#endif         /* __IVLCControl2_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __DVLCEvents_FWD_DEFINED__\r
-#define __DVLCEvents_FWD_DEFINED__\r
-typedef interface DVLCEvents DVLCEvents;\r
-#endif         /* __DVLCEvents_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCPlaylistItems_FWD_DEFINED__\r
-#define __IVLCPlaylistItems_FWD_DEFINED__\r
-typedef interface IVLCPlaylistItems IVLCPlaylistItems;\r
-#endif         /* __IVLCPlaylistItems_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __VLCPlugin_FWD_DEFINED__\r
-#define __VLCPlugin_FWD_DEFINED__\r
-\r
-#ifdef __cplusplus\r
-typedef class VLCPlugin VLCPlugin;\r
-#else\r
-typedef struct VLCPlugin VLCPlugin;\r
-#endif /* __cplusplus */\r
-\r
-#endif         /* __VLCPlugin_FWD_DEFINED__ */\r
-\r
-\r
-#ifndef __VLCPlugin2_FWD_DEFINED__\r
-#define __VLCPlugin2_FWD_DEFINED__\r
-\r
-#ifdef __cplusplus\r
-typedef class VLCPlugin2 VLCPlugin2;\r
-#else\r
-typedef struct VLCPlugin2 VLCPlugin2;\r
-#endif /* __cplusplus */\r
-\r
-#endif         /* __VLCPlugin2_FWD_DEFINED__ */\r
-\r
-\r
-/* header files for imported files */\r
-#include "ocidl.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C"{\r
-#endif \r
-\r
-\r
-\r
-#ifndef __AXVLC_LIBRARY_DEFINED__\r
-#define __AXVLC_LIBRARY_DEFINED__\r
-\r
-/* library AXVLC */\r
-/* [helpstring][version][uuid] */ \r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-typedef /* [public] */ \r
-enum VLCPlaylistMode\r
-    {  VLCPlayListInsert       = 1,\r
-       VLCPlayListInsertAndGo  = 9,\r
-       VLCPlayListReplace      = 2,\r
-       VLCPlayListReplaceAndGo = 10,\r
-       VLCPlayListAppend       = 4,\r
-       VLCPlayListAppendAndGo  = 12,\r
-       VLCPlayListCheckInsert  = 16\r
-    }  eVLCPlaylistMode;\r
-\r
-#define        VLCPlayListEnd  ( -666 )\r
-\r
-#define        DISPID_BackColor        ( -501 )\r
-\r
-#define        DISPID_Visible  ( 100 )\r
-\r
-#define        DISPID_Playing  ( 101 )\r
-\r
-#define        DISPID_Position ( 102 )\r
-\r
-#define        DISPID_Time     ( 103 )\r
-\r
-#define        DISPID_Length   ( 104 )\r
-\r
-#define        DISPID_Volume   ( 105 )\r
-\r
-#define        DISPID_MRL      ( 106 )\r
-\r
-#define        DISPID_AutoPlay ( 107 )\r
-\r
-#define        DISPID_AutoLoop ( 108 )\r
-\r
-#define        DISPID_StartTime        ( 109 )\r
-\r
-#define        DISPID_BaseURL  ( 110 )\r
-\r
-#define        DISPID_Toolbar  ( 111 )\r
-\r
-#define        DISPID_PlayEvent        ( 100 )\r
-\r
-#define        DISPID_PauseEvent       ( 101 )\r
-\r
-#define        DISPID_StopEvent        ( 102 )\r
-\r
-\r
-EXTERN_C const IID LIBID_AXVLC;\r
-\r
-#ifndef __IVLCControl_INTERFACE_DEFINED__\r
-#define __IVLCControl_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCControl */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCControl;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("C2FA41D0-B113-476e-AC8C-9BD14999C1C1")\r
-    IVLCControl : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][bindable][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( \r
-            /* [retval][out] */ VARIANT_BOOL *visible) = 0;\r
-        \r
-        virtual /* [helpstring][bindable][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( \r
-            /* [in] */ VARIANT_BOOL visible) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE play( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE pause( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;\r
-        \r
-        virtual /* [helpstring][propget][hidden][id] */ HRESULT STDMETHODCALLTYPE get_Playing( \r
-            /* [retval][out] */ VARIANT_BOOL *isPlaying) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( \r
-            /* [retval][out] */ float *position) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( \r
-            /* [in] */ float position) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Time( \r
-            /* [retval][out] */ int *seconds) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Time( \r
-            /* [in] */ int seconds) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE shuttle( \r
-            /* [in] */ int seconds) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE fullscreen( void) = 0;\r
-        \r
-        virtual /* [helpstring][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Length( \r
-            /* [retval][out] */ int *seconds) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playFaster( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playSlower( void) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Volume( \r
-            /* [retval][out] */ int *volume) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Volume( \r
-            /* [in] */ int volume) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleMute( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE setVariable( \r
-            /* [in] */ BSTR name,\r
-            /* [in] */ VARIANT value) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE getVariable( \r
-            /* [in] */ BSTR name,\r
-            /* [retval][out] */ VARIANT *value) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE addTarget( \r
-            /* [in] */ BSTR uri,\r
-            /* [in] */ VARIANT options,\r
-            /* [in] */ enum VLCPlaylistMode mode,\r
-            /* [in] */ int position) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistIndex( \r
-            /* [retval][out] */ int *index) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistCount( \r
-            /* [retval][out] */ int *index) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistNext( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistPrev( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playlistClear( void) = 0;\r
-        \r
-        virtual /* [helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_VersionInfo( \r
-            /* [retval][out] */ BSTR *version) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MRL( \r
-            /* [retval][out] */ BSTR *mrl) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_MRL( \r
-            /* [in] */ BSTR mrl) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoPlay( \r
-            /* [retval][out] */ VARIANT_BOOL *autoplay) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoPlay( \r
-            /* [in] */ VARIANT_BOOL autoplay) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLoop( \r
-            /* [retval][out] */ VARIANT_BOOL *autoloop) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoLoop( \r
-            /* [in] */ VARIANT_BOOL autoloop) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCControlVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCControl * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCControl * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCControl * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCControl * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCControl * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCControl * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCControl * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][bindable][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ VARIANT_BOOL *visible);\r
-        \r
-        /* [helpstring][bindable][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( \r
-            IVLCControl * This,\r
-            /* [in] */ VARIANT_BOOL visible);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *play )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *pause )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *stop )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring][propget][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *get_Playing )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ VARIANT_BOOL *isPlaying);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ float *position);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( \r
-            IVLCControl * This,\r
-            /* [in] */ float position);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ int *seconds);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Time )( \r
-            IVLCControl * This,\r
-            /* [in] */ int seconds);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *shuttle )( \r
-            IVLCControl * This,\r
-            /* [in] */ int seconds);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *fullscreen )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ int *seconds);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playFaster )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playSlower )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ int *volume);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( \r
-            IVLCControl * This,\r
-            /* [in] */ int volume);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleMute )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *setVariable )( \r
-            IVLCControl * This,\r
-            /* [in] */ BSTR name,\r
-            /* [in] */ VARIANT value);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *getVariable )( \r
-            IVLCControl * This,\r
-            /* [in] */ BSTR name,\r
-            /* [retval][out] */ VARIANT *value);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *addTarget )( \r
-            IVLCControl * This,\r
-            /* [in] */ BSTR uri,\r
-            /* [in] */ VARIANT options,\r
-            /* [in] */ enum VLCPlaylistMode mode,\r
-            /* [in] */ int position);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistIndex )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ int *index);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistCount )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ int *index);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistNext )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistPrev )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playlistClear )( \r
-            IVLCControl * This);\r
-        \r
-        /* [helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionInfo )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ BSTR *version);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MRL )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ BSTR *mrl);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MRL )( \r
-            IVLCControl * This,\r
-            /* [in] */ BSTR mrl);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoPlay )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ VARIANT_BOOL *autoplay);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoPlay )( \r
-            IVLCControl * This,\r
-            /* [in] */ VARIANT_BOOL autoplay);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLoop )( \r
-            IVLCControl * This,\r
-            /* [retval][out] */ VARIANT_BOOL *autoloop);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoLoop )( \r
-            IVLCControl * This,\r
-            /* [in] */ VARIANT_BOOL autoloop);\r
-        \r
-        END_INTERFACE\r
-    } IVLCControlVtbl;\r
-\r
-    interface IVLCControl\r
-    {\r
-        CONST_VTBL struct IVLCControlVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCControl_QueryInterface(This,riid,ppvObject)        \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCControl_AddRef(This)       \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCControl_Release(This)      \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCControl_GetTypeInfoCount(This,pctinfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)      \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)      \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCControl_get_Visible(This,visible)  \\r
-    ( (This)->lpVtbl -> get_Visible(This,visible) ) \r
-\r
-#define IVLCControl_put_Visible(This,visible)  \\r
-    ( (This)->lpVtbl -> put_Visible(This,visible) ) \r
-\r
-#define IVLCControl_play(This) \\r
-    ( (This)->lpVtbl -> play(This) ) \r
-\r
-#define IVLCControl_pause(This)        \\r
-    ( (This)->lpVtbl -> pause(This) ) \r
-\r
-#define IVLCControl_stop(This) \\r
-    ( (This)->lpVtbl -> stop(This) ) \r
-\r
-#define IVLCControl_get_Playing(This,isPlaying)        \\r
-    ( (This)->lpVtbl -> get_Playing(This,isPlaying) ) \r
-\r
-#define IVLCControl_get_Position(This,position)        \\r
-    ( (This)->lpVtbl -> get_Position(This,position) ) \r
-\r
-#define IVLCControl_put_Position(This,position)        \\r
-    ( (This)->lpVtbl -> put_Position(This,position) ) \r
-\r
-#define IVLCControl_get_Time(This,seconds)     \\r
-    ( (This)->lpVtbl -> get_Time(This,seconds) ) \r
-\r
-#define IVLCControl_put_Time(This,seconds)     \\r
-    ( (This)->lpVtbl -> put_Time(This,seconds) ) \r
-\r
-#define IVLCControl_shuttle(This,seconds)      \\r
-    ( (This)->lpVtbl -> shuttle(This,seconds) ) \r
-\r
-#define IVLCControl_fullscreen(This)   \\r
-    ( (This)->lpVtbl -> fullscreen(This) ) \r
-\r
-#define IVLCControl_get_Length(This,seconds)   \\r
-    ( (This)->lpVtbl -> get_Length(This,seconds) ) \r
-\r
-#define IVLCControl_playFaster(This)   \\r
-    ( (This)->lpVtbl -> playFaster(This) ) \r
-\r
-#define IVLCControl_playSlower(This)   \\r
-    ( (This)->lpVtbl -> playSlower(This) ) \r
-\r
-#define IVLCControl_get_Volume(This,volume)    \\r
-    ( (This)->lpVtbl -> get_Volume(This,volume) ) \r
-\r
-#define IVLCControl_put_Volume(This,volume)    \\r
-    ( (This)->lpVtbl -> put_Volume(This,volume) ) \r
-\r
-#define IVLCControl_toggleMute(This)   \\r
-    ( (This)->lpVtbl -> toggleMute(This) ) \r
-\r
-#define IVLCControl_setVariable(This,name,value)       \\r
-    ( (This)->lpVtbl -> setVariable(This,name,value) ) \r
-\r
-#define IVLCControl_getVariable(This,name,value)       \\r
-    ( (This)->lpVtbl -> getVariable(This,name,value) ) \r
-\r
-#define IVLCControl_addTarget(This,uri,options,mode,position)  \\r
-    ( (This)->lpVtbl -> addTarget(This,uri,options,mode,position) ) \r
-\r
-#define IVLCControl_get_PlaylistIndex(This,index)      \\r
-    ( (This)->lpVtbl -> get_PlaylistIndex(This,index) ) \r
-\r
-#define IVLCControl_get_PlaylistCount(This,index)      \\r
-    ( (This)->lpVtbl -> get_PlaylistCount(This,index) ) \r
-\r
-#define IVLCControl_playlistNext(This) \\r
-    ( (This)->lpVtbl -> playlistNext(This) ) \r
-\r
-#define IVLCControl_playlistPrev(This) \\r
-    ( (This)->lpVtbl -> playlistPrev(This) ) \r
-\r
-#define IVLCControl_playlistClear(This)        \\r
-    ( (This)->lpVtbl -> playlistClear(This) ) \r
-\r
-#define IVLCControl_get_VersionInfo(This,version)      \\r
-    ( (This)->lpVtbl -> get_VersionInfo(This,version) ) \r
-\r
-#define IVLCControl_get_MRL(This,mrl)  \\r
-    ( (This)->lpVtbl -> get_MRL(This,mrl) ) \r
-\r
-#define IVLCControl_put_MRL(This,mrl)  \\r
-    ( (This)->lpVtbl -> put_MRL(This,mrl) ) \r
-\r
-#define IVLCControl_get_AutoPlay(This,autoplay)        \\r
-    ( (This)->lpVtbl -> get_AutoPlay(This,autoplay) ) \r
-\r
-#define IVLCControl_put_AutoPlay(This,autoplay)        \\r
-    ( (This)->lpVtbl -> put_AutoPlay(This,autoplay) ) \r
-\r
-#define IVLCControl_get_AutoLoop(This,autoloop)        \\r
-    ( (This)->lpVtbl -> get_AutoLoop(This,autoloop) ) \r
-\r
-#define IVLCControl_put_AutoLoop(This,autoloop)        \\r
-    ( (This)->lpVtbl -> put_AutoLoop(This,autoloop) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCControl_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCAudio_INTERFACE_DEFINED__\r
-#define __IVLCAudio_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCAudio */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCAudio;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("9E0BD17B-2D3C-4656-B94D-03084F3FD9D4")\r
-    IVLCAudio : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_mute( \r
-            /* [retval][out] */ VARIANT_BOOL *muted) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_mute( \r
-            /* [in] */ VARIANT_BOOL muted) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volume( \r
-            /* [retval][out] */ long *volume) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_volume( \r
-            /* [in] */ long volume) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleMute( void) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_track( \r
-            /* [retval][out] */ long *track) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_track( \r
-            /* [in] */ long track) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_channel( \r
-            /* [retval][out] */ long *channel) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_channel( \r
-            /* [in] */ long channel) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCAudioVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCAudio * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCAudio * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCAudio * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCAudio * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCAudio * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCAudio * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCAudio * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mute )( \r
-            IVLCAudio * This,\r
-            /* [retval][out] */ VARIANT_BOOL *muted);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_mute )( \r
-            IVLCAudio * This,\r
-            /* [in] */ VARIANT_BOOL muted);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volume )( \r
-            IVLCAudio * This,\r
-            /* [retval][out] */ long *volume);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_volume )( \r
-            IVLCAudio * This,\r
-            /* [in] */ long volume);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleMute )( \r
-            IVLCAudio * This);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_track )( \r
-            IVLCAudio * This,\r
-            /* [retval][out] */ long *track);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_track )( \r
-            IVLCAudio * This,\r
-            /* [in] */ long track);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_channel )( \r
-            IVLCAudio * This,\r
-            /* [retval][out] */ long *channel);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_channel )( \r
-            IVLCAudio * This,\r
-            /* [in] */ long channel);\r
-        \r
-        END_INTERFACE\r
-    } IVLCAudioVtbl;\r
-\r
-    interface IVLCAudio\r
-    {\r
-        CONST_VTBL struct IVLCAudioVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCAudio_QueryInterface(This,riid,ppvObject)  \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCAudio_AddRef(This) \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCAudio_Release(This)        \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCAudio_GetTypeInfoCount(This,pctinfo)       \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)        \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)      \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)        \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCAudio_get_mute(This,muted) \\r
-    ( (This)->lpVtbl -> get_mute(This,muted) ) \r
-\r
-#define IVLCAudio_put_mute(This,muted) \\r
-    ( (This)->lpVtbl -> put_mute(This,muted) ) \r
-\r
-#define IVLCAudio_get_volume(This,volume)      \\r
-    ( (This)->lpVtbl -> get_volume(This,volume) ) \r
-\r
-#define IVLCAudio_put_volume(This,volume)      \\r
-    ( (This)->lpVtbl -> put_volume(This,volume) ) \r
-\r
-#define IVLCAudio_toggleMute(This)     \\r
-    ( (This)->lpVtbl -> toggleMute(This) ) \r
-\r
-#define IVLCAudio_get_track(This,track)        \\r
-    ( (This)->lpVtbl -> get_track(This,track) ) \r
-\r
-#define IVLCAudio_put_track(This,track)        \\r
-    ( (This)->lpVtbl -> put_track(This,track) ) \r
-\r
-#define IVLCAudio_get_channel(This,channel)    \\r
-    ( (This)->lpVtbl -> get_channel(This,channel) ) \r
-\r
-#define IVLCAudio_put_channel(This,channel)    \\r
-    ( (This)->lpVtbl -> put_channel(This,channel) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCAudio_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCInput_INTERFACE_DEFINED__\r
-#define __IVLCInput_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCInput */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCInput;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("49E0DBD1-9440-466C-9C97-95C67190C603")\r
-    IVLCInput : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \r
-            /* [retval][out] */ double *length) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_position( \r
-            /* [retval][out] */ double *position) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_position( \r
-            /* [in] */ double position) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_time( \r
-            /* [retval][out] */ double *time) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_time( \r
-            /* [in] */ double time) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_state( \r
-            /* [retval][out] */ long *state) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rate( \r
-            /* [retval][out] */ double *rate) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_rate( \r
-            /* [in] */ double rate) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fps( \r
-            /* [retval][out] */ double *fps) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasVout( \r
-            /* [retval][out] */ VARIANT_BOOL *hasVout) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCInputVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCInput * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCInput * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCInput * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCInput * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCInput * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCInput * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCInput * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ double *length);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ double *position);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_position )( \r
-            IVLCInput * This,\r
-            /* [in] */ double position);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ double *time);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time )( \r
-            IVLCInput * This,\r
-            /* [in] */ double time);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ long *state);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rate )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ double *rate);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rate )( \r
-            IVLCInput * This,\r
-            /* [in] */ double rate);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fps )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ double *fps);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasVout )( \r
-            IVLCInput * This,\r
-            /* [retval][out] */ VARIANT_BOOL *hasVout);\r
-        \r
-        END_INTERFACE\r
-    } IVLCInputVtbl;\r
-\r
-    interface IVLCInput\r
-    {\r
-        CONST_VTBL struct IVLCInputVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCInput_QueryInterface(This,riid,ppvObject)  \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCInput_AddRef(This) \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCInput_Release(This)        \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCInput_GetTypeInfoCount(This,pctinfo)       \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCInput_GetTypeInfo(This,iTInfo,lcid,ppTInfo)        \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCInput_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)      \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCInput_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)        \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCInput_get_length(This,length)      \\r
-    ( (This)->lpVtbl -> get_length(This,length) ) \r
-\r
-#define IVLCInput_get_position(This,position)  \\r
-    ( (This)->lpVtbl -> get_position(This,position) ) \r
-\r
-#define IVLCInput_put_position(This,position)  \\r
-    ( (This)->lpVtbl -> put_position(This,position) ) \r
-\r
-#define IVLCInput_get_time(This,time)  \\r
-    ( (This)->lpVtbl -> get_time(This,time) ) \r
-\r
-#define IVLCInput_put_time(This,time)  \\r
-    ( (This)->lpVtbl -> put_time(This,time) ) \r
-\r
-#define IVLCInput_get_state(This,state)        \\r
-    ( (This)->lpVtbl -> get_state(This,state) ) \r
-\r
-#define IVLCInput_get_rate(This,rate)  \\r
-    ( (This)->lpVtbl -> get_rate(This,rate) ) \r
-\r
-#define IVLCInput_put_rate(This,rate)  \\r
-    ( (This)->lpVtbl -> put_rate(This,rate) ) \r
-\r
-#define IVLCInput_get_fps(This,fps)    \\r
-    ( (This)->lpVtbl -> get_fps(This,fps) ) \r
-\r
-#define IVLCInput_get_hasVout(This,hasVout)    \\r
-    ( (This)->lpVtbl -> get_hasVout(This,hasVout) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCInput_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCLog_INTERFACE_DEFINED__\r
-#define __IVLCLog_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCLog */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCLog;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("8E3BC3D9-62E9-48FB-8A6D-993F9ABC4A0A")\r
-    IVLCLog : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_messages( \r
-            /* [retval][out] */ IVLCMessages **iter) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_verbosity( \r
-            /* [retval][out] */ long *level) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_verbosity( \r
-            /* [in] */ long level) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCLogVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCLog * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCLog * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCLog * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCLog * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCLog * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCLog * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCLog * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_messages )( \r
-            IVLCLog * This,\r
-            /* [retval][out] */ IVLCMessages **iter);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verbosity )( \r
-            IVLCLog * This,\r
-            /* [retval][out] */ long *level);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_verbosity )( \r
-            IVLCLog * This,\r
-            /* [in] */ long level);\r
-        \r
-        END_INTERFACE\r
-    } IVLCLogVtbl;\r
-\r
-    interface IVLCLog\r
-    {\r
-        CONST_VTBL struct IVLCLogVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCLog_QueryInterface(This,riid,ppvObject)    \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCLog_AddRef(This)   \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCLog_Release(This)  \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCLog_GetTypeInfoCount(This,pctinfo) \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCLog_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCLog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)        \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCLog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCLog_get_messages(This,iter)        \\r
-    ( (This)->lpVtbl -> get_messages(This,iter) ) \r
-\r
-#define IVLCLog_get_verbosity(This,level)      \\r
-    ( (This)->lpVtbl -> get_verbosity(This,level) ) \r
-\r
-#define IVLCLog_put_verbosity(This,level)      \\r
-    ( (This)->lpVtbl -> put_verbosity(This,level) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCLog_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessage_INTERFACE_DEFINED__\r
-#define __IVLCMessage_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCMessage */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCMessage;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("9ED00AFA-7BCD-4FFF-8D48-7DD4DB2C800D")\r
-    IVLCMessage : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__Value( \r
-            /* [retval][out] */ VARIANT *message) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_severity( \r
-            /* [retval][out] */ long *level) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \r
-            /* [retval][out] */ BSTR *type) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \r
-            /* [retval][out] */ BSTR *name) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_header( \r
-            /* [retval][out] */ BSTR *header) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_message( \r
-            /* [retval][out] */ BSTR *message) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCMessageVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCMessage * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCMessage * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCMessage * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCMessage * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCMessage * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCMessage * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCMessage * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__Value )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ VARIANT *message);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_severity )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ long *level);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ BSTR *type);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ BSTR *name);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_header )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ BSTR *header);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( \r
-            IVLCMessage * This,\r
-            /* [retval][out] */ BSTR *message);\r
-        \r
-        END_INTERFACE\r
-    } IVLCMessageVtbl;\r
-\r
-    interface IVLCMessage\r
-    {\r
-        CONST_VTBL struct IVLCMessageVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCMessage_QueryInterface(This,riid,ppvObject)        \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCMessage_AddRef(This)       \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCMessage_Release(This)      \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCMessage_GetTypeInfoCount(This,pctinfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCMessage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)      \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCMessage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCMessage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)      \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCMessage_get__Value(This,message)   \\r
-    ( (This)->lpVtbl -> get__Value(This,message) ) \r
-\r
-#define IVLCMessage_get_severity(This,level)   \\r
-    ( (This)->lpVtbl -> get_severity(This,level) ) \r
-\r
-#define IVLCMessage_get_type(This,type)        \\r
-    ( (This)->lpVtbl -> get_type(This,type) ) \r
-\r
-#define IVLCMessage_get_name(This,name)        \\r
-    ( (This)->lpVtbl -> get_name(This,name) ) \r
-\r
-#define IVLCMessage_get_header(This,header)    \\r
-    ( (This)->lpVtbl -> get_header(This,header) ) \r
-\r
-#define IVLCMessage_get_message(This,message)  \\r
-    ( (This)->lpVtbl -> get_message(This,message) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCMessage_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessageIterator_INTERFACE_DEFINED__\r
-#define __IVLCMessageIterator_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCMessageIterator */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCMessageIterator;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("15179CD8-CC12-4242-A58E-E412217FF343")\r
-    IVLCMessageIterator : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNext( \r
-            /* [retval][out] */ VARIANT_BOOL *hasNext) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE next( \r
-            /* [retval][out] */ IVLCMessage **msg) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCMessageIteratorVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCMessageIterator * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCMessageIterator * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCMessageIterator * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCMessageIterator * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCMessageIterator * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCMessageIterator * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCMessageIterator * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNext )( \r
-            IVLCMessageIterator * This,\r
-            /* [retval][out] */ VARIANT_BOOL *hasNext);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *next )( \r
-            IVLCMessageIterator * This,\r
-            /* [retval][out] */ IVLCMessage **msg);\r
-        \r
-        END_INTERFACE\r
-    } IVLCMessageIteratorVtbl;\r
-\r
-    interface IVLCMessageIterator\r
-    {\r
-        CONST_VTBL struct IVLCMessageIteratorVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCMessageIterator_QueryInterface(This,riid,ppvObject)        \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCMessageIterator_AddRef(This)       \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCMessageIterator_Release(This)      \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCMessageIterator_GetTypeInfoCount(This,pctinfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCMessageIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo)      \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCMessageIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCMessageIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)      \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCMessageIterator_get_hasNext(This,hasNext)  \\r
-    ( (This)->lpVtbl -> get_hasNext(This,hasNext) ) \r
-\r
-#define IVLCMessageIterator_next(This,msg)     \\r
-    ( (This)->lpVtbl -> next(This,msg) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCMessageIterator_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCMessages_INTERFACE_DEFINED__\r
-#define __IVLCMessages_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCMessages */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCMessages;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("6C5CE55D-2D6C-4AAD-8299-C62D2371F106")\r
-    IVLCMessages : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \r
-            /* [retval][out] */ IUnknown **_NewEnum) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( \r
-            /* [retval][out] */ long *count) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE iterator( \r
-            /* [retval][out] */ IVLCMessageIterator **iter) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCMessagesVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCMessages * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCMessages * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCMessages * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCMessages * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCMessages * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCMessages * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCMessages * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \r
-            IVLCMessages * This,\r
-            /* [retval][out] */ IUnknown **_NewEnum);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *clear )( \r
-            IVLCMessages * This);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )( \r
-            IVLCMessages * This,\r
-            /* [retval][out] */ long *count);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *iterator )( \r
-            IVLCMessages * This,\r
-            /* [retval][out] */ IVLCMessageIterator **iter);\r
-        \r
-        END_INTERFACE\r
-    } IVLCMessagesVtbl;\r
-\r
-    interface IVLCMessages\r
-    {\r
-        CONST_VTBL struct IVLCMessagesVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCMessages_QueryInterface(This,riid,ppvObject)       \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCMessages_AddRef(This)      \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCMessages_Release(This)     \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCMessages_GetTypeInfoCount(This,pctinfo)    \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCMessages_GetTypeInfo(This,iTInfo,lcid,ppTInfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCMessages_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)   \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCMessages_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)     \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCMessages_get__NewEnum(This,_NewEnum)       \\r
-    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) \r
-\r
-#define IVLCMessages_clear(This)       \\r
-    ( (This)->lpVtbl -> clear(This) ) \r
-\r
-#define IVLCMessages_get_count(This,count)     \\r
-    ( (This)->lpVtbl -> get_count(This,count) ) \r
-\r
-#define IVLCMessages_iterator(This,iter)       \\r
-    ( (This)->lpVtbl -> iterator(This,iter) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCMessages_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCPlaylist_INTERFACE_DEFINED__\r
-#define __IVLCPlaylist_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCPlaylist */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCPlaylist;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("54613049-40BF-4035-9E70-0A9312C0188D")\r
-    IVLCPlaylist : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget][hidden] */ HRESULT STDMETHODCALLTYPE get_itemCount( \r
-            /* [retval][out] */ long *count) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPlaying( \r
-            /* [retval][out] */ VARIANT_BOOL *playing) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE add( \r
-            /* [in] */ BSTR uri,\r
-            /* [optional][in] */ VARIANT name,\r
-            /* [optional][in] */ VARIANT options,\r
-            /* [retval][out] */ long *itemId) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE play( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE playItem( \r
-            /* [in] */ long itemId) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE togglePause( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE next( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE prev( void) = 0;\r
-        \r
-        virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;\r
-        \r
-        virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE removeItem( \r
-            /* [in] */ long item) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_items( \r
-            /* [retval][out] */ IVLCPlaylistItems **obj) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCPlaylistVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCPlaylist * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCPlaylist * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCPlaylist * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_itemCount )( \r
-            IVLCPlaylist * This,\r
-            /* [retval][out] */ long *count);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPlaying )( \r
-            IVLCPlaylist * This,\r
-            /* [retval][out] */ VARIANT_BOOL *playing);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *add )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ BSTR uri,\r
-            /* [optional][in] */ VARIANT name,\r
-            /* [optional][in] */ VARIANT options,\r
-            /* [retval][out] */ long *itemId);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *play )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *playItem )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ long itemId);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *togglePause )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *stop )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *next )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *prev )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *clear )( \r
-            IVLCPlaylist * This);\r
-        \r
-        /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( \r
-            IVLCPlaylist * This,\r
-            /* [in] */ long item);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_items )( \r
-            IVLCPlaylist * This,\r
-            /* [retval][out] */ IVLCPlaylistItems **obj);\r
-        \r
-        END_INTERFACE\r
-    } IVLCPlaylistVtbl;\r
-\r
-    interface IVLCPlaylist\r
-    {\r
-        CONST_VTBL struct IVLCPlaylistVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCPlaylist_QueryInterface(This,riid,ppvObject)       \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCPlaylist_AddRef(This)      \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCPlaylist_Release(This)     \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCPlaylist_GetTypeInfoCount(This,pctinfo)    \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)   \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)     \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCPlaylist_get_itemCount(This,count) \\r
-    ( (This)->lpVtbl -> get_itemCount(This,count) ) \r
-\r
-#define IVLCPlaylist_get_isPlaying(This,playing)       \\r
-    ( (This)->lpVtbl -> get_isPlaying(This,playing) ) \r
-\r
-#define IVLCPlaylist_add(This,uri,name,options,itemId) \\r
-    ( (This)->lpVtbl -> add(This,uri,name,options,itemId) ) \r
-\r
-#define IVLCPlaylist_play(This)        \\r
-    ( (This)->lpVtbl -> play(This) ) \r
-\r
-#define IVLCPlaylist_playItem(This,itemId)     \\r
-    ( (This)->lpVtbl -> playItem(This,itemId) ) \r
-\r
-#define IVLCPlaylist_togglePause(This) \\r
-    ( (This)->lpVtbl -> togglePause(This) ) \r
-\r
-#define IVLCPlaylist_stop(This)        \\r
-    ( (This)->lpVtbl -> stop(This) ) \r
-\r
-#define IVLCPlaylist_next(This)        \\r
-    ( (This)->lpVtbl -> next(This) ) \r
-\r
-#define IVLCPlaylist_prev(This)        \\r
-    ( (This)->lpVtbl -> prev(This) ) \r
-\r
-#define IVLCPlaylist_clear(This)       \\r
-    ( (This)->lpVtbl -> clear(This) ) \r
-\r
-#define IVLCPlaylist_removeItem(This,item)     \\r
-    ( (This)->lpVtbl -> removeItem(This,item) ) \r
-\r
-#define IVLCPlaylist_get_items(This,obj)       \\r
-    ( (This)->lpVtbl -> get_items(This,obj) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCPlaylist_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCVideo_INTERFACE_DEFINED__\r
-#define __IVLCVideo_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCVideo */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCVideo;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("0AAEDF0B-D333-4B27-A0C6-BBF31413A42E")\r
-    IVLCVideo : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fullscreen( \r
-            /* [retval][out] */ VARIANT_BOOL *fullscreen) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_fullscreen( \r
-            /* [in] */ VARIANT_BOOL fullscreen) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_width( \r
-            /* [retval][out] */ long *width) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_height( \r
-            /* [retval][out] */ long *height) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_aspectRatio( \r
-            /* [retval][out] */ BSTR *aspect) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_aspectRatio( \r
-            /* [in] */ BSTR aspect) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_subtitle( \r
-            /* [retval][out] */ long *spu) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_subtitle( \r
-            /* [in] */ long spu) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crop( \r
-            /* [retval][out] */ BSTR *geometry) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_crop( \r
-            /* [in] */ BSTR geometry) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_teletext( \r
-            /* [retval][out] */ long *page) = 0;\r
-        \r
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_teletext( \r
-            /* [in] */ long page) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleFullscreen( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE takeSnapshot( \r
-            /* [retval][out] */ IPictureDisp **picture) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE toggleTeletext( void) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCVideoVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCVideo * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCVideo * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCVideo * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCVideo * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCVideo * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCVideo * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCVideo * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fullscreen )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ VARIANT_BOOL *fullscreen);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fullscreen )( \r
-            IVLCVideo * This,\r
-            /* [in] */ VARIANT_BOOL fullscreen);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ long *width);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ long *height);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_aspectRatio )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ BSTR *aspect);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_aspectRatio )( \r
-            IVLCVideo * This,\r
-            /* [in] */ BSTR aspect);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subtitle )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ long *spu);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_subtitle )( \r
-            IVLCVideo * This,\r
-            /* [in] */ long spu);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crop )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ BSTR *geometry);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_crop )( \r
-            IVLCVideo * This,\r
-            /* [in] */ BSTR geometry);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_teletext )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ long *page);\r
-        \r
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_teletext )( \r
-            IVLCVideo * This,\r
-            /* [in] */ long page);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleFullscreen )( \r
-            IVLCVideo * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *takeSnapshot )( \r
-            IVLCVideo * This,\r
-            /* [retval][out] */ IPictureDisp **picture);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *toggleTeletext )( \r
-            IVLCVideo * This);\r
-        \r
-        END_INTERFACE\r
-    } IVLCVideoVtbl;\r
-\r
-    interface IVLCVideo\r
-    {\r
-        CONST_VTBL struct IVLCVideoVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCVideo_QueryInterface(This,riid,ppvObject)  \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCVideo_AddRef(This) \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCVideo_Release(This)        \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCVideo_GetTypeInfoCount(This,pctinfo)       \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCVideo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)        \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCVideo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)      \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCVideo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)        \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCVideo_get_fullscreen(This,fullscreen)      \\r
-    ( (This)->lpVtbl -> get_fullscreen(This,fullscreen) ) \r
-\r
-#define IVLCVideo_put_fullscreen(This,fullscreen)      \\r
-    ( (This)->lpVtbl -> put_fullscreen(This,fullscreen) ) \r
-\r
-#define IVLCVideo_get_width(This,width)        \\r
-    ( (This)->lpVtbl -> get_width(This,width) ) \r
-\r
-#define IVLCVideo_get_height(This,height)      \\r
-    ( (This)->lpVtbl -> get_height(This,height) ) \r
-\r
-#define IVLCVideo_get_aspectRatio(This,aspect) \\r
-    ( (This)->lpVtbl -> get_aspectRatio(This,aspect) ) \r
-\r
-#define IVLCVideo_put_aspectRatio(This,aspect) \\r
-    ( (This)->lpVtbl -> put_aspectRatio(This,aspect) ) \r
-\r
-#define IVLCVideo_get_subtitle(This,spu)       \\r
-    ( (This)->lpVtbl -> get_subtitle(This,spu) ) \r
-\r
-#define IVLCVideo_put_subtitle(This,spu)       \\r
-    ( (This)->lpVtbl -> put_subtitle(This,spu) ) \r
-\r
-#define IVLCVideo_get_crop(This,geometry)      \\r
-    ( (This)->lpVtbl -> get_crop(This,geometry) ) \r
-\r
-#define IVLCVideo_put_crop(This,geometry)      \\r
-    ( (This)->lpVtbl -> put_crop(This,geometry) ) \r
-\r
-#define IVLCVideo_get_teletext(This,page)      \\r
-    ( (This)->lpVtbl -> get_teletext(This,page) ) \r
-\r
-#define IVLCVideo_put_teletext(This,page)      \\r
-    ( (This)->lpVtbl -> put_teletext(This,page) ) \r
-\r
-#define IVLCVideo_toggleFullscreen(This)       \\r
-    ( (This)->lpVtbl -> toggleFullscreen(This) ) \r
-\r
-#define IVLCVideo_takeSnapshot(This,picture)   \\r
-    ( (This)->lpVtbl -> takeSnapshot(This,picture) ) \r
-\r
-#define IVLCVideo_toggleTeletext(This) \\r
-    ( (This)->lpVtbl -> toggleTeletext(This) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCVideo_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCControl2_INTERFACE_DEFINED__\r
-#define __IVLCControl2_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCControl2 */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCControl2;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("2D719729-5333-406C-BF12-8DE787FD65E3")\r
-    IVLCControl2 : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLoop( \r
-            /* [retval][out] */ VARIANT_BOOL *autoloop) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoLoop( \r
-            /* [in] */ VARIANT_BOOL autoloop) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoPlay( \r
-            /* [retval][out] */ VARIANT_BOOL *autoplay) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoPlay( \r
-            /* [in] */ VARIANT_BOOL autoplay) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BaseURL( \r
-            /* [retval][out] */ BSTR *url) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BaseURL( \r
-            /* [in] */ BSTR url) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_StartTime( \r
-            /* [retval][out] */ long *seconds) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_StartTime( \r
-            /* [in] */ long seconds) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MRL( \r
-            /* [retval][out] */ BSTR *mrl) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_MRL( \r
-            /* [in] */ BSTR mrl) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Toolbar( \r
-            /* [retval][out] */ VARIANT_BOOL *visible) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Toolbar( \r
-            /* [in] */ VARIANT_BOOL visible) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VersionInfo( \r
-            /* [retval][out] */ BSTR *version) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( \r
-            /* [retval][out] */ VARIANT_BOOL *visible) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( \r
-            /* [in] */ VARIANT_BOOL visible) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Volume( \r
-            /* [retval][out] */ long *volume) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Volume( \r
-            /* [in] */ long volume) = 0;\r
-        \r
-        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BackColor( \r
-            /* [retval][out] */ OLE_COLOR *backcolor) = 0;\r
-        \r
-        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BackColor( \r
-            /* [in] */ OLE_COLOR backcolor) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_audio( \r
-            /* [retval][out] */ IVLCAudio **obj) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_input( \r
-            /* [retval][out] */ IVLCInput **obj) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_log( \r
-            /* [retval][out] */ IVLCLog **obj) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_playlist( \r
-            /* [retval][out] */ IVLCPlaylist **obj) = 0;\r
-        \r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_video( \r
-            /* [retval][out] */ IVLCVideo **obj) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCControl2Vtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCControl2 * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCControl2 * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCControl2 * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLoop )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ VARIANT_BOOL *autoloop);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoLoop )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ VARIANT_BOOL autoloop);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoPlay )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ VARIANT_BOOL *autoplay);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoPlay )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ VARIANT_BOOL autoplay);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaseURL )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ BSTR *url);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaseURL )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ BSTR url);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartTime )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ long *seconds);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartTime )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ long seconds);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MRL )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ BSTR *mrl);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MRL )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ BSTR mrl);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Toolbar )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ VARIANT_BOOL *visible);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Toolbar )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ VARIANT_BOOL visible);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionInfo )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ BSTR *version);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ VARIANT_BOOL *visible);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ VARIANT_BOOL visible);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ long *volume);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ long volume);\r
-        \r
-        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ OLE_COLOR *backcolor);\r
-        \r
-        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( \r
-            IVLCControl2 * This,\r
-            /* [in] */ OLE_COLOR backcolor);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_audio )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ IVLCAudio **obj);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_input )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ IVLCInput **obj);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_log )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ IVLCLog **obj);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_playlist )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ IVLCPlaylist **obj);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_video )( \r
-            IVLCControl2 * This,\r
-            /* [retval][out] */ IVLCVideo **obj);\r
-        \r
-        END_INTERFACE\r
-    } IVLCControl2Vtbl;\r
-\r
-    interface IVLCControl2\r
-    {\r
-        CONST_VTBL struct IVLCControl2Vtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCControl2_QueryInterface(This,riid,ppvObject)       \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCControl2_AddRef(This)      \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCControl2_Release(This)     \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCControl2_GetTypeInfoCount(This,pctinfo)    \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCControl2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)     \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCControl2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)   \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCControl2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)     \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCControl2_get_AutoLoop(This,autoloop)       \\r
-    ( (This)->lpVtbl -> get_AutoLoop(This,autoloop) ) \r
-\r
-#define IVLCControl2_put_AutoLoop(This,autoloop)       \\r
-    ( (This)->lpVtbl -> put_AutoLoop(This,autoloop) ) \r
-\r
-#define IVLCControl2_get_AutoPlay(This,autoplay)       \\r
-    ( (This)->lpVtbl -> get_AutoPlay(This,autoplay) ) \r
-\r
-#define IVLCControl2_put_AutoPlay(This,autoplay)       \\r
-    ( (This)->lpVtbl -> put_AutoPlay(This,autoplay) ) \r
-\r
-#define IVLCControl2_get_BaseURL(This,url)     \\r
-    ( (This)->lpVtbl -> get_BaseURL(This,url) ) \r
-\r
-#define IVLCControl2_put_BaseURL(This,url)     \\r
-    ( (This)->lpVtbl -> put_BaseURL(This,url) ) \r
-\r
-#define IVLCControl2_get_StartTime(This,seconds)       \\r
-    ( (This)->lpVtbl -> get_StartTime(This,seconds) ) \r
-\r
-#define IVLCControl2_put_StartTime(This,seconds)       \\r
-    ( (This)->lpVtbl -> put_StartTime(This,seconds) ) \r
-\r
-#define IVLCControl2_get_MRL(This,mrl) \\r
-    ( (This)->lpVtbl -> get_MRL(This,mrl) ) \r
-\r
-#define IVLCControl2_put_MRL(This,mrl) \\r
-    ( (This)->lpVtbl -> put_MRL(This,mrl) ) \r
-\r
-#define IVLCControl2_get_Toolbar(This,visible) \\r
-    ( (This)->lpVtbl -> get_Toolbar(This,visible) ) \r
-\r
-#define IVLCControl2_put_Toolbar(This,visible) \\r
-    ( (This)->lpVtbl -> put_Toolbar(This,visible) ) \r
-\r
-#define IVLCControl2_get_VersionInfo(This,version)     \\r
-    ( (This)->lpVtbl -> get_VersionInfo(This,version) ) \r
-\r
-#define IVLCControl2_get_Visible(This,visible) \\r
-    ( (This)->lpVtbl -> get_Visible(This,visible) ) \r
-\r
-#define IVLCControl2_put_Visible(This,visible) \\r
-    ( (This)->lpVtbl -> put_Visible(This,visible) ) \r
-\r
-#define IVLCControl2_get_Volume(This,volume)   \\r
-    ( (This)->lpVtbl -> get_Volume(This,volume) ) \r
-\r
-#define IVLCControl2_put_Volume(This,volume)   \\r
-    ( (This)->lpVtbl -> put_Volume(This,volume) ) \r
-\r
-#define IVLCControl2_get_BackColor(This,backcolor)     \\r
-    ( (This)->lpVtbl -> get_BackColor(This,backcolor) ) \r
-\r
-#define IVLCControl2_put_BackColor(This,backcolor)     \\r
-    ( (This)->lpVtbl -> put_BackColor(This,backcolor) ) \r
-\r
-#define IVLCControl2_get_audio(This,obj)       \\r
-    ( (This)->lpVtbl -> get_audio(This,obj) ) \r
-\r
-#define IVLCControl2_get_input(This,obj)       \\r
-    ( (This)->lpVtbl -> get_input(This,obj) ) \r
-\r
-#define IVLCControl2_get_log(This,obj) \\r
-    ( (This)->lpVtbl -> get_log(This,obj) ) \r
-\r
-#define IVLCControl2_get_playlist(This,obj)    \\r
-    ( (This)->lpVtbl -> get_playlist(This,obj) ) \r
-\r
-#define IVLCControl2_get_video(This,obj)       \\r
-    ( (This)->lpVtbl -> get_video(This,obj) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCControl2_INTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __DVLCEvents_DISPINTERFACE_DEFINED__\r
-#define __DVLCEvents_DISPINTERFACE_DEFINED__\r
-\r
-/* dispinterface DVLCEvents */\r
-/* [helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID DIID_DVLCEvents;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-\r
-    MIDL_INTERFACE("DF48072F-5EF8-434e-9B40-E2F3AE759B5F")\r
-    DVLCEvents : public IDispatch\r
-    {\r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct DVLCEventsVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            DVLCEvents * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            DVLCEvents * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            DVLCEvents * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            DVLCEvents * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            DVLCEvents * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            DVLCEvents * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            DVLCEvents * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        END_INTERFACE\r
-    } DVLCEventsVtbl;\r
-\r
-    interface DVLCEvents\r
-    {\r
-        CONST_VTBL struct DVLCEventsVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define DVLCEvents_QueryInterface(This,riid,ppvObject) \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define DVLCEvents_AddRef(This)        \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define DVLCEvents_Release(This)       \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define DVLCEvents_GetTypeInfoCount(This,pctinfo)      \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define DVLCEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)       \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define DVLCEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)     \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define DVLCEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)       \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-#endif         /* __DVLCEvents_DISPINTERFACE_DEFINED__ */\r
-\r
-\r
-#ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__\r
-#define __IVLCPlaylistItems_INTERFACE_DEFINED__\r
-\r
-/* interface IVLCPlaylistItems */\r
-/* [object][oleautomation][dual][helpstring][uuid] */ \r
-\r
-\r
-EXTERN_C const IID IID_IVLCPlaylistItems;\r
-\r
-#if defined(__cplusplus) && !defined(CINTERFACE)\r
-    \r
-    MIDL_INTERFACE("FD37FE32-82BC-4A25-B056-315F4DBB194D")\r
-    IVLCPlaylistItems : public IDispatch\r
-    {\r
-    public:\r
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( \r
-            /* [retval][out] */ long *count) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;\r
-        \r
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE remove( \r
-            /* [in] */ long itemId) = 0;\r
-        \r
-    };\r
-    \r
-#else  /* C style interface */\r
-\r
-    typedef struct IVLCPlaylistItemsVtbl\r
-    {\r
-        BEGIN_INTERFACE\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \r
-            IVLCPlaylistItems * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [iid_is][out] */ \r
-            __RPC__deref_out  void **ppvObject);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *AddRef )( \r
-            IVLCPlaylistItems * This);\r
-        \r
-        ULONG ( STDMETHODCALLTYPE *Release )( \r
-            IVLCPlaylistItems * This);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( \r
-            IVLCPlaylistItems * This,\r
-            /* [out] */ UINT *pctinfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( \r
-            IVLCPlaylistItems * This,\r
-            /* [in] */ UINT iTInfo,\r
-            /* [in] */ LCID lcid,\r
-            /* [out] */ ITypeInfo **ppTInfo);\r
-        \r
-        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( \r
-            IVLCPlaylistItems * This,\r
-            /* [in] */ REFIID riid,\r
-            /* [size_is][in] */ LPOLESTR *rgszNames,\r
-            /* [range][in] */ UINT cNames,\r
-            /* [in] */ LCID lcid,\r
-            /* [size_is][out] */ DISPID *rgDispId);\r
-        \r
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( \r
-            IVLCPlaylistItems * This,\r
-            /* [in] */ DISPID dispIdMember,\r
-            /* [in] */ REFIID riid,\r
-            /* [in] */ LCID lcid,\r
-            /* [in] */ WORD wFlags,\r
-            /* [out][in] */ DISPPARAMS *pDispParams,\r
-            /* [out] */ VARIANT *pVarResult,\r
-            /* [out] */ EXCEPINFO *pExcepInfo,\r
-            /* [out] */ UINT *puArgErr);\r
-        \r
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )( \r
-            IVLCPlaylistItems * This,\r
-            /* [retval][out] */ long *count);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *clear )( \r
-            IVLCPlaylistItems * This);\r
-        \r
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *remove )( \r
-            IVLCPlaylistItems * This,\r
-            /* [in] */ long itemId);\r
-        \r
-        END_INTERFACE\r
-    } IVLCPlaylistItemsVtbl;\r
-\r
-    interface IVLCPlaylistItems\r
-    {\r
-        CONST_VTBL struct IVLCPlaylistItemsVtbl *lpVtbl;\r
-    };\r
-\r
-    \r
-\r
-#ifdef COBJMACROS\r
-\r
-\r
-#define IVLCPlaylistItems_QueryInterface(This,riid,ppvObject)  \\r
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) \r
-\r
-#define IVLCPlaylistItems_AddRef(This) \\r
-    ( (This)->lpVtbl -> AddRef(This) ) \r
-\r
-#define IVLCPlaylistItems_Release(This)        \\r
-    ( (This)->lpVtbl -> Release(This) ) \r
-\r
-\r
-#define IVLCPlaylistItems_GetTypeInfoCount(This,pctinfo)       \\r
-    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) \r
-\r
-#define IVLCPlaylistItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)        \\r
-    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) \r
-\r
-#define IVLCPlaylistItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)      \\r
-    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) \r
-\r
-#define IVLCPlaylistItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)        \\r
-    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) \r
-\r
-\r
-#define IVLCPlaylistItems_get_count(This,count)        \\r
-    ( (This)->lpVtbl -> get_count(This,count) ) \r
-\r
-#define IVLCPlaylistItems_clear(This)  \\r
-    ( (This)->lpVtbl -> clear(This) ) \r
-\r
-#define IVLCPlaylistItems_remove(This,itemId)  \\r
-    ( (This)->lpVtbl -> remove(This,itemId) ) \r
-\r
-#endif /* COBJMACROS */\r
-\r
-\r
-#endif         /* C style interface */\r
-\r
-\r
-\r
-\r
-#endif         /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */\r
-\r
-\r
-EXTERN_C const CLSID CLSID_VLCPlugin;\r
-\r
-#ifdef __cplusplus\r
-\r
-class DECLSPEC_UUID("E23FE9C6-778E-49D4-B537-38FCDE4887D8")\r
-VLCPlugin;\r
-#endif\r
-\r
-EXTERN_C const CLSID CLSID_VLCPlugin2;\r
-\r
-#ifdef __cplusplus\r
-\r
-class DECLSPEC_UUID("9BE31822-FDAD-461B-AD51-BE1D1C159921")\r
-VLCPlugin2;\r
-#endif\r
-#endif /* __AXVLC_LIBRARY_DEFINED__ */\r
-\r
-/* Additional Prototypes for ALL interfaces */\r
-\r
-/* end of Additional Prototypes */\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif\r
-\r
-\r
+/*** Autogenerated by WIDL 1.0 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" {
+#endif
+
+#include <ocidl.h>
+
+DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
+
+#ifndef __IVLCControl_FWD_DEFINED__
+#define __IVLCControl_FWD_DEFINED__
+typedef interface IVLCControl IVLCControl;
+#endif
+
+#ifndef __IVLCAudio_FWD_DEFINED__
+#define __IVLCAudio_FWD_DEFINED__
+typedef interface IVLCAudio IVLCAudio;
+#endif
+
+#ifndef __IVLCInput_FWD_DEFINED__
+#define __IVLCInput_FWD_DEFINED__
+typedef interface IVLCInput IVLCInput;
+#endif
+
+#ifndef __IVLCLog_FWD_DEFINED__
+#define __IVLCLog_FWD_DEFINED__
+typedef interface IVLCLog IVLCLog;
+#endif
+
+#ifndef __IVLCMessage_FWD_DEFINED__
+#define __IVLCMessage_FWD_DEFINED__
+typedef interface IVLCMessage IVLCMessage;
+#endif
+
+#ifndef __IVLCMessageIterator_FWD_DEFINED__
+#define __IVLCMessageIterator_FWD_DEFINED__
+typedef interface IVLCMessageIterator IVLCMessageIterator;
+#endif
+
+#ifndef __IVLCMessages_FWD_DEFINED__
+#define __IVLCMessages_FWD_DEFINED__
+typedef interface IVLCMessages IVLCMessages;
+#endif
+
+#ifndef __IVLCPlaylist_FWD_DEFINED__
+#define __IVLCPlaylist_FWD_DEFINED__
+typedef interface IVLCPlaylist IVLCPlaylist;
+#endif
+
+#ifndef __IVLCSubtitle_FWD_DEFINED__
+#define __IVLCSubtitle_FWD_DEFINED__
+typedef interface IVLCSubtitle IVLCSubtitle;
+#endif
+
+#ifndef __IVLCVideo_FWD_DEFINED__
+#define __IVLCVideo_FWD_DEFINED__
+typedef interface IVLCVideo IVLCVideo;
+#endif
+
+#ifndef __IVLCControl2_FWD_DEFINED__
+#define __IVLCControl2_FWD_DEFINED__
+typedef interface IVLCControl2 IVLCControl2;
+#endif
+
+#ifndef __DVLCEvents_FWD_DEFINED__
+#define __DVLCEvents_FWD_DEFINED__
+typedef interface DVLCEvents DVLCEvents;
+#endif
+
+typedef enum VLCPlaylistMode {
+    VLCPlayListInsert = 1,
+    VLCPlayListInsertAndGo = 9,
+    VLCPlayListReplace = 2,
+    VLCPlayListReplaceAndGo = 10,
+    VLCPlayListAppend = 4,
+    VLCPlayListAppendAndGo = 12,
+    VLCPlayListCheckInsert = 16
+} eVLCPlaylistMode;
+#define VLCPlayListEnd (-666)
+
+#define DISPID_BackColor (-501)
+
+#define DISPID_Visible (100)
+
+#define DISPID_Playing (101)
+
+#define DISPID_Position (102)
+
+#define DISPID_Time (103)
+
+#define DISPID_Length (104)
+
+#define DISPID_Volume (105)
+
+#define DISPID_MRL (106)
+
+#define DISPID_AutoPlay (107)
+
+#define DISPID_AutoLoop (108)
+
+#define DISPID_StartTime (109)
+
+#define DISPID_BaseURL (110)
+
+#define DISPID_Toolbar (111)
+
+/*****************************************************************************
+ * IVLCControl interface
+ */
+#ifndef __IVLCControl_INTERFACE_DEFINED__
+#define __IVLCControl_INTERFACE_DEFINED__
+
+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;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Visible(
+        VARIANT_BOOL visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE play(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE pause(
+        ) = 0;
+
+    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;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Volume(
+        int volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE toggleMute(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE setVariable(
+        BSTR name,
+        VARIANT value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE getVariable(
+        BSTR name,
+        VARIANT *value) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE addTarget(
+        BSTR uri,
+        VARIANT options,
+        enum VLCPlaylistMode mode,
+        int position) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_PlaylistIndex(
+        int *index) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_PlaylistCount(
+        int *index) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playlistNext(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playlistPrev(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playlistClear(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
+        BSTR *version) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_MRL(
+        BSTR *mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_MRL(
+        BSTR mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
+        VARIANT_BOOL *autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
+        VARIANT_BOOL autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
+        VARIANT_BOOL *autoloop) = 0;
+
+    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);
+
+    HRESULT (STDMETHODCALLTYPE *playlistPrev)(
+        IVLCControl* This);
+
+    HRESULT (STDMETHODCALLTYPE *playlistClear)(
+        IVLCControl* This);
+
+    HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
+        IVLCControl* This,
+        BSTR *version);
+
+    HRESULT (STDMETHODCALLTYPE *get_MRL)(
+        IVLCControl* This,
+        BSTR *mrl);
+
+    HRESULT (STDMETHODCALLTYPE *put_MRL)(
+        IVLCControl* This,
+        BSTR mrl);
+
+    HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
+        IVLCControl* This,
+        VARIANT_BOOL *autoplay);
+
+    HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
+        IVLCControl* This,
+        VARIANT_BOOL autoplay);
+
+    HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
+        IVLCControl* This,
+        VARIANT_BOOL *autoloop);
+
+    HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
+        IVLCControl* This,
+        VARIANT_BOOL autoloop);
+
+    END_INTERFACE
+} IVLCControlVtbl;
+interface IVLCControl {
+    CONST_VTBL IVLCControlVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCControl_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCControl_Release(This) (This)->lpVtbl->Release(This)
+/*** IDispatch methods ***/
+#define IVLCControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCControl methods ***/
+#define IVLCControl_get_Visible(This,visible) (This)->lpVtbl->get_Visible(This,visible)
+#define IVLCControl_put_Visible(This,visible) (This)->lpVtbl->put_Visible(This,visible)
+#define IVLCControl_play(This) (This)->lpVtbl->play(This)
+#define IVLCControl_pause(This) (This)->lpVtbl->pause(This)
+#define IVLCControl_stop(This) (This)->lpVtbl->stop(This)
+#define IVLCControl_get_Playing(This,isPlaying) (This)->lpVtbl->get_Playing(This,isPlaying)
+#define IVLCControl_get_Position(This,position) (This)->lpVtbl->get_Position(This,position)
+#define IVLCControl_put_Position(This,position) (This)->lpVtbl->put_Position(This,position)
+#define IVLCControl_get_Time(This,seconds) (This)->lpVtbl->get_Time(This,seconds)
+#define IVLCControl_put_Time(This,seconds) (This)->lpVtbl->put_Time(This,seconds)
+#define IVLCControl_shuttle(This,seconds) (This)->lpVtbl->shuttle(This,seconds)
+#define IVLCControl_fullscreen(This) (This)->lpVtbl->fullscreen(This)
+#define IVLCControl_get_Length(This,seconds) (This)->lpVtbl->get_Length(This,seconds)
+#define IVLCControl_playFaster(This) (This)->lpVtbl->playFaster(This)
+#define IVLCControl_playSlower(This) (This)->lpVtbl->playSlower(This)
+#define IVLCControl_get_Volume(This,volume) (This)->lpVtbl->get_Volume(This,volume)
+#define IVLCControl_put_Volume(This,volume) (This)->lpVtbl->put_Volume(This,volume)
+#define IVLCControl_toggleMute(This) (This)->lpVtbl->toggleMute(This)
+#define IVLCControl_setVariable(This,name,value) (This)->lpVtbl->setVariable(This,name,value)
+#define IVLCControl_getVariable(This,name,value) (This)->lpVtbl->getVariable(This,name,value)
+#define IVLCControl_addTarget(This,uri,options,mode,position) (This)->lpVtbl->addTarget(This,uri,options,mode,position)
+#define IVLCControl_get_PlaylistIndex(This,index) (This)->lpVtbl->get_PlaylistIndex(This,index)
+#define IVLCControl_get_PlaylistCount(This,index) (This)->lpVtbl->get_PlaylistCount(This,index)
+#define IVLCControl_playlistNext(This) (This)->lpVtbl->playlistNext(This)
+#define IVLCControl_playlistPrev(This) (This)->lpVtbl->playlistPrev(This)
+#define IVLCControl_playlistClear(This) (This)->lpVtbl->playlistClear(This)
+#define IVLCControl_get_VersionInfo(This,version) (This)->lpVtbl->get_VersionInfo(This,version)
+#define IVLCControl_get_MRL(This,mrl) (This)->lpVtbl->get_MRL(This,mrl)
+#define IVLCControl_put_MRL(This,mrl) (This)->lpVtbl->put_MRL(This,mrl)
+#define IVLCControl_get_AutoPlay(This,autoplay) (This)->lpVtbl->get_AutoPlay(This,autoplay)
+#define IVLCControl_put_AutoPlay(This,autoplay) (This)->lpVtbl->put_AutoPlay(This,autoplay)
+#define IVLCControl_get_AutoLoop(This,autoloop) (This)->lpVtbl->get_AutoLoop(This,autoloop)
+#define IVLCControl_put_AutoLoop(This,autoloop) (This)->lpVtbl->put_AutoLoop(This,autoloop)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl_play_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_play_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_pause_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_pause_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_stop_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_stop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl_shuttle_Proxy(
+    IVLCControl* This,
+    int seconds);
+void __RPC_STUB IVLCControl_shuttle_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_fullscreen_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_fullscreen_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl_playFaster_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_playFaster_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_playSlower_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_playSlower_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl_toggleMute_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_toggleMute_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl_playlistNext_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_playlistNext_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_playlistPrev_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_playlistPrev_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl_playlistClear_Proxy(
+    IVLCControl* This);
+void __RPC_STUB IVLCControl_playlistClear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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);
+
+#endif  /* __IVLCControl_INTERFACE_DEFINED__ */
+
+#define DISPID_PlayEvent (100)
+
+#define DISPID_PauseEvent (101)
+
+#define DISPID_StopEvent (102)
+
+/*****************************************************************************
+ * DVLCEvents dispinterface
+ */
+#ifndef __DVLCEvents_DISPINTERFACE_DEFINED__
+#define __DVLCEvents_DISPINTERFACE_DEFINED__
+
+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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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
+
+#endif
+
+#endif  /* __DVLCEvents_DISPINTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCAudio interface
+ */
+#ifndef __IVLCAudio_INTERFACE_DEFINED__
+#define __IVLCAudio_INTERFACE_DEFINED__
+
+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;
+
+    virtual HRESULT STDMETHODCALLTYPE put_mute(
+        VARIANT_BOOL muted) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_volume(
+        long *volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_volume(
+        long volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE toggleMute(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_track(
+        long *track) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_track(
+        long track) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_count(
+        long *trackNumber) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE description(
+        long trackID,
+        BSTR *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_channel(
+        long *channel) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_channel(
+        long channel) = 0;
+
+};
+#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_count)(
+        IVLCAudio* This,
+        long *trackNumber);
+
+    HRESULT (STDMETHODCALLTYPE *description)(
+        IVLCAudio* This,
+        long trackID,
+        BSTR *name);
+
+    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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCAudio methods ***/
+#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_count(This,trackNumber) (This)->lpVtbl->get_count(This,trackNumber)
+#define IVLCAudio_description(This,trackID,name) (This)->lpVtbl->description(This,trackID,name)
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCAudio_toggleMute_Proxy(
+    IVLCAudio* This);
+void __RPC_STUB IVLCAudio_toggleMute_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCAudio_get_count_Proxy(
+    IVLCAudio* This,
+    long *trackNumber);
+void __RPC_STUB IVLCAudio_get_count_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCAudio_description_Proxy(
+    IVLCAudio* This,
+    long trackID,
+    BSTR *name);
+void __RPC_STUB IVLCAudio_description_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCAudio_put_channel_Proxy(
+    IVLCAudio* This,
+    long channel);
+void __RPC_STUB IVLCAudio_put_channel_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCAudio_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCInput interface
+ */
+#ifndef __IVLCInput_INTERFACE_DEFINED__
+#define __IVLCInput_INTERFACE_DEFINED__
+
+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;
+
+    virtual HRESULT STDMETHODCALLTYPE get_position(
+        double *position) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_position(
+        double position) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_time(
+        double *time) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_time(
+        double time) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_state(
+        long *state) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_rate(
+        double *rate) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_rate(
+        double rate) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_fps(
+        double *fps) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_hasVout(
+        VARIANT_BOOL *hasVout) = 0;
+
+};
+#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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCInput methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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  /* __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;
+
+    virtual HRESULT STDMETHODCALLTYPE get_severity(
+        long *level) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_type(
+        BSTR *type) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_name(
+        BSTR *name) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_header(
+        BSTR *header) = 0;
+
+    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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCMessage methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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__ */
+
+/*****************************************************************************
+ * 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;
+
+    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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCMessageIterator methods ***/
+#define IVLCMessageIterator_get_hasNext(This,hasNext) (This)->lpVtbl->get_hasNext(This,hasNext)
+#define IVLCMessageIterator_next(This,msg) (This)->lpVtbl->next(This,msg)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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__ */
+
+/*****************************************************************************
+ * 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;
+
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_count(
+        long *count) = 0;
+
+    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;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCMessages methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCMessages_clear_Proxy(
+    IVLCMessages* This);
+void __RPC_STUB IVLCMessages_clear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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__ */
+
+/*****************************************************************************
+ * 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;
+
+    virtual HRESULT STDMETHODCALLTYPE get_verbosity(
+        long *level) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_verbosity(
+        long level) = 0;
+
+};
+#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(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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCLog methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCLog_put_verbosity_Proxy(
+    IVLCLog* This,
+    long level);
+void __RPC_STUB IVLCLog_put_verbosity_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCLog_INTERFACE_DEFINED__ */
+
+#ifndef __IVLCPlaylistItems_FWD_DEFINED__
+#define __IVLCPlaylistItems_FWD_DEFINED__
+typedef interface IVLCPlaylistItems IVLCPlaylistItems;
+#endif
+
+/*****************************************************************************
+ * 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;
+
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE remove(
+        long itemId) = 0;
+
+};
+#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(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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCPlaylistItems methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCPlaylistItems_clear_Proxy(
+    IVLCPlaylistItems* This);
+void __RPC_STUB IVLCPlaylistItems_clear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_remove_Proxy(
+    IVLCPlaylistItems* This,
+    long itemId);
+void __RPC_STUB IVLCPlaylistItems_remove_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCPlaylist interface
+ */
+#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
+#define __IVLCPlaylist_INTERFACE_DEFINED__
+
+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;
+
+    virtual HRESULT STDMETHODCALLTYPE add(
+        BSTR uri,
+        VARIANT name,
+        VARIANT options,
+        long *itemId) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE play(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playItem(
+        long itemId) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE togglePause(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE stop(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE next(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE prev(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE removeItem(
+        long item) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_items(
+        IVLCPlaylistItems **obj) = 0;
+
+};
+#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(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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCPlaylist methods ***/
+#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
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCPlaylist_play_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_play_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_playItem_Proxy(
+    IVLCPlaylist* This,
+    long itemId);
+void __RPC_STUB IVLCPlaylist_playItem_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_togglePause_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_togglePause_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_stop_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_stop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_next_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_next_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_prev_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_prev_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_clear_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_clear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_removeItem_Proxy(
+    IVLCPlaylist* This,
+    long item);
+void __RPC_STUB IVLCPlaylist_removeItem_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCPlaylist_get_items_Proxy(
+    IVLCPlaylist* This,
+    IVLCPlaylistItems **obj);
+void __RPC_STUB IVLCPlaylist_get_items_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCSubtitle interface
+ */
+#ifndef __IVLCSubtitle_INTERFACE_DEFINED__
+#define __IVLCSubtitle_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IVLCSubtitle, 0x465e787a, 0x0556, 0x452f, 0x94,0x77, 0x95,0x4e,0x4a,0x94,0x00,0x03);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IVLCSubtitle : public IDispatch
+{
+    virtual HRESULT STDMETHODCALLTYPE get_track(
+        long *spu) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_track(
+        long spu) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_count(
+        long *spuNumber) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE description(
+        long nameID,
+        BSTR *name) = 0;
+
+};
+#else
+typedef struct IVLCSubtitleVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        IVLCSubtitle* This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        IVLCSubtitle* This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        IVLCSubtitle* This);
+
+    /*** IDispatch methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
+        IVLCSubtitle* This,
+        UINT *pctinfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
+        IVLCSubtitle* This,
+        UINT iTInfo,
+        LCID lcid,
+        ITypeInfo **ppTInfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
+        IVLCSubtitle* This,
+        REFIID riid,
+        LPOLESTR *rgszNames,
+        UINT cNames,
+        LCID lcid,
+        DISPID *rgDispId);
+
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        IVLCSubtitle* This,
+        DISPID dispIdMember,
+        REFIID riid,
+        LCID lcid,
+        WORD wFlags,
+        DISPPARAMS *pDispParams,
+        VARIANT *pVarResult,
+        EXCEPINFO *pExcepInfo,
+        UINT *puArgErr);
+
+    /*** IVLCSubtitle methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_track)(
+        IVLCSubtitle* This,
+        long *spu);
+
+    HRESULT (STDMETHODCALLTYPE *put_track)(
+        IVLCSubtitle* This,
+        long spu);
+
+    HRESULT (STDMETHODCALLTYPE *get_count)(
+        IVLCSubtitle* This,
+        long *spuNumber);
+
+    HRESULT (STDMETHODCALLTYPE *description)(
+        IVLCSubtitle* This,
+        long nameID,
+        BSTR *name);
+
+    END_INTERFACE
+} IVLCSubtitleVtbl;
+interface IVLCSubtitle {
+    CONST_VTBL IVLCSubtitleVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCSubtitle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCSubtitle_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCSubtitle_Release(This) (This)->lpVtbl->Release(This)
+/*** IDispatch methods ***/
+#define IVLCSubtitle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCSubtitle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCSubtitle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCSubtitle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCSubtitle methods ***/
+#define IVLCSubtitle_get_track(This,spu) (This)->lpVtbl->get_track(This,spu)
+#define IVLCSubtitle_put_track(This,spu) (This)->lpVtbl->put_track(This,spu)
+#define IVLCSubtitle_get_count(This,spuNumber) (This)->lpVtbl->get_count(This,spuNumber)
+#define IVLCSubtitle_description(This,nameID,name) (This)->lpVtbl->description(This,nameID,name)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_get_track_Proxy(
+    IVLCSubtitle* This,
+    long *spu);
+void __RPC_STUB IVLCSubtitle_get_track_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_put_track_Proxy(
+    IVLCSubtitle* This,
+    long spu);
+void __RPC_STUB IVLCSubtitle_put_track_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_get_count_Proxy(
+    IVLCSubtitle* This,
+    long *spuNumber);
+void __RPC_STUB IVLCSubtitle_get_count_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_description_Proxy(
+    IVLCSubtitle* This,
+    long nameID,
+    BSTR *name);
+void __RPC_STUB IVLCSubtitle_description_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCSubtitle_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCVideo interface
+ */
+#ifndef __IVLCVideo_INTERFACE_DEFINED__
+#define __IVLCVideo_INTERFACE_DEFINED__
+
+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;
+
+    virtual HRESULT STDMETHODCALLTYPE get_width(
+        long *width) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_height(
+        long *height) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_aspectRatio(
+        BSTR *aspect) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_aspectRatio(
+        BSTR aspect) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_subtitle(
+        long *spu) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_subtitle(
+        long spu) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_crop(
+        BSTR *geometry) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_crop(
+        BSTR geometry) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_teletext(
+        long *page) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_teletext(
+        long page) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE deinterlaceEnable(
+        BSTR mode) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE deinterlaceDisable(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE takeSnapshot(
+        IPictureDisp **picture) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE toggleTeletext(
+        ) = 0;
+
+};
+#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 *get_teletext)(
+        IVLCVideo* This,
+        long *page);
+
+    HRESULT (STDMETHODCALLTYPE *put_teletext)(
+        IVLCVideo* This,
+        long page);
+
+    HRESULT (STDMETHODCALLTYPE *deinterlaceEnable)(
+        IVLCVideo* This,
+        BSTR mode);
+
+    HRESULT (STDMETHODCALLTYPE *deinterlaceDisable)(
+        IVLCVideo* This);
+
+    HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
+        IVLCVideo* This);
+
+    HRESULT (STDMETHODCALLTYPE *takeSnapshot)(
+        IVLCVideo* This,
+        IPictureDisp **picture);
+
+    HRESULT (STDMETHODCALLTYPE *toggleTeletext)(
+        IVLCVideo* This);
+
+    END_INTERFACE
+} IVLCVideoVtbl;
+interface IVLCVideo {
+    CONST_VTBL IVLCVideoVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#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)
+/*** IDispatch methods ***/
+#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)
+/*** IVLCVideo methods ***/
+#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_get_teletext(This,page) (This)->lpVtbl->get_teletext(This,page)
+#define IVLCVideo_put_teletext(This,page) (This)->lpVtbl->put_teletext(This,page)
+#define IVLCVideo_deinterlaceEnable(This,mode) (This)->lpVtbl->deinterlaceEnable(This,mode)
+#define IVLCVideo_deinterlaceDisable(This) (This)->lpVtbl->deinterlaceDisable(This)
+#define IVLCVideo_toggleFullscreen(This) (This)->lpVtbl->toggleFullscreen(This)
+#define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
+#define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCVideo_get_teletext_Proxy(
+    IVLCVideo* This,
+    long *page);
+void __RPC_STUB IVLCVideo_get_teletext_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_put_teletext_Proxy(
+    IVLCVideo* This,
+    long page);
+void __RPC_STUB IVLCVideo_put_teletext_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_deinterlaceEnable_Proxy(
+    IVLCVideo* This,
+    BSTR mode);
+void __RPC_STUB IVLCVideo_deinterlaceEnable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_deinterlaceDisable_Proxy(
+    IVLCVideo* This);
+void __RPC_STUB IVLCVideo_deinterlaceDisable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_toggleFullscreen_Proxy(
+    IVLCVideo* This);
+void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_takeSnapshot_Proxy(
+    IVLCVideo* This,
+    IPictureDisp **picture);
+void __RPC_STUB IVLCVideo_takeSnapshot_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_toggleTeletext_Proxy(
+    IVLCVideo* This);
+void __RPC_STUB IVLCVideo_toggleTeletext_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#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);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IVLCControl2 : public IDispatch
+{
+    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
+        VARIANT_BOOL *autoloop) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
+        VARIANT_BOOL autoloop) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
+        VARIANT_BOOL *autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
+        VARIANT_BOOL autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
+        BSTR *url) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
+        BSTR url) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_StartTime(
+        long *seconds) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_StartTime(
+        long seconds) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_MRL(
+        BSTR *mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_MRL(
+        BSTR mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
+        BSTR *version) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_Visible(
+        VARIANT_BOOL *visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Visible(
+        VARIANT_BOOL visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_Volume(
+        long *volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Volume(
+        long volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_BackColor(
+        OLE_COLOR *backcolor) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_BackColor(
+        OLE_COLOR backcolor) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_Toolbar(
+        VARIANT_BOOL *visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Toolbar(
+        VARIANT_BOOL visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_audio(
+        IVLCAudio **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_input(
+        IVLCInput **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_log(
+        IVLCLog **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_playlist(
+        IVLCPlaylist **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_subtitle(
+        IVLCSubtitle **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_video(
+        IVLCVideo **obj) = 0;
+
+};
+#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_BackColor)(
+        IVLCControl2* This,
+        OLE_COLOR *backcolor);
+
+    HRESULT (STDMETHODCALLTYPE *put_BackColor)(
+        IVLCControl2* This,
+        OLE_COLOR backcolor);
+
+    HRESULT (STDMETHODCALLTYPE *get_Toolbar)(
+        IVLCControl2* This,
+        VARIANT_BOOL *visible);
+
+    HRESULT (STDMETHODCALLTYPE *put_Toolbar)(
+        IVLCControl2* This,
+        VARIANT_BOOL visible);
+
+    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_subtitle)(
+        IVLCControl2* This,
+        IVLCSubtitle **obj);
+
+    HRESULT (STDMETHODCALLTYPE *get_video)(
+        IVLCControl2* This,
+        IVLCVideo **obj);
+
+    END_INTERFACE
+} IVLCControl2Vtbl;
+interface IVLCControl2 {
+    CONST_VTBL IVLCControl2Vtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCControl2_Release(This) (This)->lpVtbl->Release(This)
+/*** IDispatch methods ***/
+#define IVLCControl2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCControl2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCControl2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCControl2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCControl2 methods ***/
+#define IVLCControl2_get_AutoLoop(This,autoloop) (This)->lpVtbl->get_AutoLoop(This,autoloop)
+#define IVLCControl2_put_AutoLoop(This,autoloop) (This)->lpVtbl->put_AutoLoop(This,autoloop)
+#define IVLCControl2_get_AutoPlay(This,autoplay) (This)->lpVtbl->get_AutoPlay(This,autoplay)
+#define IVLCControl2_put_AutoPlay(This,autoplay) (This)->lpVtbl->put_AutoPlay(This,autoplay)
+#define IVLCControl2_get_BaseURL(This,url) (This)->lpVtbl->get_BaseURL(This,url)
+#define IVLCControl2_put_BaseURL(This,url) (This)->lpVtbl->put_BaseURL(This,url)
+#define IVLCControl2_get_StartTime(This,seconds) (This)->lpVtbl->get_StartTime(This,seconds)
+#define IVLCControl2_put_StartTime(This,seconds) (This)->lpVtbl->put_StartTime(This,seconds)
+#define IVLCControl2_get_MRL(This,mrl) (This)->lpVtbl->get_MRL(This,mrl)
+#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_Toolbar(This,visible) (This)->lpVtbl->get_Toolbar(This,visible)
+#define IVLCControl2_put_Toolbar(This,visible) (This)->lpVtbl->put_Toolbar(This,visible)
+#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_subtitle(This,obj) (This)->lpVtbl->get_subtitle(This,obj)
+#define IVLCControl2_get_video(This,obj) (This)->lpVtbl->get_video(This,obj)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IVLCControl2_put_AutoLoop_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL autoloop);
+void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_AutoPlay_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL *autoplay);
+void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_AutoPlay_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL autoplay);
+void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_BaseURL_Proxy(
+    IVLCControl2* This,
+    BSTR *url);
+void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_BaseURL_Proxy(
+    IVLCControl2* This,
+    BSTR url);
+void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_StartTime_Proxy(
+    IVLCControl2* This,
+    long *seconds);
+void __RPC_STUB IVLCControl2_get_StartTime_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_StartTime_Proxy(
+    IVLCControl2* This,
+    long seconds);
+void __RPC_STUB IVLCControl2_put_StartTime_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_MRL_Proxy(
+    IVLCControl2* This,
+    BSTR *mrl);
+void __RPC_STUB IVLCControl2_get_MRL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_MRL_Proxy(
+    IVLCControl2* This,
+    BSTR mrl);
+void __RPC_STUB IVLCControl2_put_MRL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_VersionInfo_Proxy(
+    IVLCControl2* This,
+    BSTR *version);
+void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_Visible_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL *visible);
+void __RPC_STUB IVLCControl2_get_Visible_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_Visible_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL visible);
+void __RPC_STUB IVLCControl2_put_Visible_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_Volume_Proxy(
+    IVLCControl2* This,
+    long *volume);
+void __RPC_STUB IVLCControl2_get_Volume_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_Volume_Proxy(
+    IVLCControl2* This,
+    long volume);
+void __RPC_STUB IVLCControl2_put_Volume_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_BackColor_Proxy(
+    IVLCControl2* This,
+    OLE_COLOR *backcolor);
+void __RPC_STUB IVLCControl2_get_BackColor_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_BackColor_Proxy(
+    IVLCControl2* This,
+    OLE_COLOR backcolor);
+void __RPC_STUB IVLCControl2_put_BackColor_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_Toolbar_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL *visible);
+void __RPC_STUB IVLCControl2_get_Toolbar_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_put_Toolbar_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL visible);
+void __RPC_STUB IVLCControl2_put_Toolbar_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_audio_Proxy(
+    IVLCControl2* This,
+    IVLCAudio **obj);
+void __RPC_STUB IVLCControl2_get_audio_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_input_Proxy(
+    IVLCControl2* This,
+    IVLCInput **obj);
+void __RPC_STUB IVLCControl2_get_input_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_log_Proxy(
+    IVLCControl2* This,
+    IVLCLog **obj);
+void __RPC_STUB IVLCControl2_get_log_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_playlist_Proxy(
+    IVLCControl2* This,
+    IVLCPlaylist **obj);
+void __RPC_STUB IVLCControl2_get_playlist_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_subtitle_Proxy(
+    IVLCControl2* This,
+    IVLCSubtitle **obj);
+void __RPC_STUB IVLCControl2_get_subtitle_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCControl2_get_video_Proxy(
+    IVLCControl2* This,
+    IVLCVideo **obj);
+void __RPC_STUB IVLCControl2_get_video_Stub(
+    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);
+
+#ifndef __VLCPlugin_FWD_DEFINED__
+#define __VLCPlugin_FWD_DEFINED__
+typedef struct VLCPlugin VLCPlugin;
+#endif /* defined __VLCPlugin_FWD_DEFINED__ */
+
+/*****************************************************************************
+ * VLCPlugin2 coclass
+ */
+
+DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
+
+#ifndef __VLCPlugin2_FWD_DEFINED__
+#define __VLCPlugin2_FWD_DEFINED__
+typedef struct VLCPlugin2 VLCPlugin2;
+#endif /* defined __VLCPlugin2_FWD_DEFINED__ */
+
+/* Begin additional prototypes for all interfaces */
+
+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 *);
+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 *);
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WIDL_AXVLC_IDL_H */