/*** Autogenerated by WIDL 1.1.38 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

/* Headers for imported files */

#include <ocidl.h>

/* Forward declarations */

#ifndef __IVLCControl_FWD_DEFINED__
#define __IVLCControl_FWD_DEFINED__
typedef interface IVLCControl IVLCControl;
#endif

#ifndef __DVLCEvents_FWD_DEFINED__
#define __DVLCEvents_FWD_DEFINED__
typedef interface DVLCEvents DVLCEvents;
#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 __IVLCPlaylistItems_FWD_DEFINED__
#define __IVLCPlaylistItems_FWD_DEFINED__
typedef interface IVLCPlaylistItems IVLCPlaylistItems;
#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 __IVLCMarquee_FWD_DEFINED__
#define __IVLCMarquee_FWD_DEFINED__
typedef interface IVLCMarquee IVLCMarquee;
#endif

#ifndef __IVLCLogo_FWD_DEFINED__
#define __IVLCLogo_FWD_DEFINED__
typedef interface IVLCLogo IVLCLogo;
#endif

#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef interface IVLCDeinterlace IVLCDeinterlace;
#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 __VLCPlugin_FWD_DEFINED__
#define __VLCPlugin_FWD_DEFINED__
typedef struct VLCPlugin VLCPlugin;
#endif /* defined __VLCPlugin_FWD_DEFINED__ */

#ifndef __VLCPlugin2_FWD_DEFINED__
#define __VLCPlugin2_FWD_DEFINED__
typedef struct VLCPlugin2 VLCPlugin2;
#endif /* defined __VLCPlugin2_FWD_DEFINED__ */



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 __IVLCLogo_FWD_DEFINED__
#define __IVLCLogo_FWD_DEFINED__
typedef interface IVLCLogo IVLCLogo;
#endif

#ifndef __IVLCDeinterlace_FWD_DEFINED__
#define __IVLCDeinterlace_FWD_DEFINED__
typedef interface IVLCDeinterlace IVLCDeinterlace;
#endif

#ifndef __IVLCMarquee_FWD_DEFINED__
#define __IVLCMarquee_FWD_DEFINED__
typedef interface IVLCMarquee IVLCMarquee;
#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)

#define DISPID_MediaPlayerNothingSpecialEvent (200)

#define DISPID_MediaPlayerOpeningEvent (201)

#define DISPID_MediaPlayerBufferingEvent (202)

#define DISPID_MediaPlayerPlayingEvent (203)

#define DISPID_MediaPlayerPausedEvent (204)

#define DISPID_MediaPlayerForwardEvent (205)

#define DISPID_MediaPlayerBackwardEvent (206)

#define DISPID_MediaPlayerEncounteredErrorEvent (207)

#define DISPID_MediaPlayerEndReachedEvent (208)

#define DISPID_MediaPlayerStoppedEvent (209)

#define DISPID_MediaPlayerTimeChangedEvent (210)

#define DISPID_MediaPlayerPositionChangedEvent (211)

#define DISPID_MediaPlayerSeekableChangedEvent (212)

#define DISPID_MediaPlayerPausableChangedEvent (213)

/*****************************************************************************
 * 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__ */

/*****************************************************************************
 * 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__ */

/*****************************************************************************
 * IVLCMarquee interface
 */
#ifndef __IVLCMarquee_INTERFACE_DEFINED__
#define __IVLCMarquee_INTERFACE_DEFINED__

DEFINE_GUID(IID_IVLCMarquee, 0x8d076ad6, 0x9b6f, 0x4150, 0xa0,0xfd, 0x5d,0x7e,0x8c,0x8c,0xb0,0x2c);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVLCMarquee : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE enable(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE disable(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
        BSTR *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_text(
        BSTR val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_color(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_color(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_opacity(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_opacity(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_position(
        BSTR val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_refresh(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_refresh(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_size(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_size(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_timeout(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_timeout(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        LONG val) = 0;

};
#else
typedef struct IVLCMarqueeVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IVLCMarquee* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IVLCMarquee* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IVLCMarquee* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IVLCMarquee* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IVLCMarquee* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IVLCMarquee* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IVLCMarquee* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IVLCMarquee methods ***/
    HRESULT (STDMETHODCALLTYPE *enable)(
        IVLCMarquee* This);

    HRESULT (STDMETHODCALLTYPE *disable)(
        IVLCMarquee* This);

    HRESULT (STDMETHODCALLTYPE *get_text)(
        IVLCMarquee* This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *put_text)(
        IVLCMarquee* This,
        BSTR val);

    HRESULT (STDMETHODCALLTYPE *get_color)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_color)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_opacity)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_opacity)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IVLCMarquee* This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *put_position)(
        IVLCMarquee* This,
        BSTR val);

    HRESULT (STDMETHODCALLTYPE *get_refresh)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_refresh)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_size)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_size)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_timeout)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_timeout)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_x)(
        IVLCMarquee* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        IVLCMarquee* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        IVLCMarquee* This,
        LONG val);

    END_INTERFACE
} IVLCMarqueeVtbl;
interface IVLCMarquee {
    CONST_VTBL IVLCMarqueeVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVLCMarquee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVLCMarquee_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVLCMarquee_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IVLCMarquee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IVLCMarquee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IVLCMarquee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IVLCMarquee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IVLCMarquee methods ***/
#define IVLCMarquee_enable(This) (This)->lpVtbl->enable(This)
#define IVLCMarquee_disable(This) (This)->lpVtbl->disable(This)
#define IVLCMarquee_get_text(This,val) (This)->lpVtbl->get_text(This,val)
#define IVLCMarquee_put_text(This,val) (This)->lpVtbl->put_text(This,val)
#define IVLCMarquee_get_color(This,val) (This)->lpVtbl->get_color(This,val)
#define IVLCMarquee_put_color(This,val) (This)->lpVtbl->put_color(This,val)
#define IVLCMarquee_get_opacity(This,val) (This)->lpVtbl->get_opacity(This,val)
#define IVLCMarquee_put_opacity(This,val) (This)->lpVtbl->put_opacity(This,val)
#define IVLCMarquee_get_position(This,val) (This)->lpVtbl->get_position(This,val)
#define IVLCMarquee_put_position(This,val) (This)->lpVtbl->put_position(This,val)
#define IVLCMarquee_get_refresh(This,val) (This)->lpVtbl->get_refresh(This,val)
#define IVLCMarquee_put_refresh(This,val) (This)->lpVtbl->put_refresh(This,val)
#define IVLCMarquee_get_size(This,val) (This)->lpVtbl->get_size(This,val)
#define IVLCMarquee_put_size(This,val) (This)->lpVtbl->put_size(This,val)
#define IVLCMarquee_get_timeout(This,val) (This)->lpVtbl->get_timeout(This,val)
#define IVLCMarquee_put_timeout(This,val) (This)->lpVtbl->put_timeout(This,val)
#define IVLCMarquee_get_x(This,val) (This)->lpVtbl->get_x(This,val)
#define IVLCMarquee_put_x(This,val) (This)->lpVtbl->put_x(This,val)
#define IVLCMarquee_get_y(This,val) (This)->lpVtbl->get_y(This,val)
#define IVLCMarquee_put_y(This,val) (This)->lpVtbl->put_y(This,val)
#endif

#endif

HRESULT STDMETHODCALLTYPE IVLCMarquee_enable_Proxy(
    IVLCMarquee* This);
void __RPC_STUB IVLCMarquee_enable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_disable_Proxy(
    IVLCMarquee* This);
void __RPC_STUB IVLCMarquee_disable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_text_Proxy(
    IVLCMarquee* This,
    BSTR *val);
void __RPC_STUB IVLCMarquee_get_text_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_text_Proxy(
    IVLCMarquee* This,
    BSTR val);
void __RPC_STUB IVLCMarquee_put_text_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_color_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_color_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_color_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_color_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_opacity_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_opacity_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_opacity_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_opacity_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_position_Proxy(
    IVLCMarquee* This,
    BSTR *val);
void __RPC_STUB IVLCMarquee_get_position_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_position_Proxy(
    IVLCMarquee* This,
    BSTR val);
void __RPC_STUB IVLCMarquee_put_position_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_refresh_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_refresh_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_refresh_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_refresh_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_size_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_size_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_size_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_size_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_timeout_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_timeout_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_timeout_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_timeout_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_x_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_x_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_x_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_x_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_get_y_Proxy(
    IVLCMarquee* This,
    LONG *val);
void __RPC_STUB IVLCMarquee_get_y_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMarquee_put_y_Proxy(
    IVLCMarquee* This,
    LONG val);
void __RPC_STUB IVLCMarquee_put_y_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IVLCMarquee_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVLCLogo interface
 */
#ifndef __IVLCLogo_INTERFACE_DEFINED__
#define __IVLCLogo_INTERFACE_DEFINED__

DEFINE_GUID(IID_IVLCLogo, 0x8a4a20c2, 0x93f3, 0x44e8, 0x86,0x44, 0xbe,0xb2,0xe3,0x48,0x7e,0x84);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVLCLogo : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE enable(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE disable(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE file(
        BSTR fname) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_delay(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_delay(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_repeat(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_repeat(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_opacity(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_opacity(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_position(
        BSTR *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_position(
        BSTR val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_x(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_x(
        LONG val) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_y(
        LONG *val) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_y(
        LONG val) = 0;

};
#else
typedef struct IVLCLogoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IVLCLogo* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IVLCLogo* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IVLCLogo* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IVLCLogo* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IVLCLogo* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IVLCLogo* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IVLCLogo* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IVLCLogo methods ***/
    HRESULT (STDMETHODCALLTYPE *enable)(
        IVLCLogo* This);

    HRESULT (STDMETHODCALLTYPE *disable)(
        IVLCLogo* This);

    HRESULT (STDMETHODCALLTYPE *file)(
        IVLCLogo* This,
        BSTR fname);

    HRESULT (STDMETHODCALLTYPE *get_delay)(
        IVLCLogo* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_delay)(
        IVLCLogo* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_repeat)(
        IVLCLogo* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_repeat)(
        IVLCLogo* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_opacity)(
        IVLCLogo* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_opacity)(
        IVLCLogo* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_position)(
        IVLCLogo* This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *put_position)(
        IVLCLogo* This,
        BSTR val);

    HRESULT (STDMETHODCALLTYPE *get_x)(
        IVLCLogo* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_x)(
        IVLCLogo* This,
        LONG val);

    HRESULT (STDMETHODCALLTYPE *get_y)(
        IVLCLogo* This,
        LONG *val);

    HRESULT (STDMETHODCALLTYPE *put_y)(
        IVLCLogo* This,
        LONG val);

    END_INTERFACE
} IVLCLogoVtbl;
interface IVLCLogo {
    CONST_VTBL IVLCLogoVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVLCLogo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVLCLogo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVLCLogo_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IVLCLogo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IVLCLogo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IVLCLogo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IVLCLogo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IVLCLogo methods ***/
#define IVLCLogo_enable(This) (This)->lpVtbl->enable(This)
#define IVLCLogo_disable(This) (This)->lpVtbl->disable(This)
#define IVLCLogo_file(This,fname) (This)->lpVtbl->file(This,fname)
#define IVLCLogo_get_delay(This,val) (This)->lpVtbl->get_delay(This,val)
#define IVLCLogo_put_delay(This,val) (This)->lpVtbl->put_delay(This,val)
#define IVLCLogo_get_repeat(This,val) (This)->lpVtbl->get_repeat(This,val)
#define IVLCLogo_put_repeat(This,val) (This)->lpVtbl->put_repeat(This,val)
#define IVLCLogo_get_opacity(This,val) (This)->lpVtbl->get_opacity(This,val)
#define IVLCLogo_put_opacity(This,val) (This)->lpVtbl->put_opacity(This,val)
#define IVLCLogo_get_position(This,val) (This)->lpVtbl->get_position(This,val)
#define IVLCLogo_put_position(This,val) (This)->lpVtbl->put_position(This,val)
#define IVLCLogo_get_x(This,val) (This)->lpVtbl->get_x(This,val)
#define IVLCLogo_put_x(This,val) (This)->lpVtbl->put_x(This,val)
#define IVLCLogo_get_y(This,val) (This)->lpVtbl->get_y(This,val)
#define IVLCLogo_put_y(This,val) (This)->lpVtbl->put_y(This,val)
#endif

#endif

HRESULT STDMETHODCALLTYPE IVLCLogo_enable_Proxy(
    IVLCLogo* This);
void __RPC_STUB IVLCLogo_enable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_disable_Proxy(
    IVLCLogo* This);
void __RPC_STUB IVLCLogo_disable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_file_Proxy(
    IVLCLogo* This,
    BSTR fname);
void __RPC_STUB IVLCLogo_file_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_delay_Proxy(
    IVLCLogo* This,
    LONG *val);
void __RPC_STUB IVLCLogo_get_delay_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_delay_Proxy(
    IVLCLogo* This,
    LONG val);
void __RPC_STUB IVLCLogo_put_delay_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_repeat_Proxy(
    IVLCLogo* This,
    LONG *val);
void __RPC_STUB IVLCLogo_get_repeat_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_repeat_Proxy(
    IVLCLogo* This,
    LONG val);
void __RPC_STUB IVLCLogo_put_repeat_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_opacity_Proxy(
    IVLCLogo* This,
    LONG *val);
void __RPC_STUB IVLCLogo_get_opacity_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_opacity_Proxy(
    IVLCLogo* This,
    LONG val);
void __RPC_STUB IVLCLogo_put_opacity_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_position_Proxy(
    IVLCLogo* This,
    BSTR *val);
void __RPC_STUB IVLCLogo_get_position_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_position_Proxy(
    IVLCLogo* This,
    BSTR val);
void __RPC_STUB IVLCLogo_put_position_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_x_Proxy(
    IVLCLogo* This,
    LONG *val);
void __RPC_STUB IVLCLogo_get_x_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_x_Proxy(
    IVLCLogo* This,
    LONG val);
void __RPC_STUB IVLCLogo_put_x_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_get_y_Proxy(
    IVLCLogo* This,
    LONG *val);
void __RPC_STUB IVLCLogo_get_y_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCLogo_put_y_Proxy(
    IVLCLogo* This,
    LONG val);
void __RPC_STUB IVLCLogo_put_y_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IVLCLogo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVLCDeinterlace interface
 */
#ifndef __IVLCDeinterlace_INTERFACE_DEFINED__
#define __IVLCDeinterlace_INTERFACE_DEFINED__

DEFINE_GUID(IID_IVLCDeinterlace, 0xbc97469f, 0xcb11, 0x4037, 0x8d,0xce, 0x5f,0xc9,0xf5,0xf8,0x53,0x07);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVLCDeinterlace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE enable(
        BSTR mode) = 0;

    virtual HRESULT STDMETHODCALLTYPE disable(
        ) = 0;

};
#else
typedef struct IVLCDeinterlaceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IVLCDeinterlace* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IVLCDeinterlace* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IVLCDeinterlace* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IVLCDeinterlace* This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IVLCDeinterlace* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IVLCDeinterlace* This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IVLCDeinterlace* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IVLCDeinterlace methods ***/
    HRESULT (STDMETHODCALLTYPE *enable)(
        IVLCDeinterlace* This,
        BSTR mode);

    HRESULT (STDMETHODCALLTYPE *disable)(
        IVLCDeinterlace* This);

    END_INTERFACE
} IVLCDeinterlaceVtbl;
interface IVLCDeinterlace {
    CONST_VTBL IVLCDeinterlaceVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVLCDeinterlace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVLCDeinterlace_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVLCDeinterlace_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IVLCDeinterlace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IVLCDeinterlace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IVLCDeinterlace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IVLCDeinterlace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IVLCDeinterlace methods ***/
#define IVLCDeinterlace_enable(This,mode) (This)->lpVtbl->enable(This,mode)
#define IVLCDeinterlace_disable(This) (This)->lpVtbl->disable(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IVLCDeinterlace_enable_Proxy(
    IVLCDeinterlace* This,
    BSTR mode);
void __RPC_STUB IVLCDeinterlace_enable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCDeinterlace_disable_Proxy(
    IVLCDeinterlace* This);
void __RPC_STUB IVLCDeinterlace_disable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IVLCDeinterlace_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 toggleFullscreen(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE takeSnapshot(
        IPictureDisp **picture) = 0;

    virtual HRESULT STDMETHODCALLTYPE toggleTeletext(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_marquee(
        IVLCMarquee **obj) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_logo(
        IVLCLogo **obj) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_deinterlace(
        IVLCDeinterlace **obj) = 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 *toggleFullscreen)(
        IVLCVideo* This);

    HRESULT (STDMETHODCALLTYPE *takeSnapshot)(
        IVLCVideo* This,
        IPictureDisp **picture);

    HRESULT (STDMETHODCALLTYPE *toggleTeletext)(
        IVLCVideo* This);

    HRESULT (STDMETHODCALLTYPE *get_marquee)(
        IVLCVideo* This,
        IVLCMarquee **obj);

    HRESULT (STDMETHODCALLTYPE *get_logo)(
        IVLCVideo* This,
        IVLCLogo **obj);

    HRESULT (STDMETHODCALLTYPE *get_deinterlace)(
        IVLCVideo* This,
        IVLCDeinterlace **obj);

    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_toggleFullscreen(This) (This)->lpVtbl->toggleFullscreen(This)
#define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
#define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
#define IVLCVideo_get_marquee(This,obj) (This)->lpVtbl->get_marquee(This,obj)
#define IVLCVideo_get_logo(This,obj) (This)->lpVtbl->get_logo(This,obj)
#define IVLCVideo_get_deinterlace(This,obj) (This)->lpVtbl->get_deinterlace(This,obj)
#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_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);
HRESULT STDMETHODCALLTYPE IVLCVideo_get_marquee_Proxy(
    IVLCVideo* This,
    IVLCMarquee **obj);
void __RPC_STUB IVLCVideo_get_marquee_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCVideo_get_logo_Proxy(
    IVLCVideo* This,
    IVLCLogo **obj);
void __RPC_STUB IVLCVideo_get_logo_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCVideo_get_deinterlace_Proxy(
    IVLCVideo* This,
    IVLCDeinterlace **obj);
void __RPC_STUB IVLCVideo_get_deinterlace_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_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_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_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_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);

/*****************************************************************************
 * VLCPlugin2 coclass
 */

DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);

/* 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 */
