/*** Autogenerated by WIDL 1.7.33 from axvlc.idl - Do not edit ***/

#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include <rpc.h>
#include <rpcndr.h>

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __axvlc_idl_h__
#define __axvlc_idl_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 __IVLCMediaDescription_FWD_DEFINED__
#define __IVLCMediaDescription_FWD_DEFINED__
typedef interface IVLCMediaDescription IVLCMediaDescription;
#endif

#ifndef __IVLCControl2_FWD_DEFINED__
#define __IVLCControl2_FWD_DEFINED__
typedef interface IVLCControl2 IVLCControl2;
#endif

#ifndef __VLCPlugin_FWD_DEFINED__
#define __VLCPlugin_FWD_DEFINED__
#ifdef __cplusplus
typedef class VLCPlugin VLCPlugin;
#else
typedef struct VLCPlugin VLCPlugin;
#endif /* defined __cplusplus */
#endif /* defined __VLCPlugin_FWD_DEFINED__ */

#ifndef __VLCPlugin2_FWD_DEFINED__
#define __VLCPlugin2_FWD_DEFINED__
#ifdef __cplusplus
typedef class VLCPlugin2 VLCPlugin2;
#else
typedef struct VLCPlugin2 VLCPlugin2;
#endif /* defined __cplusplus */
#endif /* defined __VLCPlugin2_FWD_DEFINED__ */

/* Headers for imported files */

#include <ocidl.h>

#ifdef __cplusplus
extern "C" {
#endif


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)

#define DISPID_FSEnabled (112)

/*****************************************************************************
 * 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)
MIDL_INTERFACE("c2fa41d0-b113-476e-ac8c-9bd14999c1c1")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCControl, 0xc2fa41d0, 0xb113, 0x476e, 0xac,0x8c, 0x9b,0xd1,0x49,0x99,0xc1,0xc1)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCControl_QueryInterface(IVLCControl* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCControl_AddRef(IVLCControl* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCControl_Release(IVLCControl* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCControl_GetTypeInfoCount(IVLCControl* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCControl_GetTypeInfo(IVLCControl* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCControl_GetIDsOfNames(IVLCControl* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCControl_Invoke(IVLCControl* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCControl methods ***/
static FORCEINLINE HRESULT IVLCControl_get_Visible(IVLCControl* This,VARIANT_BOOL *visible) {
    return This->lpVtbl->get_Visible(This,visible);
}
static FORCEINLINE HRESULT IVLCControl_put_Visible(IVLCControl* This,VARIANT_BOOL visible) {
    return This->lpVtbl->put_Visible(This,visible);
}
static FORCEINLINE HRESULT IVLCControl_play(IVLCControl* This) {
    return This->lpVtbl->play(This);
}
static FORCEINLINE HRESULT IVLCControl_pause(IVLCControl* This) {
    return This->lpVtbl->pause(This);
}
static FORCEINLINE HRESULT IVLCControl_stop(IVLCControl* This) {
    return This->lpVtbl->stop(This);
}
static FORCEINLINE HRESULT IVLCControl_get_Playing(IVLCControl* This,VARIANT_BOOL *isPlaying) {
    return This->lpVtbl->get_Playing(This,isPlaying);
}
static FORCEINLINE HRESULT IVLCControl_get_Position(IVLCControl* This,float *position) {
    return This->lpVtbl->get_Position(This,position);
}
static FORCEINLINE HRESULT IVLCControl_put_Position(IVLCControl* This,float position) {
    return This->lpVtbl->put_Position(This,position);
}
static FORCEINLINE HRESULT IVLCControl_get_Time(IVLCControl* This,int *seconds) {
    return This->lpVtbl->get_Time(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl_put_Time(IVLCControl* This,int seconds) {
    return This->lpVtbl->put_Time(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl_shuttle(IVLCControl* This,int seconds) {
    return This->lpVtbl->shuttle(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl_fullscreen(IVLCControl* This) {
    return This->lpVtbl->fullscreen(This);
}
static FORCEINLINE HRESULT IVLCControl_get_Length(IVLCControl* This,int *seconds) {
    return This->lpVtbl->get_Length(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl_playFaster(IVLCControl* This) {
    return This->lpVtbl->playFaster(This);
}
static FORCEINLINE HRESULT IVLCControl_playSlower(IVLCControl* This) {
    return This->lpVtbl->playSlower(This);
}
static FORCEINLINE HRESULT IVLCControl_get_Volume(IVLCControl* This,int *volume) {
    return This->lpVtbl->get_Volume(This,volume);
}
static FORCEINLINE HRESULT IVLCControl_put_Volume(IVLCControl* This,int volume) {
    return This->lpVtbl->put_Volume(This,volume);
}
static FORCEINLINE HRESULT IVLCControl_toggleMute(IVLCControl* This) {
    return This->lpVtbl->toggleMute(This);
}
static FORCEINLINE HRESULT IVLCControl_setVariable(IVLCControl* This,BSTR name,VARIANT value) {
    return This->lpVtbl->setVariable(This,name,value);
}
static FORCEINLINE HRESULT IVLCControl_getVariable(IVLCControl* This,BSTR name,VARIANT *value) {
    return This->lpVtbl->getVariable(This,name,value);
}
static FORCEINLINE HRESULT IVLCControl_addTarget(IVLCControl* This,BSTR uri,VARIANT options,enum VLCPlaylistMode mode,int position) {
    return This->lpVtbl->addTarget(This,uri,options,mode,position);
}
static FORCEINLINE HRESULT IVLCControl_get_PlaylistIndex(IVLCControl* This,int *index) {
    return This->lpVtbl->get_PlaylistIndex(This,index);
}
static FORCEINLINE HRESULT IVLCControl_get_PlaylistCount(IVLCControl* This,int *index) {
    return This->lpVtbl->get_PlaylistCount(This,index);
}
static FORCEINLINE HRESULT IVLCControl_playlistNext(IVLCControl* This) {
    return This->lpVtbl->playlistNext(This);
}
static FORCEINLINE HRESULT IVLCControl_playlistPrev(IVLCControl* This) {
    return This->lpVtbl->playlistPrev(This);
}
static FORCEINLINE HRESULT IVLCControl_playlistClear(IVLCControl* This) {
    return This->lpVtbl->playlistClear(This);
}
static FORCEINLINE HRESULT IVLCControl_get_VersionInfo(IVLCControl* This,BSTR *version) {
    return This->lpVtbl->get_VersionInfo(This,version);
}
static FORCEINLINE HRESULT IVLCControl_get_MRL(IVLCControl* This,BSTR *mrl) {
    return This->lpVtbl->get_MRL(This,mrl);
}
static FORCEINLINE HRESULT IVLCControl_put_MRL(IVLCControl* This,BSTR mrl) {
    return This->lpVtbl->put_MRL(This,mrl);
}
static FORCEINLINE HRESULT IVLCControl_get_AutoPlay(IVLCControl* This,VARIANT_BOOL *autoplay) {
    return This->lpVtbl->get_AutoPlay(This,autoplay);
}
static FORCEINLINE HRESULT IVLCControl_put_AutoPlay(IVLCControl* This,VARIANT_BOOL autoplay) {
    return This->lpVtbl->put_AutoPlay(This,autoplay);
}
static FORCEINLINE HRESULT IVLCControl_get_AutoLoop(IVLCControl* This,VARIANT_BOOL *autoloop) {
    return This->lpVtbl->get_AutoLoop(This,autoloop);
}
static FORCEINLINE HRESULT IVLCControl_put_AutoLoop(IVLCControl* This,VARIANT_BOOL autoloop) {
    return This->lpVtbl->put_AutoLoop(This,autoloop);
}
#endif
#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)

#define DISPID_MediaPlayerMediaChangedEvent (214)

#define DISPID_MediaPlayerTitleChangedEvent (215)

#define DISPID_MediaPlayerLengthChangedEvent (216)

/*****************************************************************************
 * 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)
MIDL_INTERFACE("df48072f-5ef8-434e-9b40-e2f3ae759b5f")
DVLCEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DVLCEvents, 0xdf48072f, 0x5ef8, 0x434e, 0x9b,0x40, 0xe2,0xf3,0xae,0x75,0x9b,0x5f)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT DVLCEvents_QueryInterface(DVLCEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DVLCEvents_AddRef(DVLCEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DVLCEvents_Release(DVLCEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DVLCEvents_GetTypeInfoCount(DVLCEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DVLCEvents_GetTypeInfo(DVLCEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT DVLCEvents_GetIDsOfNames(DVLCEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT DVLCEvents_Invoke(DVLCEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#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)
MIDL_INTERFACE("9e0bd17b-2d3c-4656-b94d-03084f3fd9d4")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCAudio, 0x9e0bd17b, 0x2d3c, 0x4656, 0xb9,0x4d, 0x03,0x08,0x4f,0x3f,0xd9,0xd4)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCAudio_QueryInterface(IVLCAudio* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCAudio_AddRef(IVLCAudio* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCAudio_Release(IVLCAudio* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCAudio_GetTypeInfoCount(IVLCAudio* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCAudio_GetTypeInfo(IVLCAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCAudio_GetIDsOfNames(IVLCAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCAudio_Invoke(IVLCAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCAudio methods ***/
static FORCEINLINE HRESULT IVLCAudio_get_mute(IVLCAudio* This,VARIANT_BOOL *muted) {
    return This->lpVtbl->get_mute(This,muted);
}
static FORCEINLINE HRESULT IVLCAudio_put_mute(IVLCAudio* This,VARIANT_BOOL muted) {
    return This->lpVtbl->put_mute(This,muted);
}
static FORCEINLINE HRESULT IVLCAudio_get_volume(IVLCAudio* This,LONG *volume) {
    return This->lpVtbl->get_volume(This,volume);
}
static FORCEINLINE HRESULT IVLCAudio_put_volume(IVLCAudio* This,LONG volume) {
    return This->lpVtbl->put_volume(This,volume);
}
static FORCEINLINE HRESULT IVLCAudio_toggleMute(IVLCAudio* This) {
    return This->lpVtbl->toggleMute(This);
}
static FORCEINLINE HRESULT IVLCAudio_get_track(IVLCAudio* This,LONG *track) {
    return This->lpVtbl->get_track(This,track);
}
static FORCEINLINE HRESULT IVLCAudio_put_track(IVLCAudio* This,LONG track) {
    return This->lpVtbl->put_track(This,track);
}
static FORCEINLINE HRESULT IVLCAudio_get_count(IVLCAudio* This,LONG *trackNumber) {
    return This->lpVtbl->get_count(This,trackNumber);
}
static FORCEINLINE HRESULT IVLCAudio_description(IVLCAudio* This,LONG trackID,BSTR *name) {
    return This->lpVtbl->description(This,trackID,name);
}
static FORCEINLINE HRESULT IVLCAudio_get_channel(IVLCAudio* This,LONG *channel) {
    return This->lpVtbl->get_channel(This,channel);
}
static FORCEINLINE HRESULT IVLCAudio_put_channel(IVLCAudio* This,LONG channel) {
    return This->lpVtbl->put_channel(This,channel);
}
#endif
#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)
MIDL_INTERFACE("49e0dbd1-9440-466c-9c97-95c67190c603")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71,0x90,0xc6,0x03)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCInput_QueryInterface(IVLCInput* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCInput_AddRef(IVLCInput* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCInput_Release(IVLCInput* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCInput_GetTypeInfoCount(IVLCInput* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCInput_GetTypeInfo(IVLCInput* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCInput_GetIDsOfNames(IVLCInput* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCInput_Invoke(IVLCInput* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCInput methods ***/
static FORCEINLINE HRESULT IVLCInput_get_length(IVLCInput* This,double *length) {
    return This->lpVtbl->get_length(This,length);
}
static FORCEINLINE HRESULT IVLCInput_get_position(IVLCInput* This,double *position) {
    return This->lpVtbl->get_position(This,position);
}
static FORCEINLINE HRESULT IVLCInput_put_position(IVLCInput* This,double position) {
    return This->lpVtbl->put_position(This,position);
}
static FORCEINLINE HRESULT IVLCInput_get_time(IVLCInput* This,double *time) {
    return This->lpVtbl->get_time(This,time);
}
static FORCEINLINE HRESULT IVLCInput_put_time(IVLCInput* This,double time) {
    return This->lpVtbl->put_time(This,time);
}
static FORCEINLINE HRESULT IVLCInput_get_state(IVLCInput* This,LONG *state) {
    return This->lpVtbl->get_state(This,state);
}
static FORCEINLINE HRESULT IVLCInput_get_rate(IVLCInput* This,double *rate) {
    return This->lpVtbl->get_rate(This,rate);
}
static FORCEINLINE HRESULT IVLCInput_put_rate(IVLCInput* This,double rate) {
    return This->lpVtbl->put_rate(This,rate);
}
static FORCEINLINE HRESULT IVLCInput_get_fps(IVLCInput* This,double *fps) {
    return This->lpVtbl->get_fps(This,fps);
}
static FORCEINLINE HRESULT IVLCInput_get_hasVout(IVLCInput* This,VARIANT_BOOL *hasVout) {
    return This->lpVtbl->get_hasVout(This,hasVout);
}
#endif
#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)
MIDL_INTERFACE("fd37fe32-82bc-4a25-b056-315f4dbb194d")
IVLCPlaylistItems : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_count(
        LONG *count) = 0;

    virtual HRESULT STDMETHODCALLTYPE clear(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE remove(
        LONG itemId) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCPlaylistItems_QueryInterface(IVLCPlaylistItems* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCPlaylistItems_AddRef(IVLCPlaylistItems* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCPlaylistItems_Release(IVLCPlaylistItems* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCPlaylistItems_GetTypeInfoCount(IVLCPlaylistItems* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCPlaylistItems_GetTypeInfo(IVLCPlaylistItems* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCPlaylistItems_GetIDsOfNames(IVLCPlaylistItems* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCPlaylistItems_Invoke(IVLCPlaylistItems* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCPlaylistItems methods ***/
static FORCEINLINE HRESULT IVLCPlaylistItems_get_count(IVLCPlaylistItems* This,LONG *count) {
    return This->lpVtbl->get_count(This,count);
}
static FORCEINLINE HRESULT IVLCPlaylistItems_clear(IVLCPlaylistItems* This) {
    return This->lpVtbl->clear(This);
}
static FORCEINLINE HRESULT IVLCPlaylistItems_remove(IVLCPlaylistItems* This,LONG itemId) {
    return This->lpVtbl->remove(This,itemId);
}
#endif
#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)
MIDL_INTERFACE("54613049-40bf-4035-9e70-0a9312c0188d")
IVLCPlaylist : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_itemCount(
        LONG *count) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
        VARIANT_BOOL *playing) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_currentItem(
        LONG *index) = 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 pause(
        ) = 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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d)
#endif
#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 *get_currentItem)(
        IVLCPlaylist *This,
        LONG *index);

    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 *pause)(
        IVLCPlaylist *This);

    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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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_get_currentItem(This,index) (This)->lpVtbl->get_currentItem(This,index)
#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_pause(This) (This)->lpVtbl->pause(This)
#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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCPlaylist_QueryInterface(IVLCPlaylist* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCPlaylist_AddRef(IVLCPlaylist* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCPlaylist_Release(IVLCPlaylist* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCPlaylist_GetTypeInfoCount(IVLCPlaylist* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCPlaylist_GetTypeInfo(IVLCPlaylist* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCPlaylist_GetIDsOfNames(IVLCPlaylist* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCPlaylist_Invoke(IVLCPlaylist* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCPlaylist methods ***/
static FORCEINLINE HRESULT IVLCPlaylist_get_itemCount(IVLCPlaylist* This,LONG *count) {
    return This->lpVtbl->get_itemCount(This,count);
}
static FORCEINLINE HRESULT IVLCPlaylist_get_isPlaying(IVLCPlaylist* This,VARIANT_BOOL *playing) {
    return This->lpVtbl->get_isPlaying(This,playing);
}
static FORCEINLINE HRESULT IVLCPlaylist_get_currentItem(IVLCPlaylist* This,LONG *index) {
    return This->lpVtbl->get_currentItem(This,index);
}
static FORCEINLINE HRESULT IVLCPlaylist_add(IVLCPlaylist* This,BSTR uri,VARIANT name,VARIANT options,LONG *itemId) {
    return This->lpVtbl->add(This,uri,name,options,itemId);
}
static FORCEINLINE HRESULT IVLCPlaylist_play(IVLCPlaylist* This) {
    return This->lpVtbl->play(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_playItem(IVLCPlaylist* This,LONG itemId) {
    return This->lpVtbl->playItem(This,itemId);
}
static FORCEINLINE HRESULT IVLCPlaylist_pause(IVLCPlaylist* This) {
    return This->lpVtbl->pause(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_togglePause(IVLCPlaylist* This) {
    return This->lpVtbl->togglePause(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_stop(IVLCPlaylist* This) {
    return This->lpVtbl->stop(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_next(IVLCPlaylist* This) {
    return This->lpVtbl->next(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_prev(IVLCPlaylist* This) {
    return This->lpVtbl->prev(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_clear(IVLCPlaylist* This) {
    return This->lpVtbl->clear(This);
}
static FORCEINLINE HRESULT IVLCPlaylist_removeItem(IVLCPlaylist* This,LONG item) {
    return This->lpVtbl->removeItem(This,item);
}
static FORCEINLINE HRESULT IVLCPlaylist_get_items(IVLCPlaylist* This,IVLCPlaylistItems **obj) {
    return This->lpVtbl->get_items(This,obj);
}
#endif
#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_get_currentItem_Proxy(
    IVLCPlaylist* This,
    LONG *index);
void __RPC_STUB IVLCPlaylist_get_currentItem_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_pause_Proxy(
    IVLCPlaylist* This);
void __RPC_STUB IVLCPlaylist_pause_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)
MIDL_INTERFACE("465e787a-0556-452f-9477-954e4a940003")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCSubtitle, 0x465e787a, 0x0556, 0x452f, 0x94,0x77, 0x95,0x4e,0x4a,0x94,0x00,0x03)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCSubtitle_QueryInterface(IVLCSubtitle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCSubtitle_AddRef(IVLCSubtitle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCSubtitle_Release(IVLCSubtitle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCSubtitle_GetTypeInfoCount(IVLCSubtitle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCSubtitle_GetTypeInfo(IVLCSubtitle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCSubtitle_GetIDsOfNames(IVLCSubtitle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCSubtitle_Invoke(IVLCSubtitle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCSubtitle methods ***/
static FORCEINLINE HRESULT IVLCSubtitle_get_track(IVLCSubtitle* This,LONG *spu) {
    return This->lpVtbl->get_track(This,spu);
}
static FORCEINLINE HRESULT IVLCSubtitle_put_track(IVLCSubtitle* This,LONG spu) {
    return This->lpVtbl->put_track(This,spu);
}
static FORCEINLINE HRESULT IVLCSubtitle_get_count(IVLCSubtitle* This,LONG *spuNumber) {
    return This->lpVtbl->get_count(This,spuNumber);
}
static FORCEINLINE HRESULT IVLCSubtitle_description(IVLCSubtitle* This,LONG nameID,BSTR *name) {
    return This->lpVtbl->description(This,nameID,name);
}
#endif
#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)
MIDL_INTERFACE("8d076ad6-9b6f-4150-a0fd-5d7e8c8cb02c")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCMarquee, 0x8d076ad6, 0x9b6f, 0x4150, 0xa0,0xfd, 0x5d,0x7e,0x8c,0x8c,0xb0,0x2c)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCMarquee_QueryInterface(IVLCMarquee* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCMarquee_AddRef(IVLCMarquee* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCMarquee_Release(IVLCMarquee* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCMarquee_GetTypeInfoCount(IVLCMarquee* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCMarquee_GetTypeInfo(IVLCMarquee* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCMarquee_GetIDsOfNames(IVLCMarquee* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCMarquee_Invoke(IVLCMarquee* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCMarquee methods ***/
static FORCEINLINE HRESULT IVLCMarquee_enable(IVLCMarquee* This) {
    return This->lpVtbl->enable(This);
}
static FORCEINLINE HRESULT IVLCMarquee_disable(IVLCMarquee* This) {
    return This->lpVtbl->disable(This);
}
static FORCEINLINE HRESULT IVLCMarquee_get_text(IVLCMarquee* This,BSTR *val) {
    return This->lpVtbl->get_text(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_text(IVLCMarquee* This,BSTR val) {
    return This->lpVtbl->put_text(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_color(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_color(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_color(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_color(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_opacity(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_opacity(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_opacity(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_opacity(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_position(IVLCMarquee* This,BSTR *val) {
    return This->lpVtbl->get_position(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_position(IVLCMarquee* This,BSTR val) {
    return This->lpVtbl->put_position(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_refresh(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_refresh(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_refresh(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_refresh(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_size(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_size(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_size(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_size(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_timeout(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_timeout(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_timeout(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_timeout(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_x(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_x(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_x(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_x(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_get_y(IVLCMarquee* This,LONG *val) {
    return This->lpVtbl->get_y(This,val);
}
static FORCEINLINE HRESULT IVLCMarquee_put_y(IVLCMarquee* This,LONG val) {
    return This->lpVtbl->put_y(This,val);
}
#endif
#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)
MIDL_INTERFACE("8a4a20c2-93f3-44e8-8644-beb2e3487e84")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCLogo, 0x8a4a20c2, 0x93f3, 0x44e8, 0x86,0x44, 0xbe,0xb2,0xe3,0x48,0x7e,0x84)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCLogo_QueryInterface(IVLCLogo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCLogo_AddRef(IVLCLogo* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCLogo_Release(IVLCLogo* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCLogo_GetTypeInfoCount(IVLCLogo* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCLogo_GetTypeInfo(IVLCLogo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCLogo_GetIDsOfNames(IVLCLogo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCLogo_Invoke(IVLCLogo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCLogo methods ***/
static FORCEINLINE HRESULT IVLCLogo_enable(IVLCLogo* This) {
    return This->lpVtbl->enable(This);
}
static FORCEINLINE HRESULT IVLCLogo_disable(IVLCLogo* This) {
    return This->lpVtbl->disable(This);
}
static FORCEINLINE HRESULT IVLCLogo_file(IVLCLogo* This,BSTR fname) {
    return This->lpVtbl->file(This,fname);
}
static FORCEINLINE HRESULT IVLCLogo_get_delay(IVLCLogo* This,LONG *val) {
    return This->lpVtbl->get_delay(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_delay(IVLCLogo* This,LONG val) {
    return This->lpVtbl->put_delay(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_get_repeat(IVLCLogo* This,LONG *val) {
    return This->lpVtbl->get_repeat(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_repeat(IVLCLogo* This,LONG val) {
    return This->lpVtbl->put_repeat(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_get_opacity(IVLCLogo* This,LONG *val) {
    return This->lpVtbl->get_opacity(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_opacity(IVLCLogo* This,LONG val) {
    return This->lpVtbl->put_opacity(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_get_position(IVLCLogo* This,BSTR *val) {
    return This->lpVtbl->get_position(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_position(IVLCLogo* This,BSTR val) {
    return This->lpVtbl->put_position(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_get_x(IVLCLogo* This,LONG *val) {
    return This->lpVtbl->get_x(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_x(IVLCLogo* This,LONG val) {
    return This->lpVtbl->put_x(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_get_y(IVLCLogo* This,LONG *val) {
    return This->lpVtbl->get_y(This,val);
}
static FORCEINLINE HRESULT IVLCLogo_put_y(IVLCLogo* This,LONG val) {
    return This->lpVtbl->put_y(This,val);
}
#endif
#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)
MIDL_INTERFACE("bc97469f-cb11-4037-8dce-5fc9f5f85307")
IVLCDeinterlace : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE enable(
        BSTR mode) = 0;

    virtual HRESULT STDMETHODCALLTYPE disable(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCDeinterlace, 0xbc97469f, 0xcb11, 0x4037, 0x8d,0xce, 0x5f,0xc9,0xf5,0xf8,0x53,0x07)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCDeinterlace_QueryInterface(IVLCDeinterlace* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCDeinterlace_AddRef(IVLCDeinterlace* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCDeinterlace_Release(IVLCDeinterlace* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCDeinterlace_GetTypeInfoCount(IVLCDeinterlace* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCDeinterlace_GetTypeInfo(IVLCDeinterlace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCDeinterlace_GetIDsOfNames(IVLCDeinterlace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCDeinterlace_Invoke(IVLCDeinterlace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCDeinterlace methods ***/
static FORCEINLINE HRESULT IVLCDeinterlace_enable(IVLCDeinterlace* This,BSTR mode) {
    return This->lpVtbl->enable(This,mode);
}
static FORCEINLINE HRESULT IVLCDeinterlace_disable(IVLCDeinterlace* This) {
    return This->lpVtbl->disable(This);
}
#endif
#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)
MIDL_INTERFACE("0aaedf0b-d333-4b27-a0c6-bbf31413a42e")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCVideo_QueryInterface(IVLCVideo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCVideo_AddRef(IVLCVideo* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCVideo_Release(IVLCVideo* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCVideo_GetTypeInfoCount(IVLCVideo* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCVideo_GetTypeInfo(IVLCVideo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCVideo_GetIDsOfNames(IVLCVideo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCVideo_Invoke(IVLCVideo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCVideo methods ***/
static FORCEINLINE HRESULT IVLCVideo_get_fullscreen(IVLCVideo* This,VARIANT_BOOL *fullscreen) {
    return This->lpVtbl->get_fullscreen(This,fullscreen);
}
static FORCEINLINE HRESULT IVLCVideo_put_fullscreen(IVLCVideo* This,VARIANT_BOOL fullscreen) {
    return This->lpVtbl->put_fullscreen(This,fullscreen);
}
static FORCEINLINE HRESULT IVLCVideo_get_width(IVLCVideo* This,LONG *width) {
    return This->lpVtbl->get_width(This,width);
}
static FORCEINLINE HRESULT IVLCVideo_get_height(IVLCVideo* This,LONG *height) {
    return This->lpVtbl->get_height(This,height);
}
static FORCEINLINE HRESULT IVLCVideo_get_aspectRatio(IVLCVideo* This,BSTR *aspect) {
    return This->lpVtbl->get_aspectRatio(This,aspect);
}
static FORCEINLINE HRESULT IVLCVideo_put_aspectRatio(IVLCVideo* This,BSTR aspect) {
    return This->lpVtbl->put_aspectRatio(This,aspect);
}
static FORCEINLINE HRESULT IVLCVideo_get_subtitle(IVLCVideo* This,LONG *spu) {
    return This->lpVtbl->get_subtitle(This,spu);
}
static FORCEINLINE HRESULT IVLCVideo_put_subtitle(IVLCVideo* This,LONG spu) {
    return This->lpVtbl->put_subtitle(This,spu);
}
static FORCEINLINE HRESULT IVLCVideo_get_crop(IVLCVideo* This,BSTR *geometry) {
    return This->lpVtbl->get_crop(This,geometry);
}
static FORCEINLINE HRESULT IVLCVideo_put_crop(IVLCVideo* This,BSTR geometry) {
    return This->lpVtbl->put_crop(This,geometry);
}
static FORCEINLINE HRESULT IVLCVideo_get_teletext(IVLCVideo* This,LONG *page) {
    return This->lpVtbl->get_teletext(This,page);
}
static FORCEINLINE HRESULT IVLCVideo_put_teletext(IVLCVideo* This,LONG page) {
    return This->lpVtbl->put_teletext(This,page);
}
static FORCEINLINE HRESULT IVLCVideo_toggleFullscreen(IVLCVideo* This) {
    return This->lpVtbl->toggleFullscreen(This);
}
static FORCEINLINE HRESULT IVLCVideo_takeSnapshot(IVLCVideo* This,IPictureDisp **picture) {
    return This->lpVtbl->takeSnapshot(This,picture);
}
static FORCEINLINE HRESULT IVLCVideo_toggleTeletext(IVLCVideo* This) {
    return This->lpVtbl->toggleTeletext(This);
}
static FORCEINLINE HRESULT IVLCVideo_get_marquee(IVLCVideo* This,IVLCMarquee **obj) {
    return This->lpVtbl->get_marquee(This,obj);
}
static FORCEINLINE HRESULT IVLCVideo_get_logo(IVLCVideo* This,IVLCLogo **obj) {
    return This->lpVtbl->get_logo(This,obj);
}
static FORCEINLINE HRESULT IVLCVideo_get_deinterlace(IVLCVideo* This,IVLCDeinterlace **obj) {
    return This->lpVtbl->get_deinterlace(This,obj);
}
#endif
#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__ */

/*****************************************************************************
 * IVLCMediaDescription interface
 */
#ifndef __IVLCMediaDescription_INTERFACE_DEFINED__
#define __IVLCMediaDescription_INTERFACE_DEFINED__

DEFINE_GUID(IID_IVLCMediaDescription, 0x796a2c2d, 0x5b11, 0x4fb5, 0x90,0x77, 0x56,0xd5,0xe6,0x74,0x97,0x2b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("796a2c2d-5b11-4fb5-9077-56d5e674972b")
IVLCMediaDescription : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_title(
        BSTR *val) = 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCMediaDescription, 0x796a2c2d, 0x5b11, 0x4fb5, 0x90,0x77, 0x56,0xd5,0xe6,0x74,0x97,0x2b)
#endif
#else
typedef struct IVLCMediaDescriptionVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

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

    /*** IVLCMediaDescription methods ***/
    HRESULT (STDMETHODCALLTYPE *get_title)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_artist)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_genre)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_copyright)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_album)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_trackNumber)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_description)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_rating)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_date)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_setting)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_URL)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_language)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_nowPlaying)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_publisher)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_encodedBy)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_artworkURL)(
        IVLCMediaDescription *This,
        BSTR *val);

    HRESULT (STDMETHODCALLTYPE *get_trackID)(
        IVLCMediaDescription *This,
        BSTR *val);

    END_INTERFACE
} IVLCMediaDescriptionVtbl;
interface IVLCMediaDescription {
    CONST_VTBL IVLCMediaDescriptionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVLCMediaDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVLCMediaDescription_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVLCMediaDescription_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IVLCMediaDescription_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IVLCMediaDescription_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IVLCMediaDescription_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IVLCMediaDescription_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IVLCMediaDescription methods ***/
#define IVLCMediaDescription_get_title(This,val) (This)->lpVtbl->get_title(This,val)
#define IVLCMediaDescription_get_artist(This,val) (This)->lpVtbl->get_artist(This,val)
#define IVLCMediaDescription_get_genre(This,val) (This)->lpVtbl->get_genre(This,val)
#define IVLCMediaDescription_get_copyright(This,val) (This)->lpVtbl->get_copyright(This,val)
#define IVLCMediaDescription_get_album(This,val) (This)->lpVtbl->get_album(This,val)
#define IVLCMediaDescription_get_trackNumber(This,val) (This)->lpVtbl->get_trackNumber(This,val)
#define IVLCMediaDescription_get_description(This,val) (This)->lpVtbl->get_description(This,val)
#define IVLCMediaDescription_get_rating(This,val) (This)->lpVtbl->get_rating(This,val)
#define IVLCMediaDescription_get_date(This,val) (This)->lpVtbl->get_date(This,val)
#define IVLCMediaDescription_get_setting(This,val) (This)->lpVtbl->get_setting(This,val)
#define IVLCMediaDescription_get_URL(This,val) (This)->lpVtbl->get_URL(This,val)
#define IVLCMediaDescription_get_language(This,val) (This)->lpVtbl->get_language(This,val)
#define IVLCMediaDescription_get_nowPlaying(This,val) (This)->lpVtbl->get_nowPlaying(This,val)
#define IVLCMediaDescription_get_publisher(This,val) (This)->lpVtbl->get_publisher(This,val)
#define IVLCMediaDescription_get_encodedBy(This,val) (This)->lpVtbl->get_encodedBy(This,val)
#define IVLCMediaDescription_get_artworkURL(This,val) (This)->lpVtbl->get_artworkURL(This,val)
#define IVLCMediaDescription_get_trackID(This,val) (This)->lpVtbl->get_trackID(This,val)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCMediaDescription_QueryInterface(IVLCMediaDescription* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCMediaDescription_AddRef(IVLCMediaDescription* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCMediaDescription_Release(IVLCMediaDescription* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCMediaDescription_GetTypeInfoCount(IVLCMediaDescription* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCMediaDescription_GetTypeInfo(IVLCMediaDescription* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCMediaDescription_GetIDsOfNames(IVLCMediaDescription* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCMediaDescription_Invoke(IVLCMediaDescription* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCMediaDescription methods ***/
static FORCEINLINE HRESULT IVLCMediaDescription_get_title(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_title(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_artist(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_artist(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_genre(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_genre(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_copyright(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_copyright(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_album(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_album(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_trackNumber(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_trackNumber(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_description(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_description(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_rating(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_rating(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_date(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_date(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_setting(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_setting(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_URL(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_URL(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_language(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_language(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_nowPlaying(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_nowPlaying(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_publisher(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_publisher(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_encodedBy(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_encodedBy(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_artworkURL(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_artworkURL(This,val);
}
static FORCEINLINE HRESULT IVLCMediaDescription_get_trackID(IVLCMediaDescription* This,BSTR *val) {
    return This->lpVtbl->get_trackID(This,val);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_title_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_title_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_artist_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_artist_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_genre_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_genre_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_copyright_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_copyright_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_album_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_album_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_trackNumber_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_trackNumber_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_description_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_description_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_rating_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_rating_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_date_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_date_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_setting_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_setting_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_URL_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_URL_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_language_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_language_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_nowPlaying_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_nowPlaying_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_publisher_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_publisher_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_encodedBy_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_encodedBy_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_artworkURL_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_artworkURL_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCMediaDescription_get_trackID_Proxy(
    IVLCMediaDescription* This,
    BSTR *val);
void __RPC_STUB IVLCMediaDescription_get_trackID_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IVLCMediaDescription_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)
MIDL_INTERFACE("2d719729-5333-406c-bf12-8de787fd65e3")
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 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;

    virtual HRESULT STDMETHODCALLTYPE get_FullscreenEnabled(
        VARIANT_BOOL *enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_FullscreenEnabled(
        VARIANT_BOOL enabled) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_mediaDescription(
        IVLCMediaDescription **obj) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3)
#endif
#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 *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);

    HRESULT (STDMETHODCALLTYPE *get_FullscreenEnabled)(
        IVLCControl2 *This,
        VARIANT_BOOL *enabled);

    HRESULT (STDMETHODCALLTYPE *put_FullscreenEnabled)(
        IVLCControl2 *This,
        VARIANT_BOOL enabled);

    HRESULT (STDMETHODCALLTYPE *get_mediaDescription)(
        IVLCControl2 *This,
        IVLCMediaDescription **obj);

    END_INTERFACE
} IVLCControl2Vtbl;
interface IVLCControl2 {
    CONST_VTBL IVLCControl2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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_versionInfo(This,version) (This)->lpVtbl->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)
#define IVLCControl2_get_FullscreenEnabled(This,enabled) (This)->lpVtbl->get_FullscreenEnabled(This,enabled)
#define IVLCControl2_put_FullscreenEnabled(This,enabled) (This)->lpVtbl->put_FullscreenEnabled(This,enabled)
#define IVLCControl2_get_mediaDescription(This,obj) (This)->lpVtbl->get_mediaDescription(This,obj)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVLCControl2_QueryInterface(IVLCControl2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVLCControl2_AddRef(IVLCControl2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVLCControl2_Release(IVLCControl2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IVLCControl2_GetTypeInfoCount(IVLCControl2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IVLCControl2_GetTypeInfo(IVLCControl2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IVLCControl2_GetIDsOfNames(IVLCControl2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IVLCControl2_Invoke(IVLCControl2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IVLCControl2 methods ***/
static FORCEINLINE HRESULT IVLCControl2_get_AutoLoop(IVLCControl2* This,VARIANT_BOOL *autoloop) {
    return This->lpVtbl->get_AutoLoop(This,autoloop);
}
static FORCEINLINE HRESULT IVLCControl2_put_AutoLoop(IVLCControl2* This,VARIANT_BOOL autoloop) {
    return This->lpVtbl->put_AutoLoop(This,autoloop);
}
static FORCEINLINE HRESULT IVLCControl2_get_AutoPlay(IVLCControl2* This,VARIANT_BOOL *autoplay) {
    return This->lpVtbl->get_AutoPlay(This,autoplay);
}
static FORCEINLINE HRESULT IVLCControl2_put_AutoPlay(IVLCControl2* This,VARIANT_BOOL autoplay) {
    return This->lpVtbl->put_AutoPlay(This,autoplay);
}
static FORCEINLINE HRESULT IVLCControl2_get_BaseURL(IVLCControl2* This,BSTR *url) {
    return This->lpVtbl->get_BaseURL(This,url);
}
static FORCEINLINE HRESULT IVLCControl2_put_BaseURL(IVLCControl2* This,BSTR url) {
    return This->lpVtbl->put_BaseURL(This,url);
}
static FORCEINLINE HRESULT IVLCControl2_get_StartTime(IVLCControl2* This,LONG *seconds) {
    return This->lpVtbl->get_StartTime(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl2_put_StartTime(IVLCControl2* This,LONG seconds) {
    return This->lpVtbl->put_StartTime(This,seconds);
}
static FORCEINLINE HRESULT IVLCControl2_get_MRL(IVLCControl2* This,BSTR *mrl) {
    return This->lpVtbl->get_MRL(This,mrl);
}
static FORCEINLINE HRESULT IVLCControl2_put_MRL(IVLCControl2* This,BSTR mrl) {
    return This->lpVtbl->put_MRL(This,mrl);
}
static FORCEINLINE HRESULT IVLCControl2_get_VersionInfo(IVLCControl2* This,BSTR *version) {
    return This->lpVtbl->get_VersionInfo(This,version);
}
static FORCEINLINE HRESULT IVLCControl2_versionInfo(IVLCControl2* This,BSTR *version) {
    return This->lpVtbl->versionInfo(This,version);
}
static FORCEINLINE HRESULT IVLCControl2_get_Visible(IVLCControl2* This,VARIANT_BOOL *visible) {
    return This->lpVtbl->get_Visible(This,visible);
}
static FORCEINLINE HRESULT IVLCControl2_put_Visible(IVLCControl2* This,VARIANT_BOOL visible) {
    return This->lpVtbl->put_Visible(This,visible);
}
static FORCEINLINE HRESULT IVLCControl2_get_Volume(IVLCControl2* This,LONG *volume) {
    return This->lpVtbl->get_Volume(This,volume);
}
static FORCEINLINE HRESULT IVLCControl2_put_Volume(IVLCControl2* This,LONG volume) {
    return This->lpVtbl->put_Volume(This,volume);
}
static FORCEINLINE HRESULT IVLCControl2_get_BackColor(IVLCControl2* This,OLE_COLOR *backcolor) {
    return This->lpVtbl->get_BackColor(This,backcolor);
}
static FORCEINLINE HRESULT IVLCControl2_put_BackColor(IVLCControl2* This,OLE_COLOR backcolor) {
    return This->lpVtbl->put_BackColor(This,backcolor);
}
static FORCEINLINE HRESULT IVLCControl2_get_Toolbar(IVLCControl2* This,VARIANT_BOOL *visible) {
    return This->lpVtbl->get_Toolbar(This,visible);
}
static FORCEINLINE HRESULT IVLCControl2_put_Toolbar(IVLCControl2* This,VARIANT_BOOL visible) {
    return This->lpVtbl->put_Toolbar(This,visible);
}
static FORCEINLINE HRESULT IVLCControl2_get_audio(IVLCControl2* This,IVLCAudio **obj) {
    return This->lpVtbl->get_audio(This,obj);
}
static FORCEINLINE HRESULT IVLCControl2_get_input(IVLCControl2* This,IVLCInput **obj) {
    return This->lpVtbl->get_input(This,obj);
}
static FORCEINLINE HRESULT IVLCControl2_get_playlist(IVLCControl2* This,IVLCPlaylist **obj) {
    return This->lpVtbl->get_playlist(This,obj);
}
static FORCEINLINE HRESULT IVLCControl2_get_subtitle(IVLCControl2* This,IVLCSubtitle **obj) {
    return This->lpVtbl->get_subtitle(This,obj);
}
static FORCEINLINE HRESULT IVLCControl2_get_video(IVLCControl2* This,IVLCVideo **obj) {
    return This->lpVtbl->get_video(This,obj);
}
static FORCEINLINE HRESULT IVLCControl2_get_FullscreenEnabled(IVLCControl2* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->get_FullscreenEnabled(This,enabled);
}
static FORCEINLINE HRESULT IVLCControl2_put_FullscreenEnabled(IVLCControl2* This,VARIANT_BOOL enabled) {
    return This->lpVtbl->put_FullscreenEnabled(This,enabled);
}
static FORCEINLINE HRESULT IVLCControl2_get_mediaDescription(IVLCControl2* This,IVLCMediaDescription **obj) {
    return This->lpVtbl->get_mediaDescription(This,obj);
}
#endif
#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_versionInfo_Proxy(
    IVLCControl2* This,
    BSTR *version);
void __RPC_STUB IVLCControl2_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);
HRESULT STDMETHODCALLTYPE IVLCControl2_get_FullscreenEnabled_Proxy(
    IVLCControl2* This,
    VARIANT_BOOL *enabled);
void __RPC_STUB IVLCControl2_get_FullscreenEnabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCControl2_put_FullscreenEnabled_Proxy(
    IVLCControl2* This,
    VARIANT_BOOL enabled);
void __RPC_STUB IVLCControl2_put_FullscreenEnabled_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVLCControl2_get_mediaDescription_Proxy(
    IVLCControl2* This,
    IVLCMediaDescription **obj);
void __RPC_STUB IVLCControl2_get_mediaDescription_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);

#ifdef __cplusplus
class DECLSPEC_UUID("e23fe9c6-778e-49d4-b537-38fcde4887d8") VLCPlugin;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8)
#endif
#endif

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

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

#ifdef __cplusplus
class DECLSPEC_UUID("9be31822-fdad-461b-ad51-be1d1c159921") VLCPlugin2;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21)
#endif
#endif

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