Click here to Skip to main content
15,885,278 members
Articles / Desktop Programming / MFC

Using screensavers inside the Windows Media Player

Rate me:
Please Sign up or sign in to vote.
4.94/5 (12 votes)
15 Jul 2011CPOL1 min read 107.9K   3.1K   53  
Wrapping a screensaver inside a WMP visualization plug-in.

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0365 */
/* Compiler settings for wmp.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __wmp_h__
#define __wmp_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IWMPErrorItem_FWD_DEFINED__
#define __IWMPErrorItem_FWD_DEFINED__
typedef interface IWMPErrorItem IWMPErrorItem;
#endif 	/* __IWMPErrorItem_FWD_DEFINED__ */


#ifndef __IWMPError_FWD_DEFINED__
#define __IWMPError_FWD_DEFINED__
typedef interface IWMPError IWMPError;
#endif 	/* __IWMPError_FWD_DEFINED__ */


#ifndef __IWMPMedia_FWD_DEFINED__
#define __IWMPMedia_FWD_DEFINED__
typedef interface IWMPMedia IWMPMedia;
#endif 	/* __IWMPMedia_FWD_DEFINED__ */


#ifndef __IWMPControls_FWD_DEFINED__
#define __IWMPControls_FWD_DEFINED__
typedef interface IWMPControls IWMPControls;
#endif 	/* __IWMPControls_FWD_DEFINED__ */


#ifndef __IWMPSettings_FWD_DEFINED__
#define __IWMPSettings_FWD_DEFINED__
typedef interface IWMPSettings IWMPSettings;
#endif 	/* __IWMPSettings_FWD_DEFINED__ */


#ifndef __IWMPClosedCaption_FWD_DEFINED__
#define __IWMPClosedCaption_FWD_DEFINED__
typedef interface IWMPClosedCaption IWMPClosedCaption;
#endif 	/* __IWMPClosedCaption_FWD_DEFINED__ */


#ifndef __IWMPPlaylist_FWD_DEFINED__
#define __IWMPPlaylist_FWD_DEFINED__
typedef interface IWMPPlaylist IWMPPlaylist;
#endif 	/* __IWMPPlaylist_FWD_DEFINED__ */


#ifndef __IWMPCdrom_FWD_DEFINED__
#define __IWMPCdrom_FWD_DEFINED__
typedef interface IWMPCdrom IWMPCdrom;
#endif 	/* __IWMPCdrom_FWD_DEFINED__ */


#ifndef __IWMPCdromCollection_FWD_DEFINED__
#define __IWMPCdromCollection_FWD_DEFINED__
typedef interface IWMPCdromCollection IWMPCdromCollection;
#endif 	/* __IWMPCdromCollection_FWD_DEFINED__ */


#ifndef __IWMPStringCollection_FWD_DEFINED__
#define __IWMPStringCollection_FWD_DEFINED__
typedef interface IWMPStringCollection IWMPStringCollection;
#endif 	/* __IWMPStringCollection_FWD_DEFINED__ */


#ifndef __IWMPMediaCollection_FWD_DEFINED__
#define __IWMPMediaCollection_FWD_DEFINED__
typedef interface IWMPMediaCollection IWMPMediaCollection;
#endif 	/* __IWMPMediaCollection_FWD_DEFINED__ */


#ifndef __IWMPPlaylistArray_FWD_DEFINED__
#define __IWMPPlaylistArray_FWD_DEFINED__
typedef interface IWMPPlaylistArray IWMPPlaylistArray;
#endif 	/* __IWMPPlaylistArray_FWD_DEFINED__ */


#ifndef __IWMPPlaylistCollection_FWD_DEFINED__
#define __IWMPPlaylistCollection_FWD_DEFINED__
typedef interface IWMPPlaylistCollection IWMPPlaylistCollection;
#endif 	/* __IWMPPlaylistCollection_FWD_DEFINED__ */


#ifndef __IWMPNetwork_FWD_DEFINED__
#define __IWMPNetwork_FWD_DEFINED__
typedef interface IWMPNetwork IWMPNetwork;
#endif 	/* __IWMPNetwork_FWD_DEFINED__ */


#ifndef __IWMPCore_FWD_DEFINED__
#define __IWMPCore_FWD_DEFINED__
typedef interface IWMPCore IWMPCore;
#endif 	/* __IWMPCore_FWD_DEFINED__ */


#ifndef __IWMPPlayer_FWD_DEFINED__
#define __IWMPPlayer_FWD_DEFINED__
typedef interface IWMPPlayer IWMPPlayer;
#endif 	/* __IWMPPlayer_FWD_DEFINED__ */


#ifndef __IWMPPlayer2_FWD_DEFINED__
#define __IWMPPlayer2_FWD_DEFINED__
typedef interface IWMPPlayer2 IWMPPlayer2;
#endif 	/* __IWMPPlayer2_FWD_DEFINED__ */


#ifndef __IWMPMedia2_FWD_DEFINED__
#define __IWMPMedia2_FWD_DEFINED__
typedef interface IWMPMedia2 IWMPMedia2;
#endif 	/* __IWMPMedia2_FWD_DEFINED__ */


#ifndef __IWMPControls2_FWD_DEFINED__
#define __IWMPControls2_FWD_DEFINED__
typedef interface IWMPControls2 IWMPControls2;
#endif 	/* __IWMPControls2_FWD_DEFINED__ */


#ifndef __IWMPDVD_FWD_DEFINED__
#define __IWMPDVD_FWD_DEFINED__
typedef interface IWMPDVD IWMPDVD;
#endif 	/* __IWMPDVD_FWD_DEFINED__ */


#ifndef __IWMPCore2_FWD_DEFINED__
#define __IWMPCore2_FWD_DEFINED__
typedef interface IWMPCore2 IWMPCore2;
#endif 	/* __IWMPCore2_FWD_DEFINED__ */


#ifndef __IWMPPlayer3_FWD_DEFINED__
#define __IWMPPlayer3_FWD_DEFINED__
typedef interface IWMPPlayer3 IWMPPlayer3;
#endif 	/* __IWMPPlayer3_FWD_DEFINED__ */


#ifndef __IWMPErrorItem2_FWD_DEFINED__
#define __IWMPErrorItem2_FWD_DEFINED__
typedef interface IWMPErrorItem2 IWMPErrorItem2;
#endif 	/* __IWMPErrorItem2_FWD_DEFINED__ */


#ifndef __IWMPRemoteMediaServices_FWD_DEFINED__
#define __IWMPRemoteMediaServices_FWD_DEFINED__
typedef interface IWMPRemoteMediaServices IWMPRemoteMediaServices;
#endif 	/* __IWMPRemoteMediaServices_FWD_DEFINED__ */


#ifndef __IWMPSkinManager_FWD_DEFINED__
#define __IWMPSkinManager_FWD_DEFINED__
typedef interface IWMPSkinManager IWMPSkinManager;
#endif 	/* __IWMPSkinManager_FWD_DEFINED__ */


#ifndef __IWMPMetadataPicture_FWD_DEFINED__
#define __IWMPMetadataPicture_FWD_DEFINED__
typedef interface IWMPMetadataPicture IWMPMetadataPicture;
#endif 	/* __IWMPMetadataPicture_FWD_DEFINED__ */


#ifndef __IWMPMetadataText_FWD_DEFINED__
#define __IWMPMetadataText_FWD_DEFINED__
typedef interface IWMPMetadataText IWMPMetadataText;
#endif 	/* __IWMPMetadataText_FWD_DEFINED__ */


#ifndef __IWMPMedia3_FWD_DEFINED__
#define __IWMPMedia3_FWD_DEFINED__
typedef interface IWMPMedia3 IWMPMedia3;
#endif 	/* __IWMPMedia3_FWD_DEFINED__ */


#ifndef __IWMPSettings2_FWD_DEFINED__
#define __IWMPSettings2_FWD_DEFINED__
typedef interface IWMPSettings2 IWMPSettings2;
#endif 	/* __IWMPSettings2_FWD_DEFINED__ */


#ifndef __IWMPControls3_FWD_DEFINED__
#define __IWMPControls3_FWD_DEFINED__
typedef interface IWMPControls3 IWMPControls3;
#endif 	/* __IWMPControls3_FWD_DEFINED__ */


#ifndef __IWMPClosedCaption2_FWD_DEFINED__
#define __IWMPClosedCaption2_FWD_DEFINED__
typedef interface IWMPClosedCaption2 IWMPClosedCaption2;
#endif 	/* __IWMPClosedCaption2_FWD_DEFINED__ */


#ifndef __IWMPPlayerApplication_FWD_DEFINED__
#define __IWMPPlayerApplication_FWD_DEFINED__
typedef interface IWMPPlayerApplication IWMPPlayerApplication;
#endif 	/* __IWMPPlayerApplication_FWD_DEFINED__ */


#ifndef __IWMPCore3_FWD_DEFINED__
#define __IWMPCore3_FWD_DEFINED__
typedef interface IWMPCore3 IWMPCore3;
#endif 	/* __IWMPCore3_FWD_DEFINED__ */


#ifndef __IWMPPlayer4_FWD_DEFINED__
#define __IWMPPlayer4_FWD_DEFINED__
typedef interface IWMPPlayer4 IWMPPlayer4;
#endif 	/* __IWMPPlayer4_FWD_DEFINED__ */


#ifndef __IWMPPlayerServices_FWD_DEFINED__
#define __IWMPPlayerServices_FWD_DEFINED__
typedef interface IWMPPlayerServices IWMPPlayerServices;
#endif 	/* __IWMPPlayerServices_FWD_DEFINED__ */


#ifndef __IWMPSyncDevice_FWD_DEFINED__
#define __IWMPSyncDevice_FWD_DEFINED__
typedef interface IWMPSyncDevice IWMPSyncDevice;
#endif 	/* __IWMPSyncDevice_FWD_DEFINED__ */


#ifndef __IWMPSyncServices_FWD_DEFINED__
#define __IWMPSyncServices_FWD_DEFINED__
typedef interface IWMPSyncServices IWMPSyncServices;
#endif 	/* __IWMPSyncServices_FWD_DEFINED__ */


#ifndef __IWMPPlayerServices2_FWD_DEFINED__
#define __IWMPPlayerServices2_FWD_DEFINED__
typedef interface IWMPPlayerServices2 IWMPPlayerServices2;
#endif 	/* __IWMPPlayerServices2_FWD_DEFINED__ */


#ifndef __IWMPEvents_FWD_DEFINED__
#define __IWMPEvents_FWD_DEFINED__
typedef interface IWMPEvents IWMPEvents;
#endif 	/* __IWMPEvents_FWD_DEFINED__ */


#ifndef __IWMPEvents2_FWD_DEFINED__
#define __IWMPEvents2_FWD_DEFINED__
typedef interface IWMPEvents2 IWMPEvents2;
#endif 	/* __IWMPEvents2_FWD_DEFINED__ */


#ifndef ___WMPOCXEvents_FWD_DEFINED__
#define ___WMPOCXEvents_FWD_DEFINED__
typedef interface _WMPOCXEvents _WMPOCXEvents;
#endif 	/* ___WMPOCXEvents_FWD_DEFINED__ */


#ifndef __WindowsMediaPlayer_FWD_DEFINED__
#define __WindowsMediaPlayer_FWD_DEFINED__

#ifdef __cplusplus
typedef class WindowsMediaPlayer WindowsMediaPlayer;
#else
typedef struct WindowsMediaPlayer WindowsMediaPlayer;
#endif /* __cplusplus */

#endif 	/* __WindowsMediaPlayer_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_wmp_0000 */
/* [local] */ 

//=========================================================================
//
// Microsoft Windows Media Technologies
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//=========================================================================
typedef /* [public][helpstring] */ 
enum WMPOpenState
    {	wmposUndefined	= 0,
	wmposPlaylistChanging	= wmposUndefined + 1,
	wmposPlaylistLocating	= wmposPlaylistChanging + 1,
	wmposPlaylistConnecting	= wmposPlaylistLocating + 1,
	wmposPlaylistLoading	= wmposPlaylistConnecting + 1,
	wmposPlaylistOpening	= wmposPlaylistLoading + 1,
	wmposPlaylistOpenNoMedia	= wmposPlaylistOpening + 1,
	wmposPlaylistChanged	= wmposPlaylistOpenNoMedia + 1,
	wmposMediaChanging	= wmposPlaylistChanged + 1,
	wmposMediaLocating	= wmposMediaChanging + 1,
	wmposMediaConnecting	= wmposMediaLocating + 1,
	wmposMediaLoading	= wmposMediaConnecting + 1,
	wmposMediaOpening	= wmposMediaLoading + 1,
	wmposMediaOpen	= wmposMediaOpening + 1,
	wmposBeginCodecAcquisition	= wmposMediaOpen + 1,
	wmposEndCodecAcquisition	= wmposBeginCodecAcquisition + 1,
	wmposBeginLicenseAcquisition	= wmposEndCodecAcquisition + 1,
	wmposEndLicenseAcquisition	= wmposBeginLicenseAcquisition + 1,
	wmposBeginIndividualization	= wmposEndLicenseAcquisition + 1,
	wmposEndIndividualization	= wmposBeginIndividualization + 1,
	wmposMediaWaiting	= wmposEndIndividualization + 1,
	wmposOpeningUnknownURL	= wmposMediaWaiting + 1
    } 	WMPOpenState;

typedef /* [public][helpstring] */ 
enum WMPPlayState
    {	wmppsUndefined	= 0,
	wmppsStopped	= wmppsUndefined + 1,
	wmppsPaused	= wmppsStopped + 1,
	wmppsPlaying	= wmppsPaused + 1,
	wmppsScanForward	= wmppsPlaying + 1,
	wmppsScanReverse	= wmppsScanForward + 1,
	wmppsBuffering	= wmppsScanReverse + 1,
	wmppsWaiting	= wmppsBuffering + 1,
	wmppsMediaEnded	= wmppsWaiting + 1,
	wmppsTransitioning	= wmppsMediaEnded + 1,
	wmppsReady	= wmppsTransitioning + 1,
	wmppsReconnecting	= wmppsReady + 1,
	wmppsLast	= wmppsReconnecting + 1
    } 	WMPPlayState;

typedef /* [public][helpstring] */ 
enum WMPPlaylistChangeEventType
    {	wmplcUnknown	= 0,
	wmplcClear	= wmplcUnknown + 1,
	wmplcInfoChange	= wmplcClear + 1,
	wmplcMove	= wmplcInfoChange + 1,
	wmplcDelete	= wmplcMove + 1,
	wmplcInsert	= wmplcDelete + 1,
	wmplcAppend	= wmplcInsert + 1,
	wmplcPrivate	= wmplcAppend + 1,
	wmplcNameChange	= wmplcPrivate + 1,
	wmplcMorph	= wmplcNameChange + 1,
	wmplcSort	= wmplcMorph + 1,
	wmplcLast	= wmplcSort + 1
    } 	WMPPlaylistChangeEventType;




extern RPC_IF_HANDLE __MIDL_itf_wmp_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmp_0000_v0_0_s_ifspec;

#ifndef __IWMPErrorItem_INTERFACE_DEFINED__
#define __IWMPErrorItem_INTERFACE_DEFINED__

/* interface IWMPErrorItem */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPErrorItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3614C646-3B3B-4de7-A81E-930E3F2127B3")
    IWMPErrorItem : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_errorCode( 
            /* [retval][out] */ long *phr) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_errorDescription( 
            /* [retval][out] */ BSTR *pbstrDescription) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_errorContext( 
            /* [retval][out] */ VARIANT *pvarContext) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_remedy( 
            /* [retval][out] */ long *plRemedy) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_customUrl( 
            /* [retval][out] */ BSTR *pbstrCustomUrl) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPErrorItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPErrorItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPErrorItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPErrorItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPErrorItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPErrorItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPErrorItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPErrorItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 
            IWMPErrorItem * This,
            /* [retval][out] */ long *phr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorDescription )( 
            IWMPErrorItem * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorContext )( 
            IWMPErrorItem * This,
            /* [retval][out] */ VARIANT *pvarContext);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_remedy )( 
            IWMPErrorItem * This,
            /* [retval][out] */ long *plRemedy);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_customUrl )( 
            IWMPErrorItem * This,
            /* [retval][out] */ BSTR *pbstrCustomUrl);
        
        END_INTERFACE
    } IWMPErrorItemVtbl;

    interface IWMPErrorItem
    {
        CONST_VTBL struct IWMPErrorItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPErrorItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPErrorItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPErrorItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPErrorItem_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPErrorItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPErrorItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPErrorItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPErrorItem_get_errorCode(This,phr)	\
    (This)->lpVtbl -> get_errorCode(This,phr)

#define IWMPErrorItem_get_errorDescription(This,pbstrDescription)	\
    (This)->lpVtbl -> get_errorDescription(This,pbstrDescription)

#define IWMPErrorItem_get_errorContext(This,pvarContext)	\
    (This)->lpVtbl -> get_errorContext(This,pvarContext)

#define IWMPErrorItem_get_remedy(This,plRemedy)	\
    (This)->lpVtbl -> get_remedy(This,plRemedy)

#define IWMPErrorItem_get_customUrl(This,pbstrCustomUrl)	\
    (This)->lpVtbl -> get_customUrl(This,pbstrCustomUrl)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem_get_errorCode_Proxy( 
    IWMPErrorItem * This,
    /* [retval][out] */ long *phr);


void __RPC_STUB IWMPErrorItem_get_errorCode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem_get_errorDescription_Proxy( 
    IWMPErrorItem * This,
    /* [retval][out] */ BSTR *pbstrDescription);


void __RPC_STUB IWMPErrorItem_get_errorDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem_get_errorContext_Proxy( 
    IWMPErrorItem * This,
    /* [retval][out] */ VARIANT *pvarContext);


void __RPC_STUB IWMPErrorItem_get_errorContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem_get_remedy_Proxy( 
    IWMPErrorItem * This,
    /* [retval][out] */ long *plRemedy);


void __RPC_STUB IWMPErrorItem_get_remedy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem_get_customUrl_Proxy( 
    IWMPErrorItem * This,
    /* [retval][out] */ BSTR *pbstrCustomUrl);


void __RPC_STUB IWMPErrorItem_get_customUrl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPErrorItem_INTERFACE_DEFINED__ */


#ifndef __IWMPError_INTERFACE_DEFINED__
#define __IWMPError_INTERFACE_DEFINED__

/* interface IWMPError */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPError;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A12DCF7D-14AB-4c1b-A8CD-63909F06025B")
    IWMPError : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE clearErrorQueue( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_errorCount( 
            /* [retval][out] */ long *plNumErrors) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item( 
            /* [in] */ long dwIndex,
            /* [retval][out] */ IWMPErrorItem **ppErrorItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE webHelp( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPError * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPError * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPError * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPError * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *clearErrorQueue )( 
            IWMPError * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorCount )( 
            IWMPError * This,
            /* [retval][out] */ long *plNumErrors);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )( 
            IWMPError * This,
            /* [in] */ long dwIndex,
            /* [retval][out] */ IWMPErrorItem **ppErrorItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *webHelp )( 
            IWMPError * This);
        
        END_INTERFACE
    } IWMPErrorVtbl;

    interface IWMPError
    {
        CONST_VTBL struct IWMPErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPError_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPError_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPError_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPError_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPError_clearErrorQueue(This)	\
    (This)->lpVtbl -> clearErrorQueue(This)

#define IWMPError_get_errorCount(This,plNumErrors)	\
    (This)->lpVtbl -> get_errorCount(This,plNumErrors)

#define IWMPError_get_item(This,dwIndex,ppErrorItem)	\
    (This)->lpVtbl -> get_item(This,dwIndex,ppErrorItem)

#define IWMPError_webHelp(This)	\
    (This)->lpVtbl -> webHelp(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPError_clearErrorQueue_Proxy( 
    IWMPError * This);


void __RPC_STUB IWMPError_clearErrorQueue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPError_get_errorCount_Proxy( 
    IWMPError * This,
    /* [retval][out] */ long *plNumErrors);


void __RPC_STUB IWMPError_get_errorCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPError_get_item_Proxy( 
    IWMPError * This,
    /* [in] */ long dwIndex,
    /* [retval][out] */ IWMPErrorItem **ppErrorItem);


void __RPC_STUB IWMPError_get_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPError_webHelp_Proxy( 
    IWMPError * This);


void __RPC_STUB IWMPError_webHelp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPError_INTERFACE_DEFINED__ */


#ifndef __IWMPMedia_INTERFACE_DEFINED__
#define __IWMPMedia_INTERFACE_DEFINED__

/* interface IWMPMedia */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMedia;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94D55E95-3FAC-11d3-B155-00C04F79FAA6")
    IWMPMedia : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isIdentical( 
            /* [in] */ IWMPMedia *pIWMPMedia,
            /* [retval][out] */ VARIANT_BOOL *pvbool) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_sourceURL( 
            /* [retval][out] */ BSTR *pbstrSourceURL) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_imageSourceWidth( 
            /* [retval][out] */ long *pWidth) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_imageSourceHeight( 
            /* [retval][out] */ long *pHeight) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_markerCount( 
            /* [retval][out] */ long *pMarkerCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getMarkerTime( 
            /* [in] */ long MarkerNum,
            /* [retval][out] */ double *pMarkerTime) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getMarkerName( 
            /* [in] */ long MarkerNum,
            /* [retval][out] */ BSTR *pbstrMarkerName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_duration( 
            /* [retval][out] */ double *pDuration) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_durationString( 
            /* [retval][out] */ BSTR *pbstrDuration) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_attributeCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAttributeName( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getItemInfo( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setItemInfo( 
            /* [in] */ BSTR bstrItemName,
            /* [in] */ BSTR bstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getItemInfoByAtom( 
            /* [in] */ long lAtom,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE isMemberOf( 
            /* [in] */ IWMPPlaylist *pPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsMemberOf) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE isReadOnlyItem( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsReadOnly) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMediaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMedia * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMedia * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMedia * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMedia * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMedia * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMedia * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMedia * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isIdentical )( 
            IWMPMedia * This,
            /* [in] */ IWMPMedia *pIWMPMedia,
            /* [retval][out] */ VARIANT_BOOL *pvbool);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_sourceURL )( 
            IWMPMedia * This,
            /* [retval][out] */ BSTR *pbstrSourceURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IWMPMedia * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            IWMPMedia * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceWidth )( 
            IWMPMedia * This,
            /* [retval][out] */ long *pWidth);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceHeight )( 
            IWMPMedia * This,
            /* [retval][out] */ long *pHeight);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_markerCount )( 
            IWMPMedia * This,
            /* [retval][out] */ long *pMarkerCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerTime )( 
            IWMPMedia * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ double *pMarkerTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerName )( 
            IWMPMedia * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ BSTR *pbstrMarkerName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_duration )( 
            IWMPMedia * This,
            /* [retval][out] */ double *pDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_durationString )( 
            IWMPMedia * This,
            /* [retval][out] */ BSTR *pbstrDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IWMPMedia * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeName )( 
            IWMPMedia * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IWMPMedia * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setItemInfo )( 
            IWMPMedia * This,
            /* [in] */ BSTR bstrItemName,
            /* [in] */ BSTR bstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfoByAtom )( 
            IWMPMedia * This,
            /* [in] */ long lAtom,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isMemberOf )( 
            IWMPMedia * This,
            /* [in] */ IWMPPlaylist *pPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsMemberOf);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isReadOnlyItem )( 
            IWMPMedia * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsReadOnly);
        
        END_INTERFACE
    } IWMPMediaVtbl;

    interface IWMPMedia
    {
        CONST_VTBL struct IWMPMediaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMedia_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMedia_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMedia_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMedia_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMedia_get_isIdentical(This,pIWMPMedia,pvbool)	\
    (This)->lpVtbl -> get_isIdentical(This,pIWMPMedia,pvbool)

#define IWMPMedia_get_sourceURL(This,pbstrSourceURL)	\
    (This)->lpVtbl -> get_sourceURL(This,pbstrSourceURL)

#define IWMPMedia_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IWMPMedia_put_name(This,bstrName)	\
    (This)->lpVtbl -> put_name(This,bstrName)

#define IWMPMedia_get_imageSourceWidth(This,pWidth)	\
    (This)->lpVtbl -> get_imageSourceWidth(This,pWidth)

#define IWMPMedia_get_imageSourceHeight(This,pHeight)	\
    (This)->lpVtbl -> get_imageSourceHeight(This,pHeight)

#define IWMPMedia_get_markerCount(This,pMarkerCount)	\
    (This)->lpVtbl -> get_markerCount(This,pMarkerCount)

#define IWMPMedia_getMarkerTime(This,MarkerNum,pMarkerTime)	\
    (This)->lpVtbl -> getMarkerTime(This,MarkerNum,pMarkerTime)

#define IWMPMedia_getMarkerName(This,MarkerNum,pbstrMarkerName)	\
    (This)->lpVtbl -> getMarkerName(This,MarkerNum,pbstrMarkerName)

#define IWMPMedia_get_duration(This,pDuration)	\
    (This)->lpVtbl -> get_duration(This,pDuration)

#define IWMPMedia_get_durationString(This,pbstrDuration)	\
    (This)->lpVtbl -> get_durationString(This,pbstrDuration)

#define IWMPMedia_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IWMPMedia_getAttributeName(This,lIndex,pbstrItemName)	\
    (This)->lpVtbl -> getAttributeName(This,lIndex,pbstrItemName)

#define IWMPMedia_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#define IWMPMedia_setItemInfo(This,bstrItemName,bstrVal)	\
    (This)->lpVtbl -> setItemInfo(This,bstrItemName,bstrVal)

#define IWMPMedia_getItemInfoByAtom(This,lAtom,pbstrVal)	\
    (This)->lpVtbl -> getItemInfoByAtom(This,lAtom,pbstrVal)

#define IWMPMedia_isMemberOf(This,pPlaylist,pvarfIsMemberOf)	\
    (This)->lpVtbl -> isMemberOf(This,pPlaylist,pvarfIsMemberOf)

#define IWMPMedia_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)	\
    (This)->lpVtbl -> isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_isIdentical_Proxy( 
    IWMPMedia * This,
    /* [in] */ IWMPMedia *pIWMPMedia,
    /* [retval][out] */ VARIANT_BOOL *pvbool);


void __RPC_STUB IWMPMedia_get_isIdentical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_sourceURL_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ BSTR *pbstrSourceURL);


void __RPC_STUB IWMPMedia_get_sourceURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_name_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPMedia_get_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_put_name_Proxy( 
    IWMPMedia * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IWMPMedia_put_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_imageSourceWidth_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ long *pWidth);


void __RPC_STUB IWMPMedia_get_imageSourceWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_imageSourceHeight_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ long *pHeight);


void __RPC_STUB IWMPMedia_get_imageSourceHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_markerCount_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ long *pMarkerCount);


void __RPC_STUB IWMPMedia_get_markerCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_getMarkerTime_Proxy( 
    IWMPMedia * This,
    /* [in] */ long MarkerNum,
    /* [retval][out] */ double *pMarkerTime);


void __RPC_STUB IWMPMedia_getMarkerTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_getMarkerName_Proxy( 
    IWMPMedia * This,
    /* [in] */ long MarkerNum,
    /* [retval][out] */ BSTR *pbstrMarkerName);


void __RPC_STUB IWMPMedia_getMarkerName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_duration_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ double *pDuration);


void __RPC_STUB IWMPMedia_get_duration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_durationString_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ BSTR *pbstrDuration);


void __RPC_STUB IWMPMedia_get_durationString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_get_attributeCount_Proxy( 
    IWMPMedia * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPMedia_get_attributeCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_getAttributeName_Proxy( 
    IWMPMedia * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrItemName);


void __RPC_STUB IWMPMedia_getAttributeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_getItemInfo_Proxy( 
    IWMPMedia * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IWMPMedia_getItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_setItemInfo_Proxy( 
    IWMPMedia * This,
    /* [in] */ BSTR bstrItemName,
    /* [in] */ BSTR bstrVal);


void __RPC_STUB IWMPMedia_setItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_getItemInfoByAtom_Proxy( 
    IWMPMedia * This,
    /* [in] */ long lAtom,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IWMPMedia_getItemInfoByAtom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_isMemberOf_Proxy( 
    IWMPMedia * This,
    /* [in] */ IWMPPlaylist *pPlaylist,
    /* [retval][out] */ VARIANT_BOOL *pvarfIsMemberOf);


void __RPC_STUB IWMPMedia_isMemberOf_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia_isReadOnlyItem_Proxy( 
    IWMPMedia * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ VARIANT_BOOL *pvarfIsReadOnly);


void __RPC_STUB IWMPMedia_isReadOnlyItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMedia_INTERFACE_DEFINED__ */


#ifndef __IWMPControls_INTERFACE_DEFINED__
#define __IWMPControls_INTERFACE_DEFINED__

/* interface IWMPControls */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPControls;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74C09E02-F828-11d2-A74B-00A0C905F36E")
    IWMPControls : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isAvailable( 
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE play( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE pause( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE fastForward( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE fastReverse( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentPosition( 
            /* [retval][out] */ double *pdCurrentPosition) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentPosition( 
            /* [in] */ double dCurrentPosition) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentPositionString( 
            /* [retval][out] */ BSTR *pbstrCurrentPosition) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE next( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE previous( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentItem( 
            /* [retval][out] */ IWMPMedia **ppIWMPMedia) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_currentItem( 
            /* [in] */ IWMPMedia *pIWMPMedia) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentMarker( 
            /* [retval][out] */ long *plMarker) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentMarker( 
            /* [in] */ long lMarker) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE playItem( 
            /* [in] */ IWMPMedia *pIWMPMedia) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPControlsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPControls * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPControls * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPControls * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPControls * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPControls * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPControls * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPControls * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPControls * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *play )( 
            IWMPControls * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *stop )( 
            IWMPControls * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *pause )( 
            IWMPControls * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastForward )( 
            IWMPControls * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastReverse )( 
            IWMPControls * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPosition )( 
            IWMPControls * This,
            /* [retval][out] */ double *pdCurrentPosition);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPosition )( 
            IWMPControls * This,
            /* [in] */ double dCurrentPosition);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPositionString )( 
            IWMPControls * This,
            /* [retval][out] */ BSTR *pbstrCurrentPosition);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *next )( 
            IWMPControls * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *previous )( 
            IWMPControls * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentItem )( 
            IWMPControls * This,
            /* [retval][out] */ IWMPMedia **ppIWMPMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentItem )( 
            IWMPControls * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMarker )( 
            IWMPControls * This,
            /* [retval][out] */ long *plMarker);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMarker )( 
            IWMPControls * This,
            /* [in] */ long lMarker);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *playItem )( 
            IWMPControls * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        END_INTERFACE
    } IWMPControlsVtbl;

    interface IWMPControls
    {
        CONST_VTBL struct IWMPControlsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPControls_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPControls_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPControls_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPControls_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPControls_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPControls_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPControls_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPControls_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPControls_play(This)	\
    (This)->lpVtbl -> play(This)

#define IWMPControls_stop(This)	\
    (This)->lpVtbl -> stop(This)

#define IWMPControls_pause(This)	\
    (This)->lpVtbl -> pause(This)

#define IWMPControls_fastForward(This)	\
    (This)->lpVtbl -> fastForward(This)

#define IWMPControls_fastReverse(This)	\
    (This)->lpVtbl -> fastReverse(This)

#define IWMPControls_get_currentPosition(This,pdCurrentPosition)	\
    (This)->lpVtbl -> get_currentPosition(This,pdCurrentPosition)

#define IWMPControls_put_currentPosition(This,dCurrentPosition)	\
    (This)->lpVtbl -> put_currentPosition(This,dCurrentPosition)

#define IWMPControls_get_currentPositionString(This,pbstrCurrentPosition)	\
    (This)->lpVtbl -> get_currentPositionString(This,pbstrCurrentPosition)

#define IWMPControls_next(This)	\
    (This)->lpVtbl -> next(This)

#define IWMPControls_previous(This)	\
    (This)->lpVtbl -> previous(This)

#define IWMPControls_get_currentItem(This,ppIWMPMedia)	\
    (This)->lpVtbl -> get_currentItem(This,ppIWMPMedia)

#define IWMPControls_put_currentItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> put_currentItem(This,pIWMPMedia)

#define IWMPControls_get_currentMarker(This,plMarker)	\
    (This)->lpVtbl -> get_currentMarker(This,plMarker)

#define IWMPControls_put_currentMarker(This,lMarker)	\
    (This)->lpVtbl -> put_currentMarker(This,lMarker)

#define IWMPControls_playItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> playItem(This,pIWMPMedia)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_get_isAvailable_Proxy( 
    IWMPControls * This,
    /* [in] */ BSTR bstrItem,
    /* [retval][out] */ VARIANT_BOOL *pIsAvailable);


void __RPC_STUB IWMPControls_get_isAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_play_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_play_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_stop_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_pause_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_fastForward_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_fastForward_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_fastReverse_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_fastReverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_get_currentPosition_Proxy( 
    IWMPControls * This,
    /* [retval][out] */ double *pdCurrentPosition);


void __RPC_STUB IWMPControls_get_currentPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_put_currentPosition_Proxy( 
    IWMPControls * This,
    /* [in] */ double dCurrentPosition);


void __RPC_STUB IWMPControls_put_currentPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_get_currentPositionString_Proxy( 
    IWMPControls * This,
    /* [retval][out] */ BSTR *pbstrCurrentPosition);


void __RPC_STUB IWMPControls_get_currentPositionString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_next_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_previous_Proxy( 
    IWMPControls * This);


void __RPC_STUB IWMPControls_previous_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_get_currentItem_Proxy( 
    IWMPControls * This,
    /* [retval][out] */ IWMPMedia **ppIWMPMedia);


void __RPC_STUB IWMPControls_get_currentItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_put_currentItem_Proxy( 
    IWMPControls * This,
    /* [in] */ IWMPMedia *pIWMPMedia);


void __RPC_STUB IWMPControls_put_currentItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_get_currentMarker_Proxy( 
    IWMPControls * This,
    /* [retval][out] */ long *plMarker);


void __RPC_STUB IWMPControls_get_currentMarker_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_put_currentMarker_Proxy( 
    IWMPControls * This,
    /* [in] */ long lMarker);


void __RPC_STUB IWMPControls_put_currentMarker_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls_playItem_Proxy( 
    IWMPControls * This,
    /* [in] */ IWMPMedia *pIWMPMedia);


void __RPC_STUB IWMPControls_playItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPControls_INTERFACE_DEFINED__ */


#ifndef __IWMPSettings_INTERFACE_DEFINED__
#define __IWMPSettings_INTERFACE_DEFINED__

/* interface IWMPSettings */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9104D1AB-80C9-4fed-ABF0-2E6417A6DF14")
    IWMPSettings : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isAvailable( 
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_autoStart( 
            /* [retval][out] */ VARIANT_BOOL *pfAutoStart) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_autoStart( 
            /* [in] */ VARIANT_BOOL fAutoStart) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_baseURL( 
            /* [retval][out] */ BSTR *pbstrBaseURL) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_baseURL( 
            /* [in] */ BSTR bstrBaseURL) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_defaultFrame( 
            /* [retval][out] */ BSTR *pbstrDefaultFrame) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_defaultFrame( 
            /* [in] */ BSTR bstrDefaultFrame) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_invokeURLs( 
            /* [retval][out] */ VARIANT_BOOL *pfInvokeURLs) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_invokeURLs( 
            /* [in] */ VARIANT_BOOL fInvokeURLs) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_mute( 
            /* [retval][out] */ VARIANT_BOOL *pfMute) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_mute( 
            /* [in] */ VARIANT_BOOL fMute) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_playCount( 
            /* [in] */ long lCount) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_rate( 
            /* [retval][out] */ double *pdRate) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_rate( 
            /* [in] */ double dRate) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_balance( 
            /* [retval][out] */ long *plBalance) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_balance( 
            /* [in] */ long lBalance) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_volume( 
            /* [retval][out] */ long *plVolume) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_volume( 
            /* [in] */ long lVolume) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getMode( 
            /* [in] */ BSTR bstrMode,
            /* [retval][out] */ VARIANT_BOOL *pvarfMode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setMode( 
            /* [in] */ BSTR bstrMode,
            /* [in] */ VARIANT_BOOL varfMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enableErrorDialogs( 
            /* [retval][out] */ VARIANT_BOOL *pfEnableErrorDialogs) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enableErrorDialogs( 
            /* [in] */ VARIANT_BOOL fEnableErrorDialogs) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPSettings * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_autoStart )( 
            IWMPSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfAutoStart);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_autoStart )( 
            IWMPSettings * This,
            /* [in] */ VARIANT_BOOL fAutoStart);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_baseURL )( 
            IWMPSettings * This,
            /* [retval][out] */ BSTR *pbstrBaseURL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_baseURL )( 
            IWMPSettings * This,
            /* [in] */ BSTR bstrBaseURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_defaultFrame )( 
            IWMPSettings * This,
            /* [retval][out] */ BSTR *pbstrDefaultFrame);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_defaultFrame )( 
            IWMPSettings * This,
            /* [in] */ BSTR bstrDefaultFrame);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_invokeURLs )( 
            IWMPSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfInvokeURLs);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_invokeURLs )( 
            IWMPSettings * This,
            /* [in] */ VARIANT_BOOL fInvokeURLs);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mute )( 
            IWMPSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfMute);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_mute )( 
            IWMPSettings * This,
            /* [in] */ VARIANT_BOOL fMute);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playCount )( 
            IWMPSettings * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_playCount )( 
            IWMPSettings * This,
            /* [in] */ long lCount);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_rate )( 
            IWMPSettings * This,
            /* [retval][out] */ double *pdRate);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_rate )( 
            IWMPSettings * This,
            /* [in] */ double dRate);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_balance )( 
            IWMPSettings * This,
            /* [retval][out] */ long *plBalance);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_balance )( 
            IWMPSettings * This,
            /* [in] */ long lBalance);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_volume )( 
            IWMPSettings * This,
            /* [retval][out] */ long *plVolume);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_volume )( 
            IWMPSettings * This,
            /* [in] */ long lVolume);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMode )( 
            IWMPSettings * This,
            /* [in] */ BSTR bstrMode,
            /* [retval][out] */ VARIANT_BOOL *pvarfMode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setMode )( 
            IWMPSettings * This,
            /* [in] */ BSTR bstrMode,
            /* [in] */ VARIANT_BOOL varfMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableErrorDialogs )( 
            IWMPSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfEnableErrorDialogs);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableErrorDialogs )( 
            IWMPSettings * This,
            /* [in] */ VARIANT_BOOL fEnableErrorDialogs);
        
        END_INTERFACE
    } IWMPSettingsVtbl;

    interface IWMPSettings
    {
        CONST_VTBL struct IWMPSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPSettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPSettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPSettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPSettings_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPSettings_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPSettings_get_autoStart(This,pfAutoStart)	\
    (This)->lpVtbl -> get_autoStart(This,pfAutoStart)

#define IWMPSettings_put_autoStart(This,fAutoStart)	\
    (This)->lpVtbl -> put_autoStart(This,fAutoStart)

#define IWMPSettings_get_baseURL(This,pbstrBaseURL)	\
    (This)->lpVtbl -> get_baseURL(This,pbstrBaseURL)

#define IWMPSettings_put_baseURL(This,bstrBaseURL)	\
    (This)->lpVtbl -> put_baseURL(This,bstrBaseURL)

#define IWMPSettings_get_defaultFrame(This,pbstrDefaultFrame)	\
    (This)->lpVtbl -> get_defaultFrame(This,pbstrDefaultFrame)

#define IWMPSettings_put_defaultFrame(This,bstrDefaultFrame)	\
    (This)->lpVtbl -> put_defaultFrame(This,bstrDefaultFrame)

#define IWMPSettings_get_invokeURLs(This,pfInvokeURLs)	\
    (This)->lpVtbl -> get_invokeURLs(This,pfInvokeURLs)

#define IWMPSettings_put_invokeURLs(This,fInvokeURLs)	\
    (This)->lpVtbl -> put_invokeURLs(This,fInvokeURLs)

#define IWMPSettings_get_mute(This,pfMute)	\
    (This)->lpVtbl -> get_mute(This,pfMute)

#define IWMPSettings_put_mute(This,fMute)	\
    (This)->lpVtbl -> put_mute(This,fMute)

#define IWMPSettings_get_playCount(This,plCount)	\
    (This)->lpVtbl -> get_playCount(This,plCount)

#define IWMPSettings_put_playCount(This,lCount)	\
    (This)->lpVtbl -> put_playCount(This,lCount)

#define IWMPSettings_get_rate(This,pdRate)	\
    (This)->lpVtbl -> get_rate(This,pdRate)

#define IWMPSettings_put_rate(This,dRate)	\
    (This)->lpVtbl -> put_rate(This,dRate)

#define IWMPSettings_get_balance(This,plBalance)	\
    (This)->lpVtbl -> get_balance(This,plBalance)

#define IWMPSettings_put_balance(This,lBalance)	\
    (This)->lpVtbl -> put_balance(This,lBalance)

#define IWMPSettings_get_volume(This,plVolume)	\
    (This)->lpVtbl -> get_volume(This,plVolume)

#define IWMPSettings_put_volume(This,lVolume)	\
    (This)->lpVtbl -> put_volume(This,lVolume)

#define IWMPSettings_getMode(This,bstrMode,pvarfMode)	\
    (This)->lpVtbl -> getMode(This,bstrMode,pvarfMode)

#define IWMPSettings_setMode(This,bstrMode,varfMode)	\
    (This)->lpVtbl -> setMode(This,bstrMode,varfMode)

#define IWMPSettings_get_enableErrorDialogs(This,pfEnableErrorDialogs)	\
    (This)->lpVtbl -> get_enableErrorDialogs(This,pfEnableErrorDialogs)

#define IWMPSettings_put_enableErrorDialogs(This,fEnableErrorDialogs)	\
    (This)->lpVtbl -> put_enableErrorDialogs(This,fEnableErrorDialogs)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_isAvailable_Proxy( 
    IWMPSettings * This,
    /* [in] */ BSTR bstrItem,
    /* [retval][out] */ VARIANT_BOOL *pIsAvailable);


void __RPC_STUB IWMPSettings_get_isAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_autoStart_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pfAutoStart);


void __RPC_STUB IWMPSettings_get_autoStart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_autoStart_Proxy( 
    IWMPSettings * This,
    /* [in] */ VARIANT_BOOL fAutoStart);


void __RPC_STUB IWMPSettings_put_autoStart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_baseURL_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ BSTR *pbstrBaseURL);


void __RPC_STUB IWMPSettings_get_baseURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_baseURL_Proxy( 
    IWMPSettings * This,
    /* [in] */ BSTR bstrBaseURL);


void __RPC_STUB IWMPSettings_put_baseURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_defaultFrame_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ BSTR *pbstrDefaultFrame);


void __RPC_STUB IWMPSettings_get_defaultFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_defaultFrame_Proxy( 
    IWMPSettings * This,
    /* [in] */ BSTR bstrDefaultFrame);


void __RPC_STUB IWMPSettings_put_defaultFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_invokeURLs_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pfInvokeURLs);


void __RPC_STUB IWMPSettings_get_invokeURLs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_invokeURLs_Proxy( 
    IWMPSettings * This,
    /* [in] */ VARIANT_BOOL fInvokeURLs);


void __RPC_STUB IWMPSettings_put_invokeURLs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_mute_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pfMute);


void __RPC_STUB IWMPSettings_get_mute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_mute_Proxy( 
    IWMPSettings * This,
    /* [in] */ VARIANT_BOOL fMute);


void __RPC_STUB IWMPSettings_put_mute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_playCount_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPSettings_get_playCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_playCount_Proxy( 
    IWMPSettings * This,
    /* [in] */ long lCount);


void __RPC_STUB IWMPSettings_put_playCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_rate_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ double *pdRate);


void __RPC_STUB IWMPSettings_get_rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_rate_Proxy( 
    IWMPSettings * This,
    /* [in] */ double dRate);


void __RPC_STUB IWMPSettings_put_rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_balance_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ long *plBalance);


void __RPC_STUB IWMPSettings_get_balance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_balance_Proxy( 
    IWMPSettings * This,
    /* [in] */ long lBalance);


void __RPC_STUB IWMPSettings_put_balance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_volume_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ long *plVolume);


void __RPC_STUB IWMPSettings_get_volume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_volume_Proxy( 
    IWMPSettings * This,
    /* [in] */ long lVolume);


void __RPC_STUB IWMPSettings_put_volume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_getMode_Proxy( 
    IWMPSettings * This,
    /* [in] */ BSTR bstrMode,
    /* [retval][out] */ VARIANT_BOOL *pvarfMode);


void __RPC_STUB IWMPSettings_getMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_setMode_Proxy( 
    IWMPSettings * This,
    /* [in] */ BSTR bstrMode,
    /* [in] */ VARIANT_BOOL varfMode);


void __RPC_STUB IWMPSettings_setMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_get_enableErrorDialogs_Proxy( 
    IWMPSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pfEnableErrorDialogs);


void __RPC_STUB IWMPSettings_get_enableErrorDialogs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings_put_enableErrorDialogs_Proxy( 
    IWMPSettings * This,
    /* [in] */ VARIANT_BOOL fEnableErrorDialogs);


void __RPC_STUB IWMPSettings_put_enableErrorDialogs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPSettings_INTERFACE_DEFINED__ */


#ifndef __IWMPClosedCaption_INTERFACE_DEFINED__
#define __IWMPClosedCaption_INTERFACE_DEFINED__

/* interface IWMPClosedCaption */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPClosedCaption;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F2DF574-C588-11d3-9ED0-00C04FB6E937")
    IWMPClosedCaption : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SAMIStyle( 
            /* [retval][out] */ BSTR *pbstrSAMIStyle) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SAMIStyle( 
            /* [in] */ BSTR bstrSAMIStyle) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SAMILang( 
            /* [retval][out] */ BSTR *pbstrSAMILang) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SAMILang( 
            /* [in] */ BSTR bstrSAMILang) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SAMIFileName( 
            /* [retval][out] */ BSTR *pbstrSAMIFileName) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SAMIFileName( 
            /* [in] */ BSTR bstrSAMIFileName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_captioningId( 
            /* [retval][out] */ BSTR *pbstrCaptioningID) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_captioningId( 
            /* [in] */ BSTR bstrCaptioningID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPClosedCaptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPClosedCaption * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPClosedCaption * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPClosedCaption * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPClosedCaption * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPClosedCaption * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPClosedCaption * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPClosedCaption * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMIStyle )( 
            IWMPClosedCaption * This,
            /* [retval][out] */ BSTR *pbstrSAMIStyle);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMIStyle )( 
            IWMPClosedCaption * This,
            /* [in] */ BSTR bstrSAMIStyle);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMILang )( 
            IWMPClosedCaption * This,
            /* [retval][out] */ BSTR *pbstrSAMILang);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMILang )( 
            IWMPClosedCaption * This,
            /* [in] */ BSTR bstrSAMILang);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMIFileName )( 
            IWMPClosedCaption * This,
            /* [retval][out] */ BSTR *pbstrSAMIFileName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMIFileName )( 
            IWMPClosedCaption * This,
            /* [in] */ BSTR bstrSAMIFileName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_captioningId )( 
            IWMPClosedCaption * This,
            /* [retval][out] */ BSTR *pbstrCaptioningID);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_captioningId )( 
            IWMPClosedCaption * This,
            /* [in] */ BSTR bstrCaptioningID);
        
        END_INTERFACE
    } IWMPClosedCaptionVtbl;

    interface IWMPClosedCaption
    {
        CONST_VTBL struct IWMPClosedCaptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPClosedCaption_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPClosedCaption_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPClosedCaption_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPClosedCaption_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPClosedCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPClosedCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPClosedCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPClosedCaption_get_SAMIStyle(This,pbstrSAMIStyle)	\
    (This)->lpVtbl -> get_SAMIStyle(This,pbstrSAMIStyle)

#define IWMPClosedCaption_put_SAMIStyle(This,bstrSAMIStyle)	\
    (This)->lpVtbl -> put_SAMIStyle(This,bstrSAMIStyle)

#define IWMPClosedCaption_get_SAMILang(This,pbstrSAMILang)	\
    (This)->lpVtbl -> get_SAMILang(This,pbstrSAMILang)

#define IWMPClosedCaption_put_SAMILang(This,bstrSAMILang)	\
    (This)->lpVtbl -> put_SAMILang(This,bstrSAMILang)

#define IWMPClosedCaption_get_SAMIFileName(This,pbstrSAMIFileName)	\
    (This)->lpVtbl -> get_SAMIFileName(This,pbstrSAMIFileName)

#define IWMPClosedCaption_put_SAMIFileName(This,bstrSAMIFileName)	\
    (This)->lpVtbl -> put_SAMIFileName(This,bstrSAMIFileName)

#define IWMPClosedCaption_get_captioningId(This,pbstrCaptioningID)	\
    (This)->lpVtbl -> get_captioningId(This,pbstrCaptioningID)

#define IWMPClosedCaption_put_captioningId(This,bstrCaptioningID)	\
    (This)->lpVtbl -> put_captioningId(This,bstrCaptioningID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_get_SAMIStyle_Proxy( 
    IWMPClosedCaption * This,
    /* [retval][out] */ BSTR *pbstrSAMIStyle);


void __RPC_STUB IWMPClosedCaption_get_SAMIStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_put_SAMIStyle_Proxy( 
    IWMPClosedCaption * This,
    /* [in] */ BSTR bstrSAMIStyle);


void __RPC_STUB IWMPClosedCaption_put_SAMIStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_get_SAMILang_Proxy( 
    IWMPClosedCaption * This,
    /* [retval][out] */ BSTR *pbstrSAMILang);


void __RPC_STUB IWMPClosedCaption_get_SAMILang_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_put_SAMILang_Proxy( 
    IWMPClosedCaption * This,
    /* [in] */ BSTR bstrSAMILang);


void __RPC_STUB IWMPClosedCaption_put_SAMILang_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_get_SAMIFileName_Proxy( 
    IWMPClosedCaption * This,
    /* [retval][out] */ BSTR *pbstrSAMIFileName);


void __RPC_STUB IWMPClosedCaption_get_SAMIFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_put_SAMIFileName_Proxy( 
    IWMPClosedCaption * This,
    /* [in] */ BSTR bstrSAMIFileName);


void __RPC_STUB IWMPClosedCaption_put_SAMIFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_get_captioningId_Proxy( 
    IWMPClosedCaption * This,
    /* [retval][out] */ BSTR *pbstrCaptioningID);


void __RPC_STUB IWMPClosedCaption_get_captioningId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption_put_captioningId_Proxy( 
    IWMPClosedCaption * This,
    /* [in] */ BSTR bstrCaptioningID);


void __RPC_STUB IWMPClosedCaption_put_captioningId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPClosedCaption_INTERFACE_DEFINED__ */


#ifndef __IWMPPlaylist_INTERFACE_DEFINED__
#define __IWMPPlaylist_INTERFACE_DEFINED__

/* interface IWMPPlaylist */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D5F0F4F1-130C-11d3-B14E-00C04F79FAA6")
    IWMPPlaylist : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_attributeCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_attributeName( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrAttributeName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item( 
            long lIndex,
            /* [retval][out] */ IWMPMedia **ppIWMPMedia) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getItemInfo( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setItemInfo( 
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isIdentical( 
            /* [in] */ IWMPPlaylist *pIWMPPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvbool) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE insertItem( 
            /* [in] */ long lIndex,
            /* [in] */ IWMPMedia *pIWMPMedia) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ IWMPMedia *pIWMPMedia) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ IWMPMedia *pIWMPMedia) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE moveItem( 
            long lIndexOld,
            long lIndexNew) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlaylist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlaylist * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlaylist * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlaylist * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_count )( 
            IWMPPlaylist * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IWMPPlaylist * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            IWMPPlaylist * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IWMPPlaylist * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeName )( 
            IWMPPlaylist * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrAttributeName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )( 
            IWMPPlaylist * This,
            long lIndex,
            /* [retval][out] */ IWMPMedia **ppIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IWMPPlaylist * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setItemInfo )( 
            IWMPPlaylist * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isIdentical )( 
            IWMPPlaylist * This,
            /* [in] */ IWMPPlaylist *pIWMPPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvbool);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            IWMPPlaylist * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *insertItem )( 
            IWMPPlaylist * This,
            /* [in] */ long lIndex,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            IWMPPlaylist * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            IWMPPlaylist * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *moveItem )( 
            IWMPPlaylist * This,
            long lIndexOld,
            long lIndexNew);
        
        END_INTERFACE
    } IWMPPlaylistVtbl;

    interface IWMPPlaylist
    {
        CONST_VTBL struct IWMPPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlaylist_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlaylist_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlaylist_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlaylist_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlaylist_get_count(This,plCount)	\
    (This)->lpVtbl -> get_count(This,plCount)

#define IWMPPlaylist_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IWMPPlaylist_put_name(This,bstrName)	\
    (This)->lpVtbl -> put_name(This,bstrName)

#define IWMPPlaylist_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IWMPPlaylist_get_attributeName(This,lIndex,pbstrAttributeName)	\
    (This)->lpVtbl -> get_attributeName(This,lIndex,pbstrAttributeName)

#define IWMPPlaylist_get_item(This,lIndex,ppIWMPMedia)	\
    (This)->lpVtbl -> get_item(This,lIndex,ppIWMPMedia)

#define IWMPPlaylist_getItemInfo(This,bstrName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrName,pbstrVal)

#define IWMPPlaylist_setItemInfo(This,bstrName,bstrValue)	\
    (This)->lpVtbl -> setItemInfo(This,bstrName,bstrValue)

#define IWMPPlaylist_get_isIdentical(This,pIWMPPlaylist,pvbool)	\
    (This)->lpVtbl -> get_isIdentical(This,pIWMPPlaylist,pvbool)

#define IWMPPlaylist_clear(This)	\
    (This)->lpVtbl -> clear(This)

#define IWMPPlaylist_insertItem(This,lIndex,pIWMPMedia)	\
    (This)->lpVtbl -> insertItem(This,lIndex,pIWMPMedia)

#define IWMPPlaylist_appendItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> appendItem(This,pIWMPMedia)

#define IWMPPlaylist_removeItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> removeItem(This,pIWMPMedia)

#define IWMPPlaylist_moveItem(This,lIndexOld,lIndexNew)	\
    (This)->lpVtbl -> moveItem(This,lIndexOld,lIndexNew)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_count_Proxy( 
    IWMPPlaylist * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPPlaylist_get_count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_name_Proxy( 
    IWMPPlaylist * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPPlaylist_get_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_put_name_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IWMPPlaylist_put_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_attributeCount_Proxy( 
    IWMPPlaylist * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPPlaylist_get_attributeCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_attributeName_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrAttributeName);


void __RPC_STUB IWMPPlaylist_get_attributeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_item_Proxy( 
    IWMPPlaylist * This,
    long lIndex,
    /* [retval][out] */ IWMPMedia **ppIWMPMedia);


void __RPC_STUB IWMPPlaylist_get_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_getItemInfo_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ BSTR bstrName,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IWMPPlaylist_getItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_setItemInfo_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IWMPPlaylist_setItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_get_isIdentical_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ IWMPPlaylist *pIWMPPlaylist,
    /* [retval][out] */ VARIANT_BOOL *pvbool);


void __RPC_STUB IWMPPlaylist_get_isIdentical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_clear_Proxy( 
    IWMPPlaylist * This);


void __RPC_STUB IWMPPlaylist_clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_insertItem_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ long lIndex,
    /* [in] */ IWMPMedia *pIWMPMedia);


void __RPC_STUB IWMPPlaylist_insertItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_appendItem_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ IWMPMedia *pIWMPMedia);


void __RPC_STUB IWMPPlaylist_appendItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_removeItem_Proxy( 
    IWMPPlaylist * This,
    /* [in] */ IWMPMedia *pIWMPMedia);


void __RPC_STUB IWMPPlaylist_removeItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylist_moveItem_Proxy( 
    IWMPPlaylist * This,
    long lIndexOld,
    long lIndexNew);


void __RPC_STUB IWMPPlaylist_moveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlaylist_INTERFACE_DEFINED__ */


#ifndef __IWMPCdrom_INTERFACE_DEFINED__
#define __IWMPCdrom_INTERFACE_DEFINED__

/* interface IWMPCdrom */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPCdrom;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cfab6e98-8730-11d3-b388-00c04f68574b")
    IWMPCdrom : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_driveSpecifier( 
            /* [retval][out] */ BSTR *pbstrDrive) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playlist( 
            /* [retval][out] */ IWMPPlaylist **ppPlaylist) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE eject( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPCdromVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPCdrom * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPCdrom * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPCdrom * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPCdrom * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPCdrom * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPCdrom * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPCdrom * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_driveSpecifier )( 
            IWMPCdrom * This,
            /* [retval][out] */ BSTR *pbstrDrive);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlist )( 
            IWMPCdrom * This,
            /* [retval][out] */ IWMPPlaylist **ppPlaylist);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *eject )( 
            IWMPCdrom * This);
        
        END_INTERFACE
    } IWMPCdromVtbl;

    interface IWMPCdrom
    {
        CONST_VTBL struct IWMPCdromVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPCdrom_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPCdrom_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPCdrom_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPCdrom_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPCdrom_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPCdrom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPCdrom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPCdrom_get_driveSpecifier(This,pbstrDrive)	\
    (This)->lpVtbl -> get_driveSpecifier(This,pbstrDrive)

#define IWMPCdrom_get_playlist(This,ppPlaylist)	\
    (This)->lpVtbl -> get_playlist(This,ppPlaylist)

#define IWMPCdrom_eject(This)	\
    (This)->lpVtbl -> eject(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCdrom_get_driveSpecifier_Proxy( 
    IWMPCdrom * This,
    /* [retval][out] */ BSTR *pbstrDrive);


void __RPC_STUB IWMPCdrom_get_driveSpecifier_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCdrom_get_playlist_Proxy( 
    IWMPCdrom * This,
    /* [retval][out] */ IWMPPlaylist **ppPlaylist);


void __RPC_STUB IWMPCdrom_get_playlist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCdrom_eject_Proxy( 
    IWMPCdrom * This);


void __RPC_STUB IWMPCdrom_eject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPCdrom_INTERFACE_DEFINED__ */


#ifndef __IWMPCdromCollection_INTERFACE_DEFINED__
#define __IWMPCdromCollection_INTERFACE_DEFINED__

/* interface IWMPCdromCollection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPCdromCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EE4C8FE2-34B2-11d3-A3BF-006097C9B344")
    IWMPCdromCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPCdrom **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByDriveSpecifier( 
            /* [in] */ BSTR bstrDriveSpecifier,
            /* [retval][out] */ IWMPCdrom **ppCdrom) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPCdromCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPCdromCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPCdromCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPCdromCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPCdromCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPCdromCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPCdromCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPCdromCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_count )( 
            IWMPCdromCollection * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            IWMPCdromCollection * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPCdrom **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByDriveSpecifier )( 
            IWMPCdromCollection * This,
            /* [in] */ BSTR bstrDriveSpecifier,
            /* [retval][out] */ IWMPCdrom **ppCdrom);
        
        END_INTERFACE
    } IWMPCdromCollectionVtbl;

    interface IWMPCdromCollection
    {
        CONST_VTBL struct IWMPCdromCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPCdromCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPCdromCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPCdromCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPCdromCollection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPCdromCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPCdromCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPCdromCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPCdromCollection_get_count(This,plCount)	\
    (This)->lpVtbl -> get_count(This,plCount)

#define IWMPCdromCollection_item(This,lIndex,ppItem)	\
    (This)->lpVtbl -> item(This,lIndex,ppItem)

#define IWMPCdromCollection_getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom)	\
    (This)->lpVtbl -> getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCdromCollection_get_count_Proxy( 
    IWMPCdromCollection * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPCdromCollection_get_count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCdromCollection_item_Proxy( 
    IWMPCdromCollection * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ IWMPCdrom **ppItem);


void __RPC_STUB IWMPCdromCollection_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCdromCollection_getByDriveSpecifier_Proxy( 
    IWMPCdromCollection * This,
    /* [in] */ BSTR bstrDriveSpecifier,
    /* [retval][out] */ IWMPCdrom **ppCdrom);


void __RPC_STUB IWMPCdromCollection_getByDriveSpecifier_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPCdromCollection_INTERFACE_DEFINED__ */


#ifndef __IWMPStringCollection_INTERFACE_DEFINED__
#define __IWMPStringCollection_INTERFACE_DEFINED__

/* interface IWMPStringCollection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPStringCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4a976298-8c0d-11d3-b389-00c04f68574b")
    IWMPStringCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrString) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPStringCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPStringCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPStringCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPStringCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPStringCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPStringCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPStringCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPStringCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_count )( 
            IWMPStringCollection * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            IWMPStringCollection * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrString);
        
        END_INTERFACE
    } IWMPStringCollectionVtbl;

    interface IWMPStringCollection
    {
        CONST_VTBL struct IWMPStringCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPStringCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPStringCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPStringCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPStringCollection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPStringCollection_get_count(This,plCount)	\
    (This)->lpVtbl -> get_count(This,plCount)

#define IWMPStringCollection_item(This,lIndex,pbstrString)	\
    (This)->lpVtbl -> item(This,lIndex,pbstrString)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPStringCollection_get_count_Proxy( 
    IWMPStringCollection * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPStringCollection_get_count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPStringCollection_item_Proxy( 
    IWMPStringCollection * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrString);


void __RPC_STUB IWMPStringCollection_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPStringCollection_INTERFACE_DEFINED__ */


#ifndef __IWMPMediaCollection_INTERFACE_DEFINED__
#define __IWMPMediaCollection_INTERFACE_DEFINED__

/* interface IWMPMediaCollection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMediaCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8363BC22-B4B4-4b19-989D-1CD765749DD1")
    IWMPMediaCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPMedia **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAll( 
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByName( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByGenre( 
            /* [in] */ BSTR bstrGenre,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByAuthor( 
            /* [in] */ BSTR bstrAuthor,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByAlbum( 
            /* [in] */ BSTR bstrAlbum,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByAttribute( 
            /* [in] */ BSTR bstrAttribute,
            /* [in] */ BSTR bstrValue,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE remove( 
            /* [in] */ IWMPMedia *pItem,
            /* [in] */ VARIANT_BOOL varfDeleteFile) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAttributeStringCollection( 
            /* [in] */ BSTR bstrAttribute,
            /* [in] */ BSTR bstrMediaType,
            /* [retval][out] */ IWMPStringCollection **ppStringCollection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getMediaAtom( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ long *plAtom) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setDeleted( 
            /* [in] */ IWMPMedia *pItem,
            /* [in] */ VARIANT_BOOL varfIsDeleted) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE isDeleted( 
            /* [in] */ IWMPMedia *pItem,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMediaCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMediaCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMediaCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMediaCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMediaCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMediaCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMediaCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMediaCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPMedia **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAll )( 
            IWMPMediaCollection * This,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByName )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByGenre )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrGenre,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByAuthor )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrAuthor,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByAlbum )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrAlbum,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByAttribute )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrAttribute,
            /* [in] */ BSTR bstrValue,
            /* [retval][out] */ IWMPPlaylist **ppMediaItems);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *remove )( 
            IWMPMediaCollection * This,
            /* [in] */ IWMPMedia *pItem,
            /* [in] */ VARIANT_BOOL varfDeleteFile);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeStringCollection )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrAttribute,
            /* [in] */ BSTR bstrMediaType,
            /* [retval][out] */ IWMPStringCollection **ppStringCollection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMediaAtom )( 
            IWMPMediaCollection * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ long *plAtom);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setDeleted )( 
            IWMPMediaCollection * This,
            /* [in] */ IWMPMedia *pItem,
            /* [in] */ VARIANT_BOOL varfIsDeleted);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isDeleted )( 
            IWMPMediaCollection * This,
            /* [in] */ IWMPMedia *pItem,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted);
        
        END_INTERFACE
    } IWMPMediaCollectionVtbl;

    interface IWMPMediaCollection
    {
        CONST_VTBL struct IWMPMediaCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMediaCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMediaCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMediaCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMediaCollection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMediaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMediaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMediaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMediaCollection_add(This,bstrURL,ppItem)	\
    (This)->lpVtbl -> add(This,bstrURL,ppItem)

#define IWMPMediaCollection_getAll(This,ppMediaItems)	\
    (This)->lpVtbl -> getAll(This,ppMediaItems)

#define IWMPMediaCollection_getByName(This,bstrName,ppMediaItems)	\
    (This)->lpVtbl -> getByName(This,bstrName,ppMediaItems)

#define IWMPMediaCollection_getByGenre(This,bstrGenre,ppMediaItems)	\
    (This)->lpVtbl -> getByGenre(This,bstrGenre,ppMediaItems)

#define IWMPMediaCollection_getByAuthor(This,bstrAuthor,ppMediaItems)	\
    (This)->lpVtbl -> getByAuthor(This,bstrAuthor,ppMediaItems)

#define IWMPMediaCollection_getByAlbum(This,bstrAlbum,ppMediaItems)	\
    (This)->lpVtbl -> getByAlbum(This,bstrAlbum,ppMediaItems)

#define IWMPMediaCollection_getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems)	\
    (This)->lpVtbl -> getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems)

#define IWMPMediaCollection_remove(This,pItem,varfDeleteFile)	\
    (This)->lpVtbl -> remove(This,pItem,varfDeleteFile)

#define IWMPMediaCollection_getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection)	\
    (This)->lpVtbl -> getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection)

#define IWMPMediaCollection_getMediaAtom(This,bstrItemName,plAtom)	\
    (This)->lpVtbl -> getMediaAtom(This,bstrItemName,plAtom)

#define IWMPMediaCollection_setDeleted(This,pItem,varfIsDeleted)	\
    (This)->lpVtbl -> setDeleted(This,pItem,varfIsDeleted)

#define IWMPMediaCollection_isDeleted(This,pItem,pvarfIsDeleted)	\
    (This)->lpVtbl -> isDeleted(This,pItem,pvarfIsDeleted)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_add_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrURL,
    /* [retval][out] */ IWMPMedia **ppItem);


void __RPC_STUB IWMPMediaCollection_add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getAll_Proxy( 
    IWMPMediaCollection * This,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getByName_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrName,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getByGenre_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrGenre,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getByGenre_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getByAuthor_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrAuthor,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getByAuthor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getByAlbum_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrAlbum,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getByAlbum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getByAttribute_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrAttribute,
    /* [in] */ BSTR bstrValue,
    /* [retval][out] */ IWMPPlaylist **ppMediaItems);


void __RPC_STUB IWMPMediaCollection_getByAttribute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_remove_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ IWMPMedia *pItem,
    /* [in] */ VARIANT_BOOL varfDeleteFile);


void __RPC_STUB IWMPMediaCollection_remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getAttributeStringCollection_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrAttribute,
    /* [in] */ BSTR bstrMediaType,
    /* [retval][out] */ IWMPStringCollection **ppStringCollection);


void __RPC_STUB IWMPMediaCollection_getAttributeStringCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_getMediaAtom_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ long *plAtom);


void __RPC_STUB IWMPMediaCollection_getMediaAtom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_setDeleted_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ IWMPMedia *pItem,
    /* [in] */ VARIANT_BOOL varfIsDeleted);


void __RPC_STUB IWMPMediaCollection_setDeleted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPMediaCollection_isDeleted_Proxy( 
    IWMPMediaCollection * This,
    /* [in] */ IWMPMedia *pItem,
    /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted);


void __RPC_STUB IWMPMediaCollection_isDeleted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMediaCollection_INTERFACE_DEFINED__ */


#ifndef __IWMPPlaylistArray_INTERFACE_DEFINED__
#define __IWMPPlaylistArray_INTERFACE_DEFINED__

/* interface IWMPPlaylistArray */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlaylistArray;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("679409c0-99f7-11d3-9fb7-00105aa620bb")
    IWMPPlaylistArray : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPPlaylist **ppItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlaylistArrayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlaylistArray * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlaylistArray * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlaylistArray * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlaylistArray * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlaylistArray * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlaylistArray * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlaylistArray * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_count )( 
            IWMPPlaylistArray * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            IWMPPlaylistArray * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPPlaylist **ppItem);
        
        END_INTERFACE
    } IWMPPlaylistArrayVtbl;

    interface IWMPPlaylistArray
    {
        CONST_VTBL struct IWMPPlaylistArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlaylistArray_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlaylistArray_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlaylistArray_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlaylistArray_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlaylistArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlaylistArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlaylistArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlaylistArray_get_count(This,plCount)	\
    (This)->lpVtbl -> get_count(This,plCount)

#define IWMPPlaylistArray_item(This,lIndex,ppItem)	\
    (This)->lpVtbl -> item(This,lIndex,ppItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistArray_get_count_Proxy( 
    IWMPPlaylistArray * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPPlaylistArray_get_count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistArray_item_Proxy( 
    IWMPPlaylistArray * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ IWMPPlaylist **ppItem);


void __RPC_STUB IWMPPlaylistArray_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlaylistArray_INTERFACE_DEFINED__ */


#ifndef __IWMPPlaylistCollection_INTERFACE_DEFINED__
#define __IWMPPlaylistCollection_INTERFACE_DEFINED__

/* interface IWMPPlaylistCollection */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlaylistCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("10A13217-23A7-439b-B1C0-D847C79B7774")
    IWMPPlaylistCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE newPlaylist( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylist **ppItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAll( 
            /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getByName( 
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE remove( 
            /* [in] */ IWMPPlaylist *pItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setDeleted( 
            /* [in] */ IWMPPlaylist *pItem,
            /* [in] */ VARIANT_BOOL varfIsDeleted) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE isDeleted( 
            /* [in] */ IWMPPlaylist *pItem,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE importPlaylist( 
            /* [in] */ IWMPPlaylist *pItem,
            /* [retval][out] */ IWMPPlaylist **ppImportedItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlaylistCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlaylistCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlaylistCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlaylistCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlaylistCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlaylistCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlaylistCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlaylistCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *newPlaylist )( 
            IWMPPlaylistCollection * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylist **ppItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAll )( 
            IWMPPlaylistCollection * This,
            /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getByName )( 
            IWMPPlaylistCollection * This,
            /* [in] */ BSTR bstrName,
            /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *remove )( 
            IWMPPlaylistCollection * This,
            /* [in] */ IWMPPlaylist *pItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setDeleted )( 
            IWMPPlaylistCollection * This,
            /* [in] */ IWMPPlaylist *pItem,
            /* [in] */ VARIANT_BOOL varfIsDeleted);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isDeleted )( 
            IWMPPlaylistCollection * This,
            /* [in] */ IWMPPlaylist *pItem,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *importPlaylist )( 
            IWMPPlaylistCollection * This,
            /* [in] */ IWMPPlaylist *pItem,
            /* [retval][out] */ IWMPPlaylist **ppImportedItem);
        
        END_INTERFACE
    } IWMPPlaylistCollectionVtbl;

    interface IWMPPlaylistCollection
    {
        CONST_VTBL struct IWMPPlaylistCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlaylistCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlaylistCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlaylistCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlaylistCollection_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlaylistCollection_newPlaylist(This,bstrName,ppItem)	\
    (This)->lpVtbl -> newPlaylist(This,bstrName,ppItem)

#define IWMPPlaylistCollection_getAll(This,ppPlaylistArray)	\
    (This)->lpVtbl -> getAll(This,ppPlaylistArray)

#define IWMPPlaylistCollection_getByName(This,bstrName,ppPlaylistArray)	\
    (This)->lpVtbl -> getByName(This,bstrName,ppPlaylistArray)

#define IWMPPlaylistCollection_remove(This,pItem)	\
    (This)->lpVtbl -> remove(This,pItem)

#define IWMPPlaylistCollection_setDeleted(This,pItem,varfIsDeleted)	\
    (This)->lpVtbl -> setDeleted(This,pItem,varfIsDeleted)

#define IWMPPlaylistCollection_isDeleted(This,pItem,pvarfIsDeleted)	\
    (This)->lpVtbl -> isDeleted(This,pItem,pvarfIsDeleted)

#define IWMPPlaylistCollection_importPlaylist(This,pItem,ppImportedItem)	\
    (This)->lpVtbl -> importPlaylist(This,pItem,ppImportedItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_newPlaylist_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ BSTR bstrName,
    /* [retval][out] */ IWMPPlaylist **ppItem);


void __RPC_STUB IWMPPlaylistCollection_newPlaylist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_getAll_Proxy( 
    IWMPPlaylistCollection * This,
    /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray);


void __RPC_STUB IWMPPlaylistCollection_getAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_getByName_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ BSTR bstrName,
    /* [retval][out] */ IWMPPlaylistArray **ppPlaylistArray);


void __RPC_STUB IWMPPlaylistCollection_getByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_remove_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ IWMPPlaylist *pItem);


void __RPC_STUB IWMPPlaylistCollection_remove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_setDeleted_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ IWMPPlaylist *pItem,
    /* [in] */ VARIANT_BOOL varfIsDeleted);


void __RPC_STUB IWMPPlaylistCollection_setDeleted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_isDeleted_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ IWMPPlaylist *pItem,
    /* [retval][out] */ VARIANT_BOOL *pvarfIsDeleted);


void __RPC_STUB IWMPPlaylistCollection_isDeleted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlaylistCollection_importPlaylist_Proxy( 
    IWMPPlaylistCollection * This,
    /* [in] */ IWMPPlaylist *pItem,
    /* [retval][out] */ IWMPPlaylist **ppImportedItem);


void __RPC_STUB IWMPPlaylistCollection_importPlaylist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlaylistCollection_INTERFACE_DEFINED__ */


#ifndef __IWMPNetwork_INTERFACE_DEFINED__
#define __IWMPNetwork_INTERFACE_DEFINED__

/* interface IWMPNetwork */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPNetwork;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EC21B779-EDEF-462d-BBA4-AD9DDE2B29A7")
    IWMPNetwork : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_bandWidth( 
            /* [retval][out] */ long *plBandwidth) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_recoveredPackets( 
            /* [retval][out] */ long *plRecoveredPackets) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_sourceProtocol( 
            /* [retval][out] */ BSTR *pbstrSourceProtocol) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_receivedPackets( 
            /* [retval][out] */ long *plReceivedPackets) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_lostPackets( 
            /* [retval][out] */ long *plLostPackets) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_receptionQuality( 
            /* [retval][out] */ long *plReceptionQuality) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_bufferingCount( 
            /* [retval][out] */ long *plBufferingCount) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_bufferingProgress( 
            /* [retval][out] */ long *plBufferingProgress) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_bufferingTime( 
            /* [retval][out] */ long *plBufferingTime) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_bufferingTime( 
            /* [in] */ long lBufferingTime) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_frameRate( 
            /* [retval][out] */ long *plFrameRate) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_maxBitRate( 
            /* [retval][out] */ long *plBitRate) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_bitRate( 
            /* [retval][out] */ long *plBitRate) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getProxySettings( 
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ long *plProxySetting) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setProxySettings( 
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ long lProxySetting) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getProxyName( 
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ BSTR *pbstrProxyName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setProxyName( 
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ BSTR bstrProxyName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getProxyPort( 
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ long *lProxyPort) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setProxyPort( 
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ long lProxyPort) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getProxyExceptionList( 
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ BSTR *pbstrExceptionList) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setProxyExceptionList( 
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ BSTR pbstrExceptionList) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getProxyBypassForLocal( 
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ VARIANT_BOOL *pfBypassForLocal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE setProxyBypassForLocal( 
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ VARIANT_BOOL fBypassForLocal) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_maxBandwidth( 
            /* [retval][out] */ long *lMaxBandwidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_maxBandwidth( 
            /* [in] */ long lMaxBandwidth) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_downloadProgress( 
            /* [retval][out] */ long *plDownloadProgress) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_encodedFrameRate( 
            /* [retval][out] */ long *plFrameRate) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_framesSkipped( 
            /* [retval][out] */ long *plFrames) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPNetworkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPNetwork * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPNetwork * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPNetwork * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPNetwork * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPNetwork * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPNetwork * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPNetwork * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_bandWidth )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBandwidth);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_recoveredPackets )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plRecoveredPackets);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_sourceProtocol )( 
            IWMPNetwork * This,
            /* [retval][out] */ BSTR *pbstrSourceProtocol);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_receivedPackets )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plReceivedPackets);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_lostPackets )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plLostPackets);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_receptionQuality )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plReceptionQuality);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_bufferingCount )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBufferingCount);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_bufferingProgress )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBufferingProgress);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_bufferingTime )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBufferingTime);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_bufferingTime )( 
            IWMPNetwork * This,
            /* [in] */ long lBufferingTime);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_frameRate )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plFrameRate);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxBitRate )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBitRate);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_bitRate )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plBitRate);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getProxySettings )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ long *plProxySetting);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setProxySettings )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ long lProxySetting);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getProxyName )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ BSTR *pbstrProxyName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setProxyName )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ BSTR bstrProxyName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getProxyPort )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ long *lProxyPort);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setProxyPort )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ long lProxyPort);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getProxyExceptionList )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ BSTR *pbstrExceptionList);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setProxyExceptionList )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ BSTR pbstrExceptionList);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getProxyBypassForLocal )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [retval][out] */ VARIANT_BOOL *pfBypassForLocal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setProxyBypassForLocal )( 
            IWMPNetwork * This,
            /* [in] */ BSTR bstrProtocol,
            /* [in] */ VARIANT_BOOL fBypassForLocal);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxBandwidth )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *lMaxBandwidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxBandwidth )( 
            IWMPNetwork * This,
            /* [in] */ long lMaxBandwidth);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_downloadProgress )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plDownloadProgress);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_encodedFrameRate )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plFrameRate);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_framesSkipped )( 
            IWMPNetwork * This,
            /* [retval][out] */ long *plFrames);
        
        END_INTERFACE
    } IWMPNetworkVtbl;

    interface IWMPNetwork
    {
        CONST_VTBL struct IWMPNetworkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPNetwork_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPNetwork_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPNetwork_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPNetwork_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPNetwork_get_bandWidth(This,plBandwidth)	\
    (This)->lpVtbl -> get_bandWidth(This,plBandwidth)

#define IWMPNetwork_get_recoveredPackets(This,plRecoveredPackets)	\
    (This)->lpVtbl -> get_recoveredPackets(This,plRecoveredPackets)

#define IWMPNetwork_get_sourceProtocol(This,pbstrSourceProtocol)	\
    (This)->lpVtbl -> get_sourceProtocol(This,pbstrSourceProtocol)

#define IWMPNetwork_get_receivedPackets(This,plReceivedPackets)	\
    (This)->lpVtbl -> get_receivedPackets(This,plReceivedPackets)

#define IWMPNetwork_get_lostPackets(This,plLostPackets)	\
    (This)->lpVtbl -> get_lostPackets(This,plLostPackets)

#define IWMPNetwork_get_receptionQuality(This,plReceptionQuality)	\
    (This)->lpVtbl -> get_receptionQuality(This,plReceptionQuality)

#define IWMPNetwork_get_bufferingCount(This,plBufferingCount)	\
    (This)->lpVtbl -> get_bufferingCount(This,plBufferingCount)

#define IWMPNetwork_get_bufferingProgress(This,plBufferingProgress)	\
    (This)->lpVtbl -> get_bufferingProgress(This,plBufferingProgress)

#define IWMPNetwork_get_bufferingTime(This,plBufferingTime)	\
    (This)->lpVtbl -> get_bufferingTime(This,plBufferingTime)

#define IWMPNetwork_put_bufferingTime(This,lBufferingTime)	\
    (This)->lpVtbl -> put_bufferingTime(This,lBufferingTime)

#define IWMPNetwork_get_frameRate(This,plFrameRate)	\
    (This)->lpVtbl -> get_frameRate(This,plFrameRate)

#define IWMPNetwork_get_maxBitRate(This,plBitRate)	\
    (This)->lpVtbl -> get_maxBitRate(This,plBitRate)

#define IWMPNetwork_get_bitRate(This,plBitRate)	\
    (This)->lpVtbl -> get_bitRate(This,plBitRate)

#define IWMPNetwork_getProxySettings(This,bstrProtocol,plProxySetting)	\
    (This)->lpVtbl -> getProxySettings(This,bstrProtocol,plProxySetting)

#define IWMPNetwork_setProxySettings(This,bstrProtocol,lProxySetting)	\
    (This)->lpVtbl -> setProxySettings(This,bstrProtocol,lProxySetting)

#define IWMPNetwork_getProxyName(This,bstrProtocol,pbstrProxyName)	\
    (This)->lpVtbl -> getProxyName(This,bstrProtocol,pbstrProxyName)

#define IWMPNetwork_setProxyName(This,bstrProtocol,bstrProxyName)	\
    (This)->lpVtbl -> setProxyName(This,bstrProtocol,bstrProxyName)

#define IWMPNetwork_getProxyPort(This,bstrProtocol,lProxyPort)	\
    (This)->lpVtbl -> getProxyPort(This,bstrProtocol,lProxyPort)

#define IWMPNetwork_setProxyPort(This,bstrProtocol,lProxyPort)	\
    (This)->lpVtbl -> setProxyPort(This,bstrProtocol,lProxyPort)

#define IWMPNetwork_getProxyExceptionList(This,bstrProtocol,pbstrExceptionList)	\
    (This)->lpVtbl -> getProxyExceptionList(This,bstrProtocol,pbstrExceptionList)

#define IWMPNetwork_setProxyExceptionList(This,bstrProtocol,pbstrExceptionList)	\
    (This)->lpVtbl -> setProxyExceptionList(This,bstrProtocol,pbstrExceptionList)

#define IWMPNetwork_getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal)	\
    (This)->lpVtbl -> getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal)

#define IWMPNetwork_setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal)	\
    (This)->lpVtbl -> setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal)

#define IWMPNetwork_get_maxBandwidth(This,lMaxBandwidth)	\
    (This)->lpVtbl -> get_maxBandwidth(This,lMaxBandwidth)

#define IWMPNetwork_put_maxBandwidth(This,lMaxBandwidth)	\
    (This)->lpVtbl -> put_maxBandwidth(This,lMaxBandwidth)

#define IWMPNetwork_get_downloadProgress(This,plDownloadProgress)	\
    (This)->lpVtbl -> get_downloadProgress(This,plDownloadProgress)

#define IWMPNetwork_get_encodedFrameRate(This,plFrameRate)	\
    (This)->lpVtbl -> get_encodedFrameRate(This,plFrameRate)

#define IWMPNetwork_get_framesSkipped(This,plFrames)	\
    (This)->lpVtbl -> get_framesSkipped(This,plFrames)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_bandWidth_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBandwidth);


void __RPC_STUB IWMPNetwork_get_bandWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_recoveredPackets_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plRecoveredPackets);


void __RPC_STUB IWMPNetwork_get_recoveredPackets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_sourceProtocol_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ BSTR *pbstrSourceProtocol);


void __RPC_STUB IWMPNetwork_get_sourceProtocol_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_receivedPackets_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plReceivedPackets);


void __RPC_STUB IWMPNetwork_get_receivedPackets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_lostPackets_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plLostPackets);


void __RPC_STUB IWMPNetwork_get_lostPackets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_receptionQuality_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plReceptionQuality);


void __RPC_STUB IWMPNetwork_get_receptionQuality_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_bufferingCount_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBufferingCount);


void __RPC_STUB IWMPNetwork_get_bufferingCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_bufferingProgress_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBufferingProgress);


void __RPC_STUB IWMPNetwork_get_bufferingProgress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_bufferingTime_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBufferingTime);


void __RPC_STUB IWMPNetwork_get_bufferingTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_put_bufferingTime_Proxy( 
    IWMPNetwork * This,
    /* [in] */ long lBufferingTime);


void __RPC_STUB IWMPNetwork_put_bufferingTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_frameRate_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plFrameRate);


void __RPC_STUB IWMPNetwork_get_frameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_maxBitRate_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBitRate);


void __RPC_STUB IWMPNetwork_get_maxBitRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_bitRate_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plBitRate);


void __RPC_STUB IWMPNetwork_get_bitRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_getProxySettings_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [retval][out] */ long *plProxySetting);


void __RPC_STUB IWMPNetwork_getProxySettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_setProxySettings_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [in] */ long lProxySetting);


void __RPC_STUB IWMPNetwork_setProxySettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_getProxyName_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [retval][out] */ BSTR *pbstrProxyName);


void __RPC_STUB IWMPNetwork_getProxyName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_setProxyName_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [in] */ BSTR bstrProxyName);


void __RPC_STUB IWMPNetwork_setProxyName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_getProxyPort_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [retval][out] */ long *lProxyPort);


void __RPC_STUB IWMPNetwork_getProxyPort_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_setProxyPort_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [in] */ long lProxyPort);


void __RPC_STUB IWMPNetwork_setProxyPort_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_getProxyExceptionList_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [retval][out] */ BSTR *pbstrExceptionList);


void __RPC_STUB IWMPNetwork_getProxyExceptionList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_setProxyExceptionList_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [in] */ BSTR pbstrExceptionList);


void __RPC_STUB IWMPNetwork_setProxyExceptionList_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_getProxyBypassForLocal_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [retval][out] */ VARIANT_BOOL *pfBypassForLocal);


void __RPC_STUB IWMPNetwork_getProxyBypassForLocal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_setProxyBypassForLocal_Proxy( 
    IWMPNetwork * This,
    /* [in] */ BSTR bstrProtocol,
    /* [in] */ VARIANT_BOOL fBypassForLocal);


void __RPC_STUB IWMPNetwork_setProxyBypassForLocal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_maxBandwidth_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *lMaxBandwidth);


void __RPC_STUB IWMPNetwork_get_maxBandwidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_put_maxBandwidth_Proxy( 
    IWMPNetwork * This,
    /* [in] */ long lMaxBandwidth);


void __RPC_STUB IWMPNetwork_put_maxBandwidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_downloadProgress_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plDownloadProgress);


void __RPC_STUB IWMPNetwork_get_downloadProgress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_encodedFrameRate_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plFrameRate);


void __RPC_STUB IWMPNetwork_get_encodedFrameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPNetwork_get_framesSkipped_Proxy( 
    IWMPNetwork * This,
    /* [retval][out] */ long *plFrames);


void __RPC_STUB IWMPNetwork_get_framesSkipped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPNetwork_INTERFACE_DEFINED__ */


#ifndef __IWMPCore_INTERFACE_DEFINED__
#define __IWMPCore_INTERFACE_DEFINED__

/* interface IWMPCore */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPCore;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D84CCA99-CCE2-11d2-9ECC-0000F8085981")
    IWMPCore : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE close( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pbstrURL) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR bstrURL) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_openState( 
            /* [retval][out] */ WMPOpenState *pwmpos) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playState( 
            /* [retval][out] */ WMPPlayState *pwmpps) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_controls( 
            /* [retval][out] */ IWMPControls **ppControl) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_settings( 
            /* [retval][out] */ IWMPSettings **ppSettings) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentMedia( 
            /* [retval][out] */ IWMPMedia **ppMedia) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_currentMedia( 
            /* [in] */ IWMPMedia *pMedia) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_mediaCollection( 
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playlistCollection( 
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_versionInfo( 
            /* [retval][out] */ BSTR *pbstrVersionInfo) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE launchURL( 
            /* [in] */ BSTR bstrURL) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_network( 
            /* [retval][out] */ IWMPNetwork **ppQNI) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentPlaylist( 
            /* [retval][out] */ IWMPPlaylist **ppPL) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentPlaylist( 
            /* [in] */ IWMPPlaylist *pPL) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_cdromCollection( 
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_closedCaption( 
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isOnline( 
            /* [retval][out] */ VARIANT_BOOL *pfOnline) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_error( 
            /* [retval][out] */ IWMPError **ppError) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [retval][out] */ BSTR *pbstrStatus) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPCoreVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPCore * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPCore * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPCore * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPCore * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPCore * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPCore * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPCore * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPCore * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPCore * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPCore * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPCore * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPCore * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPCore * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPCore * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPCore * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPCore * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPCore * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPCore * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPCore * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        END_INTERFACE
    } IWMPCoreVtbl;

    interface IWMPCore
    {
        CONST_VTBL struct IWMPCoreVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPCore_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPCore_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPCore_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPCore_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPCore_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPCore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPCore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPCore_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPCore_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPCore_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPCore_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPCore_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPCore_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPCore_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPCore_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPCore_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPCore_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPCore_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPCore_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPCore_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPCore_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPCore_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPCore_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPCore_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPCore_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPCore_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPCore_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPCore_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_close_Proxy( 
    IWMPCore * This);


void __RPC_STUB IWMPCore_close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_URL_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ BSTR *pbstrURL);


void __RPC_STUB IWMPCore_get_URL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_put_URL_Proxy( 
    IWMPCore * This,
    /* [in] */ BSTR bstrURL);


void __RPC_STUB IWMPCore_put_URL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_openState_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ WMPOpenState *pwmpos);


void __RPC_STUB IWMPCore_get_openState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_playState_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ WMPPlayState *pwmpps);


void __RPC_STUB IWMPCore_get_playState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_controls_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPControls **ppControl);


void __RPC_STUB IWMPCore_get_controls_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_settings_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPSettings **ppSettings);


void __RPC_STUB IWMPCore_get_settings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_currentMedia_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPMedia **ppMedia);


void __RPC_STUB IWMPCore_get_currentMedia_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_put_currentMedia_Proxy( 
    IWMPCore * This,
    /* [in] */ IWMPMedia *pMedia);


void __RPC_STUB IWMPCore_put_currentMedia_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_mediaCollection_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);


void __RPC_STUB IWMPCore_get_mediaCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_playlistCollection_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);


void __RPC_STUB IWMPCore_get_playlistCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_versionInfo_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ BSTR *pbstrVersionInfo);


void __RPC_STUB IWMPCore_get_versionInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IWMPCore_launchURL_Proxy( 
    IWMPCore * This,
    /* [in] */ BSTR bstrURL);


void __RPC_STUB IWMPCore_launchURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_network_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPNetwork **ppQNI);


void __RPC_STUB IWMPCore_get_network_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_currentPlaylist_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPPlaylist **ppPL);


void __RPC_STUB IWMPCore_get_currentPlaylist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_put_currentPlaylist_Proxy( 
    IWMPCore * This,
    /* [in] */ IWMPPlaylist *pPL);


void __RPC_STUB IWMPCore_put_currentPlaylist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_cdromCollection_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);


void __RPC_STUB IWMPCore_get_cdromCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_closedCaption_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);


void __RPC_STUB IWMPCore_get_closedCaption_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_isOnline_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ VARIANT_BOOL *pfOnline);


void __RPC_STUB IWMPCore_get_isOnline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_error_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ IWMPError **ppError);


void __RPC_STUB IWMPCore_get_error_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore_get_status_Proxy( 
    IWMPCore * This,
    /* [retval][out] */ BSTR *pbstrStatus);


void __RPC_STUB IWMPCore_get_status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPCore_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayer_INTERFACE_DEFINED__
#define __IWMPPlayer_INTERFACE_DEFINED__

/* interface IWMPPlayer */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6BF52A4F-394A-11d3-B153-00C04F79FAA6")
    IWMPPlayer : public IWMPCore
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_fullScreen( 
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_fullScreen( 
            VARIANT_BOOL bFullScreen) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enableContextMenu( 
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enableContextMenu( 
            VARIANT_BOOL bEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_uiMode( 
            /* [in] */ BSTR bstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_uiMode( 
            /* [retval][out] */ BSTR *pbstrMode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayer * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlayer * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlayer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlayer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlayer * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPPlayer * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPPlayer * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPPlayer * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPPlayer * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPPlayer * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPPlayer * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPPlayer * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPPlayer * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPPlayer * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPPlayer * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPPlayer * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPPlayer * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IWMPPlayer * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IWMPPlayer * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_fullScreen )( 
            IWMPPlayer * This,
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_fullScreen )( 
            IWMPPlayer * This,
            VARIANT_BOOL bFullScreen);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableContextMenu )( 
            IWMPPlayer * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableContextMenu )( 
            IWMPPlayer * This,
            VARIANT_BOOL bEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_uiMode )( 
            IWMPPlayer * This,
            /* [in] */ BSTR bstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_uiMode )( 
            IWMPPlayer * This,
            /* [retval][out] */ BSTR *pbstrMode);
        
        END_INTERFACE
    } IWMPPlayerVtbl;

    interface IWMPPlayer
    {
        CONST_VTBL struct IWMPPlayerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayer_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlayer_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPPlayer_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPPlayer_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPPlayer_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPPlayer_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPPlayer_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPPlayer_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPPlayer_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPPlayer_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPPlayer_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPPlayer_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPPlayer_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPPlayer_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPPlayer_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPPlayer_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPPlayer_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPPlayer_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPPlayer_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPPlayer_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPPlayer_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPPlayer_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPPlayer_get_enabled(This,pbEnabled)	\
    (This)->lpVtbl -> get_enabled(This,pbEnabled)

#define IWMPPlayer_put_enabled(This,bEnabled)	\
    (This)->lpVtbl -> put_enabled(This,bEnabled)

#define IWMPPlayer_get_fullScreen(This,pbFullScreen)	\
    (This)->lpVtbl -> get_fullScreen(This,pbFullScreen)

#define IWMPPlayer_put_fullScreen(This,bFullScreen)	\
    (This)->lpVtbl -> put_fullScreen(This,bFullScreen)

#define IWMPPlayer_get_enableContextMenu(This,pbEnableContextMenu)	\
    (This)->lpVtbl -> get_enableContextMenu(This,pbEnableContextMenu)

#define IWMPPlayer_put_enableContextMenu(This,bEnableContextMenu)	\
    (This)->lpVtbl -> put_enableContextMenu(This,bEnableContextMenu)

#define IWMPPlayer_put_uiMode(This,bstrMode)	\
    (This)->lpVtbl -> put_uiMode(This,bstrMode)

#define IWMPPlayer_get_uiMode(This,pbstrMode)	\
    (This)->lpVtbl -> get_uiMode(This,pbstrMode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_get_enabled_Proxy( 
    IWMPPlayer * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_put_enabled_Proxy( 
    IWMPPlayer * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_get_fullScreen_Proxy( 
    IWMPPlayer * This,
    /* [retval][out] */ VARIANT_BOOL *pbFullScreen);


void __RPC_STUB IWMPPlayer_get_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_put_fullScreen_Proxy( 
    IWMPPlayer * This,
    VARIANT_BOOL bFullScreen);


void __RPC_STUB IWMPPlayer_put_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_get_enableContextMenu_Proxy( 
    IWMPPlayer * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);


void __RPC_STUB IWMPPlayer_get_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_put_enableContextMenu_Proxy( 
    IWMPPlayer * This,
    VARIANT_BOOL bEnableContextMenu);


void __RPC_STUB IWMPPlayer_put_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_put_uiMode_Proxy( 
    IWMPPlayer * This,
    /* [in] */ BSTR bstrMode);


void __RPC_STUB IWMPPlayer_put_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer_get_uiMode_Proxy( 
    IWMPPlayer * This,
    /* [retval][out] */ BSTR *pbstrMode);


void __RPC_STUB IWMPPlayer_get_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayer_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayer2_INTERFACE_DEFINED__
#define __IWMPPlayer2_INTERFACE_DEFINED__

/* interface IWMPPlayer2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayer2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0E6B01D1-D407-4c85-BF5F-1C01F6150280")
    IWMPPlayer2 : public IWMPCore
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_fullScreen( 
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_fullScreen( 
            VARIANT_BOOL bFullScreen) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enableContextMenu( 
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enableContextMenu( 
            VARIANT_BOOL bEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_uiMode( 
            /* [in] */ BSTR bstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_uiMode( 
            /* [retval][out] */ BSTR *pbstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_stretchToFit( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_stretchToFit( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_windowlessVideo( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_windowlessVideo( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayer2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayer2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayer2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayer2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlayer2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlayer2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlayer2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlayer2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPPlayer2 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPPlayer2 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPPlayer2 * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPPlayer2 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPPlayer2 * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IWMPPlayer2 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_fullScreen )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_fullScreen )( 
            IWMPPlayer2 * This,
            VARIANT_BOOL bFullScreen);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableContextMenu )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableContextMenu )( 
            IWMPPlayer2 * This,
            VARIANT_BOOL bEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_uiMode )( 
            IWMPPlayer2 * This,
            /* [in] */ BSTR bstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_uiMode )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ BSTR *pbstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_stretchToFit )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_stretchToFit )( 
            IWMPPlayer2 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_windowlessVideo )( 
            IWMPPlayer2 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_windowlessVideo )( 
            IWMPPlayer2 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        END_INTERFACE
    } IWMPPlayer2Vtbl;

    interface IWMPPlayer2
    {
        CONST_VTBL struct IWMPPlayer2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayer2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayer2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayer2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayer2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlayer2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlayer2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlayer2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlayer2_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPPlayer2_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPPlayer2_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPPlayer2_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPPlayer2_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPPlayer2_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPPlayer2_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPPlayer2_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPPlayer2_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPPlayer2_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPPlayer2_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPPlayer2_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPPlayer2_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPPlayer2_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPPlayer2_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPPlayer2_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPPlayer2_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPPlayer2_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPPlayer2_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPPlayer2_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPPlayer2_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPPlayer2_get_enabled(This,pbEnabled)	\
    (This)->lpVtbl -> get_enabled(This,pbEnabled)

#define IWMPPlayer2_put_enabled(This,bEnabled)	\
    (This)->lpVtbl -> put_enabled(This,bEnabled)

#define IWMPPlayer2_get_fullScreen(This,pbFullScreen)	\
    (This)->lpVtbl -> get_fullScreen(This,pbFullScreen)

#define IWMPPlayer2_put_fullScreen(This,bFullScreen)	\
    (This)->lpVtbl -> put_fullScreen(This,bFullScreen)

#define IWMPPlayer2_get_enableContextMenu(This,pbEnableContextMenu)	\
    (This)->lpVtbl -> get_enableContextMenu(This,pbEnableContextMenu)

#define IWMPPlayer2_put_enableContextMenu(This,bEnableContextMenu)	\
    (This)->lpVtbl -> put_enableContextMenu(This,bEnableContextMenu)

#define IWMPPlayer2_put_uiMode(This,bstrMode)	\
    (This)->lpVtbl -> put_uiMode(This,bstrMode)

#define IWMPPlayer2_get_uiMode(This,pbstrMode)	\
    (This)->lpVtbl -> get_uiMode(This,pbstrMode)

#define IWMPPlayer2_get_stretchToFit(This,pbEnabled)	\
    (This)->lpVtbl -> get_stretchToFit(This,pbEnabled)

#define IWMPPlayer2_put_stretchToFit(This,bEnabled)	\
    (This)->lpVtbl -> put_stretchToFit(This,bEnabled)

#define IWMPPlayer2_get_windowlessVideo(This,pbEnabled)	\
    (This)->lpVtbl -> get_windowlessVideo(This,pbEnabled)

#define IWMPPlayer2_put_windowlessVideo(This,bEnabled)	\
    (This)->lpVtbl -> put_windowlessVideo(This,bEnabled)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_enabled_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer2_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_enabled_Proxy( 
    IWMPPlayer2 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer2_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_fullScreen_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ VARIANT_BOOL *pbFullScreen);


void __RPC_STUB IWMPPlayer2_get_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_fullScreen_Proxy( 
    IWMPPlayer2 * This,
    VARIANT_BOOL bFullScreen);


void __RPC_STUB IWMPPlayer2_put_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_enableContextMenu_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);


void __RPC_STUB IWMPPlayer2_get_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_enableContextMenu_Proxy( 
    IWMPPlayer2 * This,
    VARIANT_BOOL bEnableContextMenu);


void __RPC_STUB IWMPPlayer2_put_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_uiMode_Proxy( 
    IWMPPlayer2 * This,
    /* [in] */ BSTR bstrMode);


void __RPC_STUB IWMPPlayer2_put_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_uiMode_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ BSTR *pbstrMode);


void __RPC_STUB IWMPPlayer2_get_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_stretchToFit_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer2_get_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_stretchToFit_Proxy( 
    IWMPPlayer2 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer2_put_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_get_windowlessVideo_Proxy( 
    IWMPPlayer2 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer2_get_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer2_put_windowlessVideo_Proxy( 
    IWMPPlayer2 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer2_put_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayer2_INTERFACE_DEFINED__ */


#ifndef __IWMPMedia2_INTERFACE_DEFINED__
#define __IWMPMedia2_INTERFACE_DEFINED__

/* interface IWMPMedia2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMedia2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AB7C88BB-143E-4ea4-ACC3-E4350B2106C3")
    IWMPMedia2 : public IWMPMedia
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_error( 
            /* [retval][out] */ IWMPErrorItem **ppIWMPErrorItem) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMedia2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMedia2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMedia2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMedia2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMedia2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMedia2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMedia2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMedia2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isIdentical )( 
            IWMPMedia2 * This,
            /* [in] */ IWMPMedia *pIWMPMedia,
            /* [retval][out] */ VARIANT_BOOL *pvbool);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_sourceURL )( 
            IWMPMedia2 * This,
            /* [retval][out] */ BSTR *pbstrSourceURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IWMPMedia2 * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            IWMPMedia2 * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceWidth )( 
            IWMPMedia2 * This,
            /* [retval][out] */ long *pWidth);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceHeight )( 
            IWMPMedia2 * This,
            /* [retval][out] */ long *pHeight);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_markerCount )( 
            IWMPMedia2 * This,
            /* [retval][out] */ long *pMarkerCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerTime )( 
            IWMPMedia2 * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ double *pMarkerTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerName )( 
            IWMPMedia2 * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ BSTR *pbstrMarkerName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_duration )( 
            IWMPMedia2 * This,
            /* [retval][out] */ double *pDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_durationString )( 
            IWMPMedia2 * This,
            /* [retval][out] */ BSTR *pbstrDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IWMPMedia2 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeName )( 
            IWMPMedia2 * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IWMPMedia2 * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setItemInfo )( 
            IWMPMedia2 * This,
            /* [in] */ BSTR bstrItemName,
            /* [in] */ BSTR bstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfoByAtom )( 
            IWMPMedia2 * This,
            /* [in] */ long lAtom,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isMemberOf )( 
            IWMPMedia2 * This,
            /* [in] */ IWMPPlaylist *pPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsMemberOf);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isReadOnlyItem )( 
            IWMPMedia2 * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsReadOnly);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPMedia2 * This,
            /* [retval][out] */ IWMPErrorItem **ppIWMPErrorItem);
        
        END_INTERFACE
    } IWMPMedia2Vtbl;

    interface IWMPMedia2
    {
        CONST_VTBL struct IWMPMedia2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMedia2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMedia2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMedia2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMedia2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMedia2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMedia2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMedia2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMedia2_get_isIdentical(This,pIWMPMedia,pvbool)	\
    (This)->lpVtbl -> get_isIdentical(This,pIWMPMedia,pvbool)

#define IWMPMedia2_get_sourceURL(This,pbstrSourceURL)	\
    (This)->lpVtbl -> get_sourceURL(This,pbstrSourceURL)

#define IWMPMedia2_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IWMPMedia2_put_name(This,bstrName)	\
    (This)->lpVtbl -> put_name(This,bstrName)

#define IWMPMedia2_get_imageSourceWidth(This,pWidth)	\
    (This)->lpVtbl -> get_imageSourceWidth(This,pWidth)

#define IWMPMedia2_get_imageSourceHeight(This,pHeight)	\
    (This)->lpVtbl -> get_imageSourceHeight(This,pHeight)

#define IWMPMedia2_get_markerCount(This,pMarkerCount)	\
    (This)->lpVtbl -> get_markerCount(This,pMarkerCount)

#define IWMPMedia2_getMarkerTime(This,MarkerNum,pMarkerTime)	\
    (This)->lpVtbl -> getMarkerTime(This,MarkerNum,pMarkerTime)

#define IWMPMedia2_getMarkerName(This,MarkerNum,pbstrMarkerName)	\
    (This)->lpVtbl -> getMarkerName(This,MarkerNum,pbstrMarkerName)

#define IWMPMedia2_get_duration(This,pDuration)	\
    (This)->lpVtbl -> get_duration(This,pDuration)

#define IWMPMedia2_get_durationString(This,pbstrDuration)	\
    (This)->lpVtbl -> get_durationString(This,pbstrDuration)

#define IWMPMedia2_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IWMPMedia2_getAttributeName(This,lIndex,pbstrItemName)	\
    (This)->lpVtbl -> getAttributeName(This,lIndex,pbstrItemName)

#define IWMPMedia2_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#define IWMPMedia2_setItemInfo(This,bstrItemName,bstrVal)	\
    (This)->lpVtbl -> setItemInfo(This,bstrItemName,bstrVal)

#define IWMPMedia2_getItemInfoByAtom(This,lAtom,pbstrVal)	\
    (This)->lpVtbl -> getItemInfoByAtom(This,lAtom,pbstrVal)

#define IWMPMedia2_isMemberOf(This,pPlaylist,pvarfIsMemberOf)	\
    (This)->lpVtbl -> isMemberOf(This,pPlaylist,pvarfIsMemberOf)

#define IWMPMedia2_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)	\
    (This)->lpVtbl -> isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)


#define IWMPMedia2_get_error(This,ppIWMPErrorItem)	\
    (This)->lpVtbl -> get_error(This,ppIWMPErrorItem)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMedia2_get_error_Proxy( 
    IWMPMedia2 * This,
    /* [retval][out] */ IWMPErrorItem **ppIWMPErrorItem);


void __RPC_STUB IWMPMedia2_get_error_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMedia2_INTERFACE_DEFINED__ */


#ifndef __IWMPControls2_INTERFACE_DEFINED__
#define __IWMPControls2_INTERFACE_DEFINED__

/* interface IWMPControls2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPControls2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F030D25-0890-480f-9775-1F7E40AB5B8E")
    IWMPControls2 : public IWMPControls
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE step( 
            /* [in] */ long lStep) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPControls2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPControls2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPControls2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPControls2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPControls2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPControls2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPControls2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPControls2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPControls2 * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *play )( 
            IWMPControls2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *stop )( 
            IWMPControls2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *pause )( 
            IWMPControls2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastForward )( 
            IWMPControls2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastReverse )( 
            IWMPControls2 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPosition )( 
            IWMPControls2 * This,
            /* [retval][out] */ double *pdCurrentPosition);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPosition )( 
            IWMPControls2 * This,
            /* [in] */ double dCurrentPosition);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPositionString )( 
            IWMPControls2 * This,
            /* [retval][out] */ BSTR *pbstrCurrentPosition);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *next )( 
            IWMPControls2 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *previous )( 
            IWMPControls2 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentItem )( 
            IWMPControls2 * This,
            /* [retval][out] */ IWMPMedia **ppIWMPMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentItem )( 
            IWMPControls2 * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMarker )( 
            IWMPControls2 * This,
            /* [retval][out] */ long *plMarker);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMarker )( 
            IWMPControls2 * This,
            /* [in] */ long lMarker);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *playItem )( 
            IWMPControls2 * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *step )( 
            IWMPControls2 * This,
            /* [in] */ long lStep);
        
        END_INTERFACE
    } IWMPControls2Vtbl;

    interface IWMPControls2
    {
        CONST_VTBL struct IWMPControls2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPControls2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPControls2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPControls2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPControls2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPControls2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPControls2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPControls2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPControls2_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPControls2_play(This)	\
    (This)->lpVtbl -> play(This)

#define IWMPControls2_stop(This)	\
    (This)->lpVtbl -> stop(This)

#define IWMPControls2_pause(This)	\
    (This)->lpVtbl -> pause(This)

#define IWMPControls2_fastForward(This)	\
    (This)->lpVtbl -> fastForward(This)

#define IWMPControls2_fastReverse(This)	\
    (This)->lpVtbl -> fastReverse(This)

#define IWMPControls2_get_currentPosition(This,pdCurrentPosition)	\
    (This)->lpVtbl -> get_currentPosition(This,pdCurrentPosition)

#define IWMPControls2_put_currentPosition(This,dCurrentPosition)	\
    (This)->lpVtbl -> put_currentPosition(This,dCurrentPosition)

#define IWMPControls2_get_currentPositionString(This,pbstrCurrentPosition)	\
    (This)->lpVtbl -> get_currentPositionString(This,pbstrCurrentPosition)

#define IWMPControls2_next(This)	\
    (This)->lpVtbl -> next(This)

#define IWMPControls2_previous(This)	\
    (This)->lpVtbl -> previous(This)

#define IWMPControls2_get_currentItem(This,ppIWMPMedia)	\
    (This)->lpVtbl -> get_currentItem(This,ppIWMPMedia)

#define IWMPControls2_put_currentItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> put_currentItem(This,pIWMPMedia)

#define IWMPControls2_get_currentMarker(This,plMarker)	\
    (This)->lpVtbl -> get_currentMarker(This,plMarker)

#define IWMPControls2_put_currentMarker(This,lMarker)	\
    (This)->lpVtbl -> put_currentMarker(This,lMarker)

#define IWMPControls2_playItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> playItem(This,pIWMPMedia)


#define IWMPControls2_step(This,lStep)	\
    (This)->lpVtbl -> step(This,lStep)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls2_step_Proxy( 
    IWMPControls2 * This,
    /* [in] */ long lStep);


void __RPC_STUB IWMPControls2_step_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPControls2_INTERFACE_DEFINED__ */


#ifndef __IWMPDVD_INTERFACE_DEFINED__
#define __IWMPDVD_INTERFACE_DEFINED__

/* interface IWMPDVD */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPDVD;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8DA61686-4668-4a5c-AE5D-803193293DBE")
    IWMPDVD : public IDispatch
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isAvailable( 
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_domain( 
            /* [retval][out] */ BSTR *strDomain) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE topMenu( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE titleMenu( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE back( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE resume( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPDVDVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPDVD * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPDVD * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPDVD * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPDVD * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPDVD * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPDVD * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPDVD * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPDVD * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_domain )( 
            IWMPDVD * This,
            /* [retval][out] */ BSTR *strDomain);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *topMenu )( 
            IWMPDVD * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *titleMenu )( 
            IWMPDVD * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *back )( 
            IWMPDVD * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *resume )( 
            IWMPDVD * This);
        
        END_INTERFACE
    } IWMPDVDVtbl;

    interface IWMPDVD
    {
        CONST_VTBL struct IWMPDVDVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPDVD_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPDVD_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPDVD_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPDVD_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPDVD_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPDVD_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPDVD_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPDVD_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPDVD_get_domain(This,strDomain)	\
    (This)->lpVtbl -> get_domain(This,strDomain)

#define IWMPDVD_topMenu(This)	\
    (This)->lpVtbl -> topMenu(This)

#define IWMPDVD_titleMenu(This)	\
    (This)->lpVtbl -> titleMenu(This)

#define IWMPDVD_back(This)	\
    (This)->lpVtbl -> back(This)

#define IWMPDVD_resume(This)	\
    (This)->lpVtbl -> resume(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_get_isAvailable_Proxy( 
    IWMPDVD * This,
    /* [in] */ BSTR bstrItem,
    /* [retval][out] */ VARIANT_BOOL *pIsAvailable);


void __RPC_STUB IWMPDVD_get_isAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_get_domain_Proxy( 
    IWMPDVD * This,
    /* [retval][out] */ BSTR *strDomain);


void __RPC_STUB IWMPDVD_get_domain_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_topMenu_Proxy( 
    IWMPDVD * This);


void __RPC_STUB IWMPDVD_topMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_titleMenu_Proxy( 
    IWMPDVD * This);


void __RPC_STUB IWMPDVD_titleMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_back_Proxy( 
    IWMPDVD * This);


void __RPC_STUB IWMPDVD_back_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPDVD_resume_Proxy( 
    IWMPDVD * This);


void __RPC_STUB IWMPDVD_resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPDVD_INTERFACE_DEFINED__ */


#ifndef __IWMPCore2_INTERFACE_DEFINED__
#define __IWMPCore2_INTERFACE_DEFINED__

/* interface IWMPCore2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPCore2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BC17E5B7-7561-4c18-BB90-17D485775659")
    IWMPCore2 : public IWMPCore
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_dvd( 
            /* [retval][out] */ IWMPDVD **ppDVD) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPCore2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPCore2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPCore2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPCore2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPCore2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPCore2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPCore2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPCore2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPCore2 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPCore2 * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPCore2 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPCore2 * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPCore2 * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPCore2 * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPCore2 * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPCore2 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPCore2 * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPCore2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPCore2 * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_dvd )( 
            IWMPCore2 * This,
            /* [retval][out] */ IWMPDVD **ppDVD);
        
        END_INTERFACE
    } IWMPCore2Vtbl;

    interface IWMPCore2
    {
        CONST_VTBL struct IWMPCore2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPCore2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPCore2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPCore2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPCore2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPCore2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPCore2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPCore2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPCore2_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPCore2_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPCore2_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPCore2_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPCore2_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPCore2_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPCore2_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPCore2_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPCore2_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPCore2_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPCore2_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPCore2_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPCore2_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPCore2_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPCore2_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPCore2_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPCore2_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPCore2_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPCore2_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPCore2_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPCore2_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPCore2_get_dvd(This,ppDVD)	\
    (This)->lpVtbl -> get_dvd(This,ppDVD)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPCore2_get_dvd_Proxy( 
    IWMPCore2 * This,
    /* [retval][out] */ IWMPDVD **ppDVD);


void __RPC_STUB IWMPCore2_get_dvd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPCore2_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayer3_INTERFACE_DEFINED__
#define __IWMPPlayer3_INTERFACE_DEFINED__

/* interface IWMPPlayer3 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayer3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("54062B68-052A-4c25-A39F-8B63346511D4")
    IWMPPlayer3 : public IWMPCore2
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_fullScreen( 
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_fullScreen( 
            VARIANT_BOOL bFullScreen) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enableContextMenu( 
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enableContextMenu( 
            VARIANT_BOOL bEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_uiMode( 
            /* [in] */ BSTR bstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_uiMode( 
            /* [retval][out] */ BSTR *pbstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_stretchToFit( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_stretchToFit( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_windowlessVideo( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_windowlessVideo( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayer3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayer3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayer3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayer3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlayer3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlayer3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlayer3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlayer3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPPlayer3 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPPlayer3 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPPlayer3 * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPPlayer3 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPPlayer3 * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_dvd )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ IWMPDVD **ppDVD);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IWMPPlayer3 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_fullScreen )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_fullScreen )( 
            IWMPPlayer3 * This,
            VARIANT_BOOL bFullScreen);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableContextMenu )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableContextMenu )( 
            IWMPPlayer3 * This,
            VARIANT_BOOL bEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_uiMode )( 
            IWMPPlayer3 * This,
            /* [in] */ BSTR bstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_uiMode )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ BSTR *pbstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_stretchToFit )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_stretchToFit )( 
            IWMPPlayer3 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_windowlessVideo )( 
            IWMPPlayer3 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_windowlessVideo )( 
            IWMPPlayer3 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        END_INTERFACE
    } IWMPPlayer3Vtbl;

    interface IWMPPlayer3
    {
        CONST_VTBL struct IWMPPlayer3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayer3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayer3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayer3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayer3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlayer3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlayer3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlayer3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlayer3_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPPlayer3_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPPlayer3_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPPlayer3_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPPlayer3_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPPlayer3_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPPlayer3_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPPlayer3_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPPlayer3_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPPlayer3_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPPlayer3_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPPlayer3_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPPlayer3_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPPlayer3_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPPlayer3_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPPlayer3_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPPlayer3_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPPlayer3_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPPlayer3_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPPlayer3_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPPlayer3_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPPlayer3_get_dvd(This,ppDVD)	\
    (This)->lpVtbl -> get_dvd(This,ppDVD)


#define IWMPPlayer3_get_enabled(This,pbEnabled)	\
    (This)->lpVtbl -> get_enabled(This,pbEnabled)

#define IWMPPlayer3_put_enabled(This,bEnabled)	\
    (This)->lpVtbl -> put_enabled(This,bEnabled)

#define IWMPPlayer3_get_fullScreen(This,pbFullScreen)	\
    (This)->lpVtbl -> get_fullScreen(This,pbFullScreen)

#define IWMPPlayer3_put_fullScreen(This,bFullScreen)	\
    (This)->lpVtbl -> put_fullScreen(This,bFullScreen)

#define IWMPPlayer3_get_enableContextMenu(This,pbEnableContextMenu)	\
    (This)->lpVtbl -> get_enableContextMenu(This,pbEnableContextMenu)

#define IWMPPlayer3_put_enableContextMenu(This,bEnableContextMenu)	\
    (This)->lpVtbl -> put_enableContextMenu(This,bEnableContextMenu)

#define IWMPPlayer3_put_uiMode(This,bstrMode)	\
    (This)->lpVtbl -> put_uiMode(This,bstrMode)

#define IWMPPlayer3_get_uiMode(This,pbstrMode)	\
    (This)->lpVtbl -> get_uiMode(This,pbstrMode)

#define IWMPPlayer3_get_stretchToFit(This,pbEnabled)	\
    (This)->lpVtbl -> get_stretchToFit(This,pbEnabled)

#define IWMPPlayer3_put_stretchToFit(This,bEnabled)	\
    (This)->lpVtbl -> put_stretchToFit(This,bEnabled)

#define IWMPPlayer3_get_windowlessVideo(This,pbEnabled)	\
    (This)->lpVtbl -> get_windowlessVideo(This,pbEnabled)

#define IWMPPlayer3_put_windowlessVideo(This,bEnabled)	\
    (This)->lpVtbl -> put_windowlessVideo(This,bEnabled)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_enabled_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer3_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_enabled_Proxy( 
    IWMPPlayer3 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer3_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_fullScreen_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ VARIANT_BOOL *pbFullScreen);


void __RPC_STUB IWMPPlayer3_get_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_fullScreen_Proxy( 
    IWMPPlayer3 * This,
    VARIANT_BOOL bFullScreen);


void __RPC_STUB IWMPPlayer3_put_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_enableContextMenu_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);


void __RPC_STUB IWMPPlayer3_get_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_enableContextMenu_Proxy( 
    IWMPPlayer3 * This,
    VARIANT_BOOL bEnableContextMenu);


void __RPC_STUB IWMPPlayer3_put_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_uiMode_Proxy( 
    IWMPPlayer3 * This,
    /* [in] */ BSTR bstrMode);


void __RPC_STUB IWMPPlayer3_put_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_uiMode_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ BSTR *pbstrMode);


void __RPC_STUB IWMPPlayer3_get_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_stretchToFit_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer3_get_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_stretchToFit_Proxy( 
    IWMPPlayer3 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer3_put_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_get_windowlessVideo_Proxy( 
    IWMPPlayer3 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer3_get_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer3_put_windowlessVideo_Proxy( 
    IWMPPlayer3 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer3_put_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayer3_INTERFACE_DEFINED__ */


#ifndef __IWMPErrorItem2_INTERFACE_DEFINED__
#define __IWMPErrorItem2_INTERFACE_DEFINED__

/* interface IWMPErrorItem2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPErrorItem2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F75CCEC0-C67C-475c-931E-8719870BEE7D")
    IWMPErrorItem2 : public IWMPErrorItem
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_condition( 
            /* [retval][out] */ long *plCondition) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPErrorItem2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPErrorItem2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPErrorItem2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPErrorItem2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPErrorItem2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPErrorItem2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPErrorItem2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPErrorItem2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ long *phr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorDescription )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_errorContext )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ VARIANT *pvarContext);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_remedy )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ long *plRemedy);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_customUrl )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ BSTR *pbstrCustomUrl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_condition )( 
            IWMPErrorItem2 * This,
            /* [retval][out] */ long *plCondition);
        
        END_INTERFACE
    } IWMPErrorItem2Vtbl;

    interface IWMPErrorItem2
    {
        CONST_VTBL struct IWMPErrorItem2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPErrorItem2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPErrorItem2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPErrorItem2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPErrorItem2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPErrorItem2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPErrorItem2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPErrorItem2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPErrorItem2_get_errorCode(This,phr)	\
    (This)->lpVtbl -> get_errorCode(This,phr)

#define IWMPErrorItem2_get_errorDescription(This,pbstrDescription)	\
    (This)->lpVtbl -> get_errorDescription(This,pbstrDescription)

#define IWMPErrorItem2_get_errorContext(This,pvarContext)	\
    (This)->lpVtbl -> get_errorContext(This,pvarContext)

#define IWMPErrorItem2_get_remedy(This,plRemedy)	\
    (This)->lpVtbl -> get_remedy(This,plRemedy)

#define IWMPErrorItem2_get_customUrl(This,pbstrCustomUrl)	\
    (This)->lpVtbl -> get_customUrl(This,pbstrCustomUrl)


#define IWMPErrorItem2_get_condition(This,plCondition)	\
    (This)->lpVtbl -> get_condition(This,plCondition)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPErrorItem2_get_condition_Proxy( 
    IWMPErrorItem2 * This,
    /* [retval][out] */ long *plCondition);


void __RPC_STUB IWMPErrorItem2_get_condition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPErrorItem2_INTERFACE_DEFINED__ */


#ifndef __IWMPRemoteMediaServices_INTERFACE_DEFINED__
#define __IWMPRemoteMediaServices_INTERFACE_DEFINED__

/* interface IWMPRemoteMediaServices */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPRemoteMediaServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CBB92747-741F-44fe-AB5B-F1A48F3B2A59")
    IWMPRemoteMediaServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetServiceType( 
            /* [out] */ BSTR *pbstrType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetApplicationName( 
            /* [out] */ BSTR *pbstrName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScriptableObject( 
            /* [out] */ BSTR *pbstrName,
            /* [out] */ IDispatch **ppDispatch) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCustomUIMode( 
            /* [out] */ BSTR *pbstrFile) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPRemoteMediaServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPRemoteMediaServices * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPRemoteMediaServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPRemoteMediaServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetServiceType )( 
            IWMPRemoteMediaServices * This,
            /* [out] */ BSTR *pbstrType);
        
        HRESULT ( STDMETHODCALLTYPE *GetApplicationName )( 
            IWMPRemoteMediaServices * This,
            /* [out] */ BSTR *pbstrName);
        
        HRESULT ( STDMETHODCALLTYPE *GetScriptableObject )( 
            IWMPRemoteMediaServices * This,
            /* [out] */ BSTR *pbstrName,
            /* [out] */ IDispatch **ppDispatch);
        
        HRESULT ( STDMETHODCALLTYPE *GetCustomUIMode )( 
            IWMPRemoteMediaServices * This,
            /* [out] */ BSTR *pbstrFile);
        
        END_INTERFACE
    } IWMPRemoteMediaServicesVtbl;

    interface IWMPRemoteMediaServices
    {
        CONST_VTBL struct IWMPRemoteMediaServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPRemoteMediaServices_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPRemoteMediaServices_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPRemoteMediaServices_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPRemoteMediaServices_GetServiceType(This,pbstrType)	\
    (This)->lpVtbl -> GetServiceType(This,pbstrType)

#define IWMPRemoteMediaServices_GetApplicationName(This,pbstrName)	\
    (This)->lpVtbl -> GetApplicationName(This,pbstrName)

#define IWMPRemoteMediaServices_GetScriptableObject(This,pbstrName,ppDispatch)	\
    (This)->lpVtbl -> GetScriptableObject(This,pbstrName,ppDispatch)

#define IWMPRemoteMediaServices_GetCustomUIMode(This,pbstrFile)	\
    (This)->lpVtbl -> GetCustomUIMode(This,pbstrFile)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMPRemoteMediaServices_GetServiceType_Proxy( 
    IWMPRemoteMediaServices * This,
    /* [out] */ BSTR *pbstrType);


void __RPC_STUB IWMPRemoteMediaServices_GetServiceType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPRemoteMediaServices_GetApplicationName_Proxy( 
    IWMPRemoteMediaServices * This,
    /* [out] */ BSTR *pbstrName);


void __RPC_STUB IWMPRemoteMediaServices_GetApplicationName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPRemoteMediaServices_GetScriptableObject_Proxy( 
    IWMPRemoteMediaServices * This,
    /* [out] */ BSTR *pbstrName,
    /* [out] */ IDispatch **ppDispatch);


void __RPC_STUB IWMPRemoteMediaServices_GetScriptableObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPRemoteMediaServices_GetCustomUIMode_Proxy( 
    IWMPRemoteMediaServices * This,
    /* [out] */ BSTR *pbstrFile);


void __RPC_STUB IWMPRemoteMediaServices_GetCustomUIMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPRemoteMediaServices_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_wmp_0285 */
/* [local] */ 

EXTERN_GUID( CLSID_WMPSkinManager, 0xB2A7FD52,0x301F,0x4348, 0xB9, 0x3A, 0x63, 0x8C, 0x6D, 0xE4, 0x92, 0x29 );


extern RPC_IF_HANDLE __MIDL_itf_wmp_0285_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmp_0285_v0_0_s_ifspec;

#ifndef __IWMPSkinManager_INTERFACE_DEFINED__
#define __IWMPSkinManager_INTERFACE_DEFINED__

/* interface IWMPSkinManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPSkinManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("076F2FA6-ED30-448B-8CC5-3F3EF3529C7A")
    IWMPSkinManager : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetVisualStyle( 
            /* [in] */ BSTR bstrPath) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPSkinManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPSkinManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPSkinManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPSkinManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetVisualStyle )( 
            IWMPSkinManager * This,
            /* [in] */ BSTR bstrPath);
        
        END_INTERFACE
    } IWMPSkinManagerVtbl;

    interface IWMPSkinManager
    {
        CONST_VTBL struct IWMPSkinManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPSkinManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPSkinManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPSkinManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPSkinManager_SetVisualStyle(This,bstrPath)	\
    (This)->lpVtbl -> SetVisualStyle(This,bstrPath)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMPSkinManager_SetVisualStyle_Proxy( 
    IWMPSkinManager * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB IWMPSkinManager_SetVisualStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPSkinManager_INTERFACE_DEFINED__ */


#ifndef __IWMPMetadataPicture_INTERFACE_DEFINED__
#define __IWMPMetadataPicture_INTERFACE_DEFINED__

/* interface IWMPMetadataPicture */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMetadataPicture;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5C29BBE0-F87D-4c45-AA28-A70F0230FFA9")
    IWMPMetadataPicture : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_mimeType( 
            /* [retval][out] */ BSTR *pbstrMimeType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_pictureType( 
            /* [retval][out] */ BSTR *pbstrPictureType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_description( 
            /* [retval][out] */ BSTR *pbstrDescription) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pbstrURL) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMetadataPictureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMetadataPicture * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMetadataPicture * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMetadataPicture * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMetadataPicture * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMetadataPicture * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMetadataPicture * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMetadataPicture * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mimeType )( 
            IWMPMetadataPicture * This,
            /* [retval][out] */ BSTR *pbstrMimeType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_pictureType )( 
            IWMPMetadataPicture * This,
            /* [retval][out] */ BSTR *pbstrPictureType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_description )( 
            IWMPMetadataPicture * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPMetadataPicture * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        END_INTERFACE
    } IWMPMetadataPictureVtbl;

    interface IWMPMetadataPicture
    {
        CONST_VTBL struct IWMPMetadataPictureVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMetadataPicture_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMetadataPicture_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMetadataPicture_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMetadataPicture_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMetadataPicture_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMetadataPicture_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMetadataPicture_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMetadataPicture_get_mimeType(This,pbstrMimeType)	\
    (This)->lpVtbl -> get_mimeType(This,pbstrMimeType)

#define IWMPMetadataPicture_get_pictureType(This,pbstrPictureType)	\
    (This)->lpVtbl -> get_pictureType(This,pbstrPictureType)

#define IWMPMetadataPicture_get_description(This,pbstrDescription)	\
    (This)->lpVtbl -> get_description(This,pbstrDescription)

#define IWMPMetadataPicture_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataPicture_get_mimeType_Proxy( 
    IWMPMetadataPicture * This,
    /* [retval][out] */ BSTR *pbstrMimeType);


void __RPC_STUB IWMPMetadataPicture_get_mimeType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataPicture_get_pictureType_Proxy( 
    IWMPMetadataPicture * This,
    /* [retval][out] */ BSTR *pbstrPictureType);


void __RPC_STUB IWMPMetadataPicture_get_pictureType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataPicture_get_description_Proxy( 
    IWMPMetadataPicture * This,
    /* [retval][out] */ BSTR *pbstrDescription);


void __RPC_STUB IWMPMetadataPicture_get_description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataPicture_get_URL_Proxy( 
    IWMPMetadataPicture * This,
    /* [retval][out] */ BSTR *pbstrURL);


void __RPC_STUB IWMPMetadataPicture_get_URL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMetadataPicture_INTERFACE_DEFINED__ */


#ifndef __IWMPMetadataText_INTERFACE_DEFINED__
#define __IWMPMetadataText_INTERFACE_DEFINED__

/* interface IWMPMetadataText */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMetadataText;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("769A72DB-13D2-45e2-9C48-53CA9D5B7450")
    IWMPMetadataText : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_description( 
            /* [retval][out] */ BSTR *pbstrDescription) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMetadataTextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMetadataText * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMetadataText * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMetadataText * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMetadataText * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMetadataText * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMetadataText * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMetadataText * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_description )( 
            IWMPMetadataText * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            IWMPMetadataText * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        END_INTERFACE
    } IWMPMetadataTextVtbl;

    interface IWMPMetadataText
    {
        CONST_VTBL struct IWMPMetadataTextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMetadataText_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMetadataText_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMetadataText_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMetadataText_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMetadataText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMetadataText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMetadataText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMetadataText_get_description(This,pbstrDescription)	\
    (This)->lpVtbl -> get_description(This,pbstrDescription)

#define IWMPMetadataText_get_text(This,pbstrText)	\
    (This)->lpVtbl -> get_text(This,pbstrText)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataText_get_description_Proxy( 
    IWMPMetadataText * This,
    /* [retval][out] */ BSTR *pbstrDescription);


void __RPC_STUB IWMPMetadataText_get_description_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPMetadataText_get_text_Proxy( 
    IWMPMetadataText * This,
    /* [retval][out] */ BSTR *pbstrText);


void __RPC_STUB IWMPMetadataText_get_text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMetadataText_INTERFACE_DEFINED__ */


#ifndef __IWMPMedia3_INTERFACE_DEFINED__
#define __IWMPMedia3_INTERFACE_DEFINED__

/* interface IWMPMedia3 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPMedia3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F118EFC7-F03A-4fb4-99C9-1C02A5C1065B")
    IWMPMedia3 : public IWMPMedia2
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeCountByType( 
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrLanguage,
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItemInfoByType( 
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrLanguage,
            /* [in] */ long lIndex,
            /* [retval][out] */ VARIANT *pvarValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPMedia3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPMedia3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPMedia3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPMedia3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPMedia3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPMedia3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPMedia3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPMedia3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isIdentical )( 
            IWMPMedia3 * This,
            /* [in] */ IWMPMedia *pIWMPMedia,
            /* [retval][out] */ VARIANT_BOOL *pvbool);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_sourceURL )( 
            IWMPMedia3 * This,
            /* [retval][out] */ BSTR *pbstrSourceURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IWMPMedia3 * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceWidth )( 
            IWMPMedia3 * This,
            /* [retval][out] */ long *pWidth);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_imageSourceHeight )( 
            IWMPMedia3 * This,
            /* [retval][out] */ long *pHeight);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_markerCount )( 
            IWMPMedia3 * This,
            /* [retval][out] */ long *pMarkerCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerTime )( 
            IWMPMedia3 * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ double *pMarkerTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMarkerName )( 
            IWMPMedia3 * This,
            /* [in] */ long MarkerNum,
            /* [retval][out] */ BSTR *pbstrMarkerName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_duration )( 
            IWMPMedia3 * This,
            /* [retval][out] */ double *pDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_durationString )( 
            IWMPMedia3 * This,
            /* [retval][out] */ BSTR *pbstrDuration);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_attributeCount )( 
            IWMPMedia3 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeName )( 
            IWMPMedia3 * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrItemName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setItemInfo )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrItemName,
            /* [in] */ BSTR bstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfoByAtom )( 
            IWMPMedia3 * This,
            /* [in] */ long lAtom,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isMemberOf )( 
            IWMPMedia3 * This,
            /* [in] */ IWMPPlaylist *pPlaylist,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsMemberOf);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *isReadOnlyItem )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsReadOnly);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPMedia3 * This,
            /* [retval][out] */ IWMPErrorItem **ppIWMPErrorItem);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeCountByType )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrLanguage,
            /* [retval][out] */ long *plCount);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItemInfoByType )( 
            IWMPMedia3 * This,
            /* [in] */ BSTR bstrType,
            /* [in] */ BSTR bstrLanguage,
            /* [in] */ long lIndex,
            /* [retval][out] */ VARIANT *pvarValue);
        
        END_INTERFACE
    } IWMPMedia3Vtbl;

    interface IWMPMedia3
    {
        CONST_VTBL struct IWMPMedia3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPMedia3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPMedia3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPMedia3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPMedia3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPMedia3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPMedia3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPMedia3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPMedia3_get_isIdentical(This,pIWMPMedia,pvbool)	\
    (This)->lpVtbl -> get_isIdentical(This,pIWMPMedia,pvbool)

#define IWMPMedia3_get_sourceURL(This,pbstrSourceURL)	\
    (This)->lpVtbl -> get_sourceURL(This,pbstrSourceURL)

#define IWMPMedia3_get_name(This,pbstrName)	\
    (This)->lpVtbl -> get_name(This,pbstrName)

#define IWMPMedia3_put_name(This,bstrName)	\
    (This)->lpVtbl -> put_name(This,bstrName)

#define IWMPMedia3_get_imageSourceWidth(This,pWidth)	\
    (This)->lpVtbl -> get_imageSourceWidth(This,pWidth)

#define IWMPMedia3_get_imageSourceHeight(This,pHeight)	\
    (This)->lpVtbl -> get_imageSourceHeight(This,pHeight)

#define IWMPMedia3_get_markerCount(This,pMarkerCount)	\
    (This)->lpVtbl -> get_markerCount(This,pMarkerCount)

#define IWMPMedia3_getMarkerTime(This,MarkerNum,pMarkerTime)	\
    (This)->lpVtbl -> getMarkerTime(This,MarkerNum,pMarkerTime)

#define IWMPMedia3_getMarkerName(This,MarkerNum,pbstrMarkerName)	\
    (This)->lpVtbl -> getMarkerName(This,MarkerNum,pbstrMarkerName)

#define IWMPMedia3_get_duration(This,pDuration)	\
    (This)->lpVtbl -> get_duration(This,pDuration)

#define IWMPMedia3_get_durationString(This,pbstrDuration)	\
    (This)->lpVtbl -> get_durationString(This,pbstrDuration)

#define IWMPMedia3_get_attributeCount(This,plCount)	\
    (This)->lpVtbl -> get_attributeCount(This,plCount)

#define IWMPMedia3_getAttributeName(This,lIndex,pbstrItemName)	\
    (This)->lpVtbl -> getAttributeName(This,lIndex,pbstrItemName)

#define IWMPMedia3_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#define IWMPMedia3_setItemInfo(This,bstrItemName,bstrVal)	\
    (This)->lpVtbl -> setItemInfo(This,bstrItemName,bstrVal)

#define IWMPMedia3_getItemInfoByAtom(This,lAtom,pbstrVal)	\
    (This)->lpVtbl -> getItemInfoByAtom(This,lAtom,pbstrVal)

#define IWMPMedia3_isMemberOf(This,pPlaylist,pvarfIsMemberOf)	\
    (This)->lpVtbl -> isMemberOf(This,pPlaylist,pvarfIsMemberOf)

#define IWMPMedia3_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)	\
    (This)->lpVtbl -> isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)


#define IWMPMedia3_get_error(This,ppIWMPErrorItem)	\
    (This)->lpVtbl -> get_error(This,ppIWMPErrorItem)


#define IWMPMedia3_getAttributeCountByType(This,bstrType,bstrLanguage,plCount)	\
    (This)->lpVtbl -> getAttributeCountByType(This,bstrType,bstrLanguage,plCount)

#define IWMPMedia3_getItemInfoByType(This,bstrType,bstrLanguage,lIndex,pvarValue)	\
    (This)->lpVtbl -> getItemInfoByType(This,bstrType,bstrLanguage,lIndex,pvarValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IWMPMedia3_getAttributeCountByType_Proxy( 
    IWMPMedia3 * This,
    /* [in] */ BSTR bstrType,
    /* [in] */ BSTR bstrLanguage,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPMedia3_getAttributeCountByType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IWMPMedia3_getItemInfoByType_Proxy( 
    IWMPMedia3 * This,
    /* [in] */ BSTR bstrType,
    /* [in] */ BSTR bstrLanguage,
    /* [in] */ long lIndex,
    /* [retval][out] */ VARIANT *pvarValue);


void __RPC_STUB IWMPMedia3_getItemInfoByType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPMedia3_INTERFACE_DEFINED__ */


#ifndef __IWMPSettings2_INTERFACE_DEFINED__
#define __IWMPSettings2_INTERFACE_DEFINED__

/* interface IWMPSettings2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPSettings2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FDA937A4-EECE-4da5-A0B6-39BF89ADE2C2")
    IWMPSettings2 : public IWMPSettings
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_defaultAudioLanguage( 
            /* [retval][out] */ long *plLangID) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_mediaAccessRights( 
            /* [retval][out] */ BSTR *pbstrRights) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE requestMediaAccessRights( 
            /* [in] */ BSTR bstrDesiredAccess,
            /* [retval][out] */ VARIANT_BOOL *pvbAccepted) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPSettings2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPSettings2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPSettings2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPSettings2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPSettings2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPSettings2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPSettings2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPSettings2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_autoStart )( 
            IWMPSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfAutoStart);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_autoStart )( 
            IWMPSettings2 * This,
            /* [in] */ VARIANT_BOOL fAutoStart);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_baseURL )( 
            IWMPSettings2 * This,
            /* [retval][out] */ BSTR *pbstrBaseURL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_baseURL )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrBaseURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_defaultFrame )( 
            IWMPSettings2 * This,
            /* [retval][out] */ BSTR *pbstrDefaultFrame);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_defaultFrame )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrDefaultFrame);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_invokeURLs )( 
            IWMPSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfInvokeURLs);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_invokeURLs )( 
            IWMPSettings2 * This,
            /* [in] */ VARIANT_BOOL fInvokeURLs);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mute )( 
            IWMPSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfMute);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_mute )( 
            IWMPSettings2 * This,
            /* [in] */ VARIANT_BOOL fMute);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playCount )( 
            IWMPSettings2 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_playCount )( 
            IWMPSettings2 * This,
            /* [in] */ long lCount);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_rate )( 
            IWMPSettings2 * This,
            /* [retval][out] */ double *pdRate);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_rate )( 
            IWMPSettings2 * This,
            /* [in] */ double dRate);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_balance )( 
            IWMPSettings2 * This,
            /* [retval][out] */ long *plBalance);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_balance )( 
            IWMPSettings2 * This,
            /* [in] */ long lBalance);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_volume )( 
            IWMPSettings2 * This,
            /* [retval][out] */ long *plVolume);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_volume )( 
            IWMPSettings2 * This,
            /* [in] */ long lVolume);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getMode )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrMode,
            /* [retval][out] */ VARIANT_BOOL *pvarfMode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *setMode )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrMode,
            /* [in] */ VARIANT_BOOL varfMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableErrorDialogs )( 
            IWMPSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfEnableErrorDialogs);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableErrorDialogs )( 
            IWMPSettings2 * This,
            /* [in] */ VARIANT_BOOL fEnableErrorDialogs);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_defaultAudioLanguage )( 
            IWMPSettings2 * This,
            /* [retval][out] */ long *plLangID);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaAccessRights )( 
            IWMPSettings2 * This,
            /* [retval][out] */ BSTR *pbstrRights);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *requestMediaAccessRights )( 
            IWMPSettings2 * This,
            /* [in] */ BSTR bstrDesiredAccess,
            /* [retval][out] */ VARIANT_BOOL *pvbAccepted);
        
        END_INTERFACE
    } IWMPSettings2Vtbl;

    interface IWMPSettings2
    {
        CONST_VTBL struct IWMPSettings2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPSettings2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPSettings2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPSettings2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPSettings2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPSettings2_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPSettings2_get_autoStart(This,pfAutoStart)	\
    (This)->lpVtbl -> get_autoStart(This,pfAutoStart)

#define IWMPSettings2_put_autoStart(This,fAutoStart)	\
    (This)->lpVtbl -> put_autoStart(This,fAutoStart)

#define IWMPSettings2_get_baseURL(This,pbstrBaseURL)	\
    (This)->lpVtbl -> get_baseURL(This,pbstrBaseURL)

#define IWMPSettings2_put_baseURL(This,bstrBaseURL)	\
    (This)->lpVtbl -> put_baseURL(This,bstrBaseURL)

#define IWMPSettings2_get_defaultFrame(This,pbstrDefaultFrame)	\
    (This)->lpVtbl -> get_defaultFrame(This,pbstrDefaultFrame)

#define IWMPSettings2_put_defaultFrame(This,bstrDefaultFrame)	\
    (This)->lpVtbl -> put_defaultFrame(This,bstrDefaultFrame)

#define IWMPSettings2_get_invokeURLs(This,pfInvokeURLs)	\
    (This)->lpVtbl -> get_invokeURLs(This,pfInvokeURLs)

#define IWMPSettings2_put_invokeURLs(This,fInvokeURLs)	\
    (This)->lpVtbl -> put_invokeURLs(This,fInvokeURLs)

#define IWMPSettings2_get_mute(This,pfMute)	\
    (This)->lpVtbl -> get_mute(This,pfMute)

#define IWMPSettings2_put_mute(This,fMute)	\
    (This)->lpVtbl -> put_mute(This,fMute)

#define IWMPSettings2_get_playCount(This,plCount)	\
    (This)->lpVtbl -> get_playCount(This,plCount)

#define IWMPSettings2_put_playCount(This,lCount)	\
    (This)->lpVtbl -> put_playCount(This,lCount)

#define IWMPSettings2_get_rate(This,pdRate)	\
    (This)->lpVtbl -> get_rate(This,pdRate)

#define IWMPSettings2_put_rate(This,dRate)	\
    (This)->lpVtbl -> put_rate(This,dRate)

#define IWMPSettings2_get_balance(This,plBalance)	\
    (This)->lpVtbl -> get_balance(This,plBalance)

#define IWMPSettings2_put_balance(This,lBalance)	\
    (This)->lpVtbl -> put_balance(This,lBalance)

#define IWMPSettings2_get_volume(This,plVolume)	\
    (This)->lpVtbl -> get_volume(This,plVolume)

#define IWMPSettings2_put_volume(This,lVolume)	\
    (This)->lpVtbl -> put_volume(This,lVolume)

#define IWMPSettings2_getMode(This,bstrMode,pvarfMode)	\
    (This)->lpVtbl -> getMode(This,bstrMode,pvarfMode)

#define IWMPSettings2_setMode(This,bstrMode,varfMode)	\
    (This)->lpVtbl -> setMode(This,bstrMode,varfMode)

#define IWMPSettings2_get_enableErrorDialogs(This,pfEnableErrorDialogs)	\
    (This)->lpVtbl -> get_enableErrorDialogs(This,pfEnableErrorDialogs)

#define IWMPSettings2_put_enableErrorDialogs(This,fEnableErrorDialogs)	\
    (This)->lpVtbl -> put_enableErrorDialogs(This,fEnableErrorDialogs)


#define IWMPSettings2_get_defaultAudioLanguage(This,plLangID)	\
    (This)->lpVtbl -> get_defaultAudioLanguage(This,plLangID)

#define IWMPSettings2_get_mediaAccessRights(This,pbstrRights)	\
    (This)->lpVtbl -> get_mediaAccessRights(This,pbstrRights)

#define IWMPSettings2_requestMediaAccessRights(This,bstrDesiredAccess,pvbAccepted)	\
    (This)->lpVtbl -> requestMediaAccessRights(This,bstrDesiredAccess,pvbAccepted)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings2_get_defaultAudioLanguage_Proxy( 
    IWMPSettings2 * This,
    /* [retval][out] */ long *plLangID);


void __RPC_STUB IWMPSettings2_get_defaultAudioLanguage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IWMPSettings2_get_mediaAccessRights_Proxy( 
    IWMPSettings2 * This,
    /* [retval][out] */ BSTR *pbstrRights);


void __RPC_STUB IWMPSettings2_get_mediaAccessRights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IWMPSettings2_requestMediaAccessRights_Proxy( 
    IWMPSettings2 * This,
    /* [in] */ BSTR bstrDesiredAccess,
    /* [retval][out] */ VARIANT_BOOL *pvbAccepted);


void __RPC_STUB IWMPSettings2_requestMediaAccessRights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPSettings2_INTERFACE_DEFINED__ */


#ifndef __IWMPControls3_INTERFACE_DEFINED__
#define __IWMPControls3_INTERFACE_DEFINED__

/* interface IWMPControls3 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPControls3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A1D1110E-D545-476a-9A78-AC3E4CB1E6BD")
    IWMPControls3 : public IWMPControls2
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_audioLanguageCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAudioLanguageID( 
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plLangID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getAudioLanguageDescription( 
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrLangDesc) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentAudioLanguage( 
            /* [retval][out] */ long *plLangID) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentAudioLanguage( 
            /* [in] */ long lLangID) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentAudioLanguageIndex( 
            /* [retval][out] */ long *plIndex) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentAudioLanguageIndex( 
            /* [in] */ long lIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getLanguageName( 
            /* [in] */ long lLangID,
            /* [retval][out] */ BSTR *pbstrLangName) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_currentPositionTimecode( 
            /* [retval][out] */ BSTR *bstrTimecode) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_currentPositionTimecode( 
            /* [in] */ BSTR bstrTimecode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPControls3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPControls3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPControls3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPControls3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPControls3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPControls3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPControls3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPControls3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isAvailable )( 
            IWMPControls3 * This,
            /* [in] */ BSTR bstrItem,
            /* [retval][out] */ VARIANT_BOOL *pIsAvailable);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *play )( 
            IWMPControls3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *stop )( 
            IWMPControls3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *pause )( 
            IWMPControls3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastForward )( 
            IWMPControls3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *fastReverse )( 
            IWMPControls3 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPosition )( 
            IWMPControls3 * This,
            /* [retval][out] */ double *pdCurrentPosition);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPosition )( 
            IWMPControls3 * This,
            /* [in] */ double dCurrentPosition);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPositionString )( 
            IWMPControls3 * This,
            /* [retval][out] */ BSTR *pbstrCurrentPosition);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *next )( 
            IWMPControls3 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *previous )( 
            IWMPControls3 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentItem )( 
            IWMPControls3 * This,
            /* [retval][out] */ IWMPMedia **ppIWMPMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentItem )( 
            IWMPControls3 * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMarker )( 
            IWMPControls3 * This,
            /* [retval][out] */ long *plMarker);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMarker )( 
            IWMPControls3 * This,
            /* [in] */ long lMarker);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *playItem )( 
            IWMPControls3 * This,
            /* [in] */ IWMPMedia *pIWMPMedia);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *step )( 
            IWMPControls3 * This,
            /* [in] */ long lStep);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_audioLanguageCount )( 
            IWMPControls3 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAudioLanguageID )( 
            IWMPControls3 * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ long *plLangID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getAudioLanguageDescription )( 
            IWMPControls3 * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ BSTR *pbstrLangDesc);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentAudioLanguage )( 
            IWMPControls3 * This,
            /* [retval][out] */ long *plLangID);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentAudioLanguage )( 
            IWMPControls3 * This,
            /* [in] */ long lLangID);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentAudioLanguageIndex )( 
            IWMPControls3 * This,
            /* [retval][out] */ long *plIndex);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentAudioLanguageIndex )( 
            IWMPControls3 * This,
            /* [in] */ long lIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getLanguageName )( 
            IWMPControls3 * This,
            /* [in] */ long lLangID,
            /* [retval][out] */ BSTR *pbstrLangName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPositionTimecode )( 
            IWMPControls3 * This,
            /* [retval][out] */ BSTR *bstrTimecode);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPositionTimecode )( 
            IWMPControls3 * This,
            /* [in] */ BSTR bstrTimecode);
        
        END_INTERFACE
    } IWMPControls3Vtbl;

    interface IWMPControls3
    {
        CONST_VTBL struct IWMPControls3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPControls3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPControls3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPControls3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPControls3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPControls3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPControls3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPControls3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPControls3_get_isAvailable(This,bstrItem,pIsAvailable)	\
    (This)->lpVtbl -> get_isAvailable(This,bstrItem,pIsAvailable)

#define IWMPControls3_play(This)	\
    (This)->lpVtbl -> play(This)

#define IWMPControls3_stop(This)	\
    (This)->lpVtbl -> stop(This)

#define IWMPControls3_pause(This)	\
    (This)->lpVtbl -> pause(This)

#define IWMPControls3_fastForward(This)	\
    (This)->lpVtbl -> fastForward(This)

#define IWMPControls3_fastReverse(This)	\
    (This)->lpVtbl -> fastReverse(This)

#define IWMPControls3_get_currentPosition(This,pdCurrentPosition)	\
    (This)->lpVtbl -> get_currentPosition(This,pdCurrentPosition)

#define IWMPControls3_put_currentPosition(This,dCurrentPosition)	\
    (This)->lpVtbl -> put_currentPosition(This,dCurrentPosition)

#define IWMPControls3_get_currentPositionString(This,pbstrCurrentPosition)	\
    (This)->lpVtbl -> get_currentPositionString(This,pbstrCurrentPosition)

#define IWMPControls3_next(This)	\
    (This)->lpVtbl -> next(This)

#define IWMPControls3_previous(This)	\
    (This)->lpVtbl -> previous(This)

#define IWMPControls3_get_currentItem(This,ppIWMPMedia)	\
    (This)->lpVtbl -> get_currentItem(This,ppIWMPMedia)

#define IWMPControls3_put_currentItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> put_currentItem(This,pIWMPMedia)

#define IWMPControls3_get_currentMarker(This,plMarker)	\
    (This)->lpVtbl -> get_currentMarker(This,plMarker)

#define IWMPControls3_put_currentMarker(This,lMarker)	\
    (This)->lpVtbl -> put_currentMarker(This,lMarker)

#define IWMPControls3_playItem(This,pIWMPMedia)	\
    (This)->lpVtbl -> playItem(This,pIWMPMedia)


#define IWMPControls3_step(This,lStep)	\
    (This)->lpVtbl -> step(This,lStep)


#define IWMPControls3_get_audioLanguageCount(This,plCount)	\
    (This)->lpVtbl -> get_audioLanguageCount(This,plCount)

#define IWMPControls3_getAudioLanguageID(This,lIndex,plLangID)	\
    (This)->lpVtbl -> getAudioLanguageID(This,lIndex,plLangID)

#define IWMPControls3_getAudioLanguageDescription(This,lIndex,pbstrLangDesc)	\
    (This)->lpVtbl -> getAudioLanguageDescription(This,lIndex,pbstrLangDesc)

#define IWMPControls3_get_currentAudioLanguage(This,plLangID)	\
    (This)->lpVtbl -> get_currentAudioLanguage(This,plLangID)

#define IWMPControls3_put_currentAudioLanguage(This,lLangID)	\
    (This)->lpVtbl -> put_currentAudioLanguage(This,lLangID)

#define IWMPControls3_get_currentAudioLanguageIndex(This,plIndex)	\
    (This)->lpVtbl -> get_currentAudioLanguageIndex(This,plIndex)

#define IWMPControls3_put_currentAudioLanguageIndex(This,lIndex)	\
    (This)->lpVtbl -> put_currentAudioLanguageIndex(This,lIndex)

#define IWMPControls3_getLanguageName(This,lLangID,pbstrLangName)	\
    (This)->lpVtbl -> getLanguageName(This,lLangID,pbstrLangName)

#define IWMPControls3_get_currentPositionTimecode(This,bstrTimecode)	\
    (This)->lpVtbl -> get_currentPositionTimecode(This,bstrTimecode)

#define IWMPControls3_put_currentPositionTimecode(This,bstrTimecode)	\
    (This)->lpVtbl -> put_currentPositionTimecode(This,bstrTimecode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_get_audioLanguageCount_Proxy( 
    IWMPControls3 * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPControls3_get_audioLanguageCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_getAudioLanguageID_Proxy( 
    IWMPControls3 * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ long *plLangID);


void __RPC_STUB IWMPControls3_getAudioLanguageID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_getAudioLanguageDescription_Proxy( 
    IWMPControls3 * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ BSTR *pbstrLangDesc);


void __RPC_STUB IWMPControls3_getAudioLanguageDescription_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_get_currentAudioLanguage_Proxy( 
    IWMPControls3 * This,
    /* [retval][out] */ long *plLangID);


void __RPC_STUB IWMPControls3_get_currentAudioLanguage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_put_currentAudioLanguage_Proxy( 
    IWMPControls3 * This,
    /* [in] */ long lLangID);


void __RPC_STUB IWMPControls3_put_currentAudioLanguage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_get_currentAudioLanguageIndex_Proxy( 
    IWMPControls3 * This,
    /* [retval][out] */ long *plIndex);


void __RPC_STUB IWMPControls3_get_currentAudioLanguageIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_put_currentAudioLanguageIndex_Proxy( 
    IWMPControls3 * This,
    /* [in] */ long lIndex);


void __RPC_STUB IWMPControls3_put_currentAudioLanguageIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_getLanguageName_Proxy( 
    IWMPControls3 * This,
    /* [in] */ long lLangID,
    /* [retval][out] */ BSTR *pbstrLangName);


void __RPC_STUB IWMPControls3_getLanguageName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_get_currentPositionTimecode_Proxy( 
    IWMPControls3 * This,
    /* [retval][out] */ BSTR *bstrTimecode);


void __RPC_STUB IWMPControls3_get_currentPositionTimecode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPControls3_put_currentPositionTimecode_Proxy( 
    IWMPControls3 * This,
    /* [in] */ BSTR bstrTimecode);


void __RPC_STUB IWMPControls3_put_currentPositionTimecode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPControls3_INTERFACE_DEFINED__ */


#ifndef __IWMPClosedCaption2_INTERFACE_DEFINED__
#define __IWMPClosedCaption2_INTERFACE_DEFINED__

/* interface IWMPClosedCaption2 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPClosedCaption2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("350BA78B-6BC8-4113-A5F5-312056934EB6")
    IWMPClosedCaption2 : public IWMPClosedCaption
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SAMILangCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getSAMILangName( 
            /* [in] */ long nIndex,
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getSAMILangID( 
            /* [in] */ long nIndex,
            /* [retval][out] */ long *plLangID) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SAMIStyleCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getSAMIStyleName( 
            /* [in] */ long nIndex,
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPClosedCaption2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPClosedCaption2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPClosedCaption2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPClosedCaption2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPClosedCaption2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPClosedCaption2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPClosedCaption2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPClosedCaption2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMIStyle )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ BSTR *pbstrSAMIStyle);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMIStyle )( 
            IWMPClosedCaption2 * This,
            /* [in] */ BSTR bstrSAMIStyle);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMILang )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ BSTR *pbstrSAMILang);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMILang )( 
            IWMPClosedCaption2 * This,
            /* [in] */ BSTR bstrSAMILang);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMIFileName )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ BSTR *pbstrSAMIFileName);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SAMIFileName )( 
            IWMPClosedCaption2 * This,
            /* [in] */ BSTR bstrSAMIFileName);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_captioningId )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ BSTR *pbstrCaptioningID);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_captioningId )( 
            IWMPClosedCaption2 * This,
            /* [in] */ BSTR bstrCaptioningID);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMILangCount )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getSAMILangName )( 
            IWMPClosedCaption2 * This,
            /* [in] */ long nIndex,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getSAMILangID )( 
            IWMPClosedCaption2 * This,
            /* [in] */ long nIndex,
            /* [retval][out] */ long *plLangID);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SAMIStyleCount )( 
            IWMPClosedCaption2 * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getSAMIStyleName )( 
            IWMPClosedCaption2 * This,
            /* [in] */ long nIndex,
            /* [retval][out] */ BSTR *pbstrName);
        
        END_INTERFACE
    } IWMPClosedCaption2Vtbl;

    interface IWMPClosedCaption2
    {
        CONST_VTBL struct IWMPClosedCaption2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPClosedCaption2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPClosedCaption2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPClosedCaption2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPClosedCaption2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPClosedCaption2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPClosedCaption2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPClosedCaption2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPClosedCaption2_get_SAMIStyle(This,pbstrSAMIStyle)	\
    (This)->lpVtbl -> get_SAMIStyle(This,pbstrSAMIStyle)

#define IWMPClosedCaption2_put_SAMIStyle(This,bstrSAMIStyle)	\
    (This)->lpVtbl -> put_SAMIStyle(This,bstrSAMIStyle)

#define IWMPClosedCaption2_get_SAMILang(This,pbstrSAMILang)	\
    (This)->lpVtbl -> get_SAMILang(This,pbstrSAMILang)

#define IWMPClosedCaption2_put_SAMILang(This,bstrSAMILang)	\
    (This)->lpVtbl -> put_SAMILang(This,bstrSAMILang)

#define IWMPClosedCaption2_get_SAMIFileName(This,pbstrSAMIFileName)	\
    (This)->lpVtbl -> get_SAMIFileName(This,pbstrSAMIFileName)

#define IWMPClosedCaption2_put_SAMIFileName(This,bstrSAMIFileName)	\
    (This)->lpVtbl -> put_SAMIFileName(This,bstrSAMIFileName)

#define IWMPClosedCaption2_get_captioningId(This,pbstrCaptioningID)	\
    (This)->lpVtbl -> get_captioningId(This,pbstrCaptioningID)

#define IWMPClosedCaption2_put_captioningId(This,bstrCaptioningID)	\
    (This)->lpVtbl -> put_captioningId(This,bstrCaptioningID)


#define IWMPClosedCaption2_get_SAMILangCount(This,plCount)	\
    (This)->lpVtbl -> get_SAMILangCount(This,plCount)

#define IWMPClosedCaption2_getSAMILangName(This,nIndex,pbstrName)	\
    (This)->lpVtbl -> getSAMILangName(This,nIndex,pbstrName)

#define IWMPClosedCaption2_getSAMILangID(This,nIndex,plLangID)	\
    (This)->lpVtbl -> getSAMILangID(This,nIndex,plLangID)

#define IWMPClosedCaption2_get_SAMIStyleCount(This,plCount)	\
    (This)->lpVtbl -> get_SAMIStyleCount(This,plCount)

#define IWMPClosedCaption2_getSAMIStyleName(This,nIndex,pbstrName)	\
    (This)->lpVtbl -> getSAMIStyleName(This,nIndex,pbstrName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption2_get_SAMILangCount_Proxy( 
    IWMPClosedCaption2 * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPClosedCaption2_get_SAMILangCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption2_getSAMILangName_Proxy( 
    IWMPClosedCaption2 * This,
    /* [in] */ long nIndex,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPClosedCaption2_getSAMILangName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption2_getSAMILangID_Proxy( 
    IWMPClosedCaption2 * This,
    /* [in] */ long nIndex,
    /* [retval][out] */ long *plLangID);


void __RPC_STUB IWMPClosedCaption2_getSAMILangID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption2_get_SAMIStyleCount_Proxy( 
    IWMPClosedCaption2 * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPClosedCaption2_get_SAMIStyleCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPClosedCaption2_getSAMIStyleName_Proxy( 
    IWMPClosedCaption2 * This,
    /* [in] */ long nIndex,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPClosedCaption2_getSAMIStyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPClosedCaption2_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayerApplication_INTERFACE_DEFINED__
#define __IWMPPlayerApplication_INTERFACE_DEFINED__

/* interface IWMPPlayerApplication */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayerApplication;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("40897764-CEAB-47be-AD4A-8E28537F9BBF")
    IWMPPlayerApplication : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE switchToPlayerApplication( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE switchToControl( void) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playerDocked( 
            /* [retval][out] */ VARIANT_BOOL *pbPlayerDocked) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_hasDisplay( 
            /* [retval][out] */ VARIANT_BOOL *pbHasDisplay) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayerApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayerApplication * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayerApplication * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayerApplication * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlayerApplication * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlayerApplication * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlayerApplication * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlayerApplication * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *switchToPlayerApplication )( 
            IWMPPlayerApplication * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *switchToControl )( 
            IWMPPlayerApplication * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playerDocked )( 
            IWMPPlayerApplication * This,
            /* [retval][out] */ VARIANT_BOOL *pbPlayerDocked);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_hasDisplay )( 
            IWMPPlayerApplication * This,
            /* [retval][out] */ VARIANT_BOOL *pbHasDisplay);
        
        END_INTERFACE
    } IWMPPlayerApplicationVtbl;

    interface IWMPPlayerApplication
    {
        CONST_VTBL struct IWMPPlayerApplicationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayerApplication_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayerApplication_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayerApplication_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayerApplication_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlayerApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlayerApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlayerApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlayerApplication_switchToPlayerApplication(This)	\
    (This)->lpVtbl -> switchToPlayerApplication(This)

#define IWMPPlayerApplication_switchToControl(This)	\
    (This)->lpVtbl -> switchToControl(This)

#define IWMPPlayerApplication_get_playerDocked(This,pbPlayerDocked)	\
    (This)->lpVtbl -> get_playerDocked(This,pbPlayerDocked)

#define IWMPPlayerApplication_get_hasDisplay(This,pbHasDisplay)	\
    (This)->lpVtbl -> get_hasDisplay(This,pbHasDisplay)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayerApplication_switchToPlayerApplication_Proxy( 
    IWMPPlayerApplication * This);


void __RPC_STUB IWMPPlayerApplication_switchToPlayerApplication_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayerApplication_switchToControl_Proxy( 
    IWMPPlayerApplication * This);


void __RPC_STUB IWMPPlayerApplication_switchToControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayerApplication_get_playerDocked_Proxy( 
    IWMPPlayerApplication * This,
    /* [retval][out] */ VARIANT_BOOL *pbPlayerDocked);


void __RPC_STUB IWMPPlayerApplication_get_playerDocked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayerApplication_get_hasDisplay_Proxy( 
    IWMPPlayerApplication * This,
    /* [retval][out] */ VARIANT_BOOL *pbHasDisplay);


void __RPC_STUB IWMPPlayerApplication_get_hasDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayerApplication_INTERFACE_DEFINED__ */


#ifndef __IWMPCore3_INTERFACE_DEFINED__
#define __IWMPCore3_INTERFACE_DEFINED__

/* interface IWMPCore3 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPCore3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7587C667-628F-499f-88E7-6A6F4E888464")
    IWMPCore3 : public IWMPCore2
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE newPlaylist( 
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPPlaylist **ppPlaylist) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE newMedia( 
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPMedia **ppMedia) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPCore3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPCore3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPCore3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPCore3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPCore3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPCore3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPCore3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPCore3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPCore3 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPCore3 * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPCore3 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPCore3 * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPCore3 * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPCore3 * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPCore3 * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPCore3 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPCore3 * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPCore3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPCore3 * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_dvd )( 
            IWMPCore3 * This,
            /* [retval][out] */ IWMPDVD **ppDVD);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *newPlaylist )( 
            IWMPCore3 * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPPlaylist **ppPlaylist);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *newMedia )( 
            IWMPCore3 * This,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        END_INTERFACE
    } IWMPCore3Vtbl;

    interface IWMPCore3
    {
        CONST_VTBL struct IWMPCore3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPCore3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPCore3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPCore3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPCore3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPCore3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPCore3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPCore3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPCore3_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPCore3_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPCore3_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPCore3_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPCore3_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPCore3_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPCore3_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPCore3_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPCore3_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPCore3_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPCore3_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPCore3_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPCore3_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPCore3_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPCore3_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPCore3_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPCore3_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPCore3_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPCore3_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPCore3_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPCore3_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPCore3_get_dvd(This,ppDVD)	\
    (This)->lpVtbl -> get_dvd(This,ppDVD)


#define IWMPCore3_newPlaylist(This,bstrName,bstrURL,ppPlaylist)	\
    (This)->lpVtbl -> newPlaylist(This,bstrName,bstrURL,ppPlaylist)

#define IWMPCore3_newMedia(This,bstrURL,ppMedia)	\
    (This)->lpVtbl -> newMedia(This,bstrURL,ppMedia)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCore3_newPlaylist_Proxy( 
    IWMPCore3 * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ BSTR bstrURL,
    /* [retval][out] */ IWMPPlaylist **ppPlaylist);


void __RPC_STUB IWMPCore3_newPlaylist_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPCore3_newMedia_Proxy( 
    IWMPCore3 * This,
    /* [in] */ BSTR bstrURL,
    /* [retval][out] */ IWMPMedia **ppMedia);


void __RPC_STUB IWMPCore3_newMedia_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPCore3_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayer4_INTERFACE_DEFINED__
#define __IWMPPlayer4_INTERFACE_DEFINED__

/* interface IWMPPlayer4 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayer4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6C497D62-8919-413c-82DB-E935FB3EC584")
    IWMPPlayer4 : public IWMPCore3
    {
    public:
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_fullScreen( 
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_fullScreen( 
            VARIANT_BOOL bFullScreen) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_enableContextMenu( 
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_enableContextMenu( 
            VARIANT_BOOL bEnableContextMenu) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_uiMode( 
            /* [in] */ BSTR bstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_uiMode( 
            /* [retval][out] */ BSTR *pbstrMode) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_stretchToFit( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_stretchToFit( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_windowlessVideo( 
            /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
        
        virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_windowlessVideo( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_isRemote( 
            /* [retval][out] */ VARIANT_BOOL *pvarfIsRemote) = 0;
        
        virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_playerApplication( 
            /* [retval][out] */ IWMPPlayerApplication **ppIWMPPlayerApplication) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE openPlayer( 
            /* [in] */ BSTR bstrURL) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayer4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayer4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayer4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayer4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMPPlayer4 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMPPlayer4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMPPlayer4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMPPlayer4 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            IWMPPlayer4 * This);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ BSTR *pbstrURL);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_openState )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ WMPOpenState *pwmpos);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playState )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ WMPPlayState *pwmpps);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPControls **ppControl);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_settings )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPSettings **ppSettings);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentMedia )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentMedia )( 
            IWMPPlayer4 * This,
            /* [in] */ IWMPMedia *pMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_mediaCollection )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPMediaCollection **ppMediaCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playlistCollection )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPPlaylistCollection **ppPlaylistCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_versionInfo )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ BSTR *pbstrVersionInfo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *launchURL )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrURL);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_network )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPNetwork **ppQNI);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_currentPlaylist )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPPlaylist **ppPL);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_currentPlaylist )( 
            IWMPPlayer4 * This,
            /* [in] */ IWMPPlaylist *pPL);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_cdromCollection )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPCdromCollection **ppCdromCollection);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_closedCaption )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPClosedCaption **ppClosedCaption);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isOnline )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfOnline);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPError **ppError);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ BSTR *pbstrStatus);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_dvd )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPDVD **ppDVD);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *newPlaylist )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPPlaylist **ppPlaylist);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *newMedia )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrURL,
            /* [retval][out] */ IWMPMedia **ppMedia);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IWMPPlayer4 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_fullScreen )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pbFullScreen);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_fullScreen )( 
            IWMPPlayer4 * This,
            VARIANT_BOOL bFullScreen);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_enableContextMenu )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_enableContextMenu )( 
            IWMPPlayer4 * This,
            VARIANT_BOOL bEnableContextMenu);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_uiMode )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_uiMode )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ BSTR *pbstrMode);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_stretchToFit )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_stretchToFit )( 
            IWMPPlayer4 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_windowlessVideo )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pbEnabled);
        
        /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_windowlessVideo )( 
            IWMPPlayer4 * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_isRemote )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfIsRemote);
        
        /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_playerApplication )( 
            IWMPPlayer4 * This,
            /* [retval][out] */ IWMPPlayerApplication **ppIWMPPlayerApplication);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *openPlayer )( 
            IWMPPlayer4 * This,
            /* [in] */ BSTR bstrURL);
        
        END_INTERFACE
    } IWMPPlayer4Vtbl;

    interface IWMPPlayer4
    {
        CONST_VTBL struct IWMPPlayer4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayer4_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayer4_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayer4_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayer4_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IWMPPlayer4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IWMPPlayer4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IWMPPlayer4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IWMPPlayer4_close(This)	\
    (This)->lpVtbl -> close(This)

#define IWMPPlayer4_get_URL(This,pbstrURL)	\
    (This)->lpVtbl -> get_URL(This,pbstrURL)

#define IWMPPlayer4_put_URL(This,bstrURL)	\
    (This)->lpVtbl -> put_URL(This,bstrURL)

#define IWMPPlayer4_get_openState(This,pwmpos)	\
    (This)->lpVtbl -> get_openState(This,pwmpos)

#define IWMPPlayer4_get_playState(This,pwmpps)	\
    (This)->lpVtbl -> get_playState(This,pwmpps)

#define IWMPPlayer4_get_controls(This,ppControl)	\
    (This)->lpVtbl -> get_controls(This,ppControl)

#define IWMPPlayer4_get_settings(This,ppSettings)	\
    (This)->lpVtbl -> get_settings(This,ppSettings)

#define IWMPPlayer4_get_currentMedia(This,ppMedia)	\
    (This)->lpVtbl -> get_currentMedia(This,ppMedia)

#define IWMPPlayer4_put_currentMedia(This,pMedia)	\
    (This)->lpVtbl -> put_currentMedia(This,pMedia)

#define IWMPPlayer4_get_mediaCollection(This,ppMediaCollection)	\
    (This)->lpVtbl -> get_mediaCollection(This,ppMediaCollection)

#define IWMPPlayer4_get_playlistCollection(This,ppPlaylistCollection)	\
    (This)->lpVtbl -> get_playlistCollection(This,ppPlaylistCollection)

#define IWMPPlayer4_get_versionInfo(This,pbstrVersionInfo)	\
    (This)->lpVtbl -> get_versionInfo(This,pbstrVersionInfo)

#define IWMPPlayer4_launchURL(This,bstrURL)	\
    (This)->lpVtbl -> launchURL(This,bstrURL)

#define IWMPPlayer4_get_network(This,ppQNI)	\
    (This)->lpVtbl -> get_network(This,ppQNI)

#define IWMPPlayer4_get_currentPlaylist(This,ppPL)	\
    (This)->lpVtbl -> get_currentPlaylist(This,ppPL)

#define IWMPPlayer4_put_currentPlaylist(This,pPL)	\
    (This)->lpVtbl -> put_currentPlaylist(This,pPL)

#define IWMPPlayer4_get_cdromCollection(This,ppCdromCollection)	\
    (This)->lpVtbl -> get_cdromCollection(This,ppCdromCollection)

#define IWMPPlayer4_get_closedCaption(This,ppClosedCaption)	\
    (This)->lpVtbl -> get_closedCaption(This,ppClosedCaption)

#define IWMPPlayer4_get_isOnline(This,pfOnline)	\
    (This)->lpVtbl -> get_isOnline(This,pfOnline)

#define IWMPPlayer4_get_error(This,ppError)	\
    (This)->lpVtbl -> get_error(This,ppError)

#define IWMPPlayer4_get_status(This,pbstrStatus)	\
    (This)->lpVtbl -> get_status(This,pbstrStatus)


#define IWMPPlayer4_get_dvd(This,ppDVD)	\
    (This)->lpVtbl -> get_dvd(This,ppDVD)


#define IWMPPlayer4_newPlaylist(This,bstrName,bstrURL,ppPlaylist)	\
    (This)->lpVtbl -> newPlaylist(This,bstrName,bstrURL,ppPlaylist)

#define IWMPPlayer4_newMedia(This,bstrURL,ppMedia)	\
    (This)->lpVtbl -> newMedia(This,bstrURL,ppMedia)


#define IWMPPlayer4_get_enabled(This,pbEnabled)	\
    (This)->lpVtbl -> get_enabled(This,pbEnabled)

#define IWMPPlayer4_put_enabled(This,bEnabled)	\
    (This)->lpVtbl -> put_enabled(This,bEnabled)

#define IWMPPlayer4_get_fullScreen(This,pbFullScreen)	\
    (This)->lpVtbl -> get_fullScreen(This,pbFullScreen)

#define IWMPPlayer4_put_fullScreen(This,bFullScreen)	\
    (This)->lpVtbl -> put_fullScreen(This,bFullScreen)

#define IWMPPlayer4_get_enableContextMenu(This,pbEnableContextMenu)	\
    (This)->lpVtbl -> get_enableContextMenu(This,pbEnableContextMenu)

#define IWMPPlayer4_put_enableContextMenu(This,bEnableContextMenu)	\
    (This)->lpVtbl -> put_enableContextMenu(This,bEnableContextMenu)

#define IWMPPlayer4_put_uiMode(This,bstrMode)	\
    (This)->lpVtbl -> put_uiMode(This,bstrMode)

#define IWMPPlayer4_get_uiMode(This,pbstrMode)	\
    (This)->lpVtbl -> get_uiMode(This,pbstrMode)

#define IWMPPlayer4_get_stretchToFit(This,pbEnabled)	\
    (This)->lpVtbl -> get_stretchToFit(This,pbEnabled)

#define IWMPPlayer4_put_stretchToFit(This,bEnabled)	\
    (This)->lpVtbl -> put_stretchToFit(This,bEnabled)

#define IWMPPlayer4_get_windowlessVideo(This,pbEnabled)	\
    (This)->lpVtbl -> get_windowlessVideo(This,pbEnabled)

#define IWMPPlayer4_put_windowlessVideo(This,bEnabled)	\
    (This)->lpVtbl -> put_windowlessVideo(This,bEnabled)

#define IWMPPlayer4_get_isRemote(This,pvarfIsRemote)	\
    (This)->lpVtbl -> get_isRemote(This,pvarfIsRemote)

#define IWMPPlayer4_get_playerApplication(This,ppIWMPPlayerApplication)	\
    (This)->lpVtbl -> get_playerApplication(This,ppIWMPPlayerApplication)

#define IWMPPlayer4_openPlayer(This,bstrURL)	\
    (This)->lpVtbl -> openPlayer(This,bstrURL)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_enabled_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer4_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_enabled_Proxy( 
    IWMPPlayer4 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer4_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_fullScreen_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pbFullScreen);


void __RPC_STUB IWMPPlayer4_get_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_fullScreen_Proxy( 
    IWMPPlayer4 * This,
    VARIANT_BOOL bFullScreen);


void __RPC_STUB IWMPPlayer4_put_fullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_enableContextMenu_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnableContextMenu);


void __RPC_STUB IWMPPlayer4_get_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_enableContextMenu_Proxy( 
    IWMPPlayer4 * This,
    VARIANT_BOOL bEnableContextMenu);


void __RPC_STUB IWMPPlayer4_put_enableContextMenu_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_uiMode_Proxy( 
    IWMPPlayer4 * This,
    /* [in] */ BSTR bstrMode);


void __RPC_STUB IWMPPlayer4_put_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_uiMode_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ BSTR *pbstrMode);


void __RPC_STUB IWMPPlayer4_get_uiMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_stretchToFit_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer4_get_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_stretchToFit_Proxy( 
    IWMPPlayer4 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer4_put_stretchToFit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_windowlessVideo_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pbEnabled);


void __RPC_STUB IWMPPlayer4_get_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_put_windowlessVideo_Proxy( 
    IWMPPlayer4 * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IWMPPlayer4_put_windowlessVideo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_isRemote_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ VARIANT_BOOL *pvarfIsRemote);


void __RPC_STUB IWMPPlayer4_get_isRemote_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_get_playerApplication_Proxy( 
    IWMPPlayer4 * This,
    /* [retval][out] */ IWMPPlayerApplication **ppIWMPPlayerApplication);


void __RPC_STUB IWMPPlayer4_get_playerApplication_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IWMPPlayer4_openPlayer_Proxy( 
    IWMPPlayer4 * This,
    /* [in] */ BSTR bstrURL);


void __RPC_STUB IWMPPlayer4_openPlayer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayer4_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayerServices_INTERFACE_DEFINED__
#define __IWMPPlayerServices_INTERFACE_DEFINED__

/* interface IWMPPlayerServices */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayerServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1D01FBDB-ADE2-4c8d-9842-C190B95C3306")
    IWMPPlayerServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE activateUIPlugin( 
            /* [in] */ BSTR bstrPlugin) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE setTaskPane( 
            /* [in] */ BSTR bstrTaskPane) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE setTaskPaneURL( 
            /* [in] */ BSTR bstrTaskPane,
            /* [in] */ BSTR bstrURL,
            /* [in] */ BSTR bstrFriendlyName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayerServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayerServices * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayerServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayerServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *activateUIPlugin )( 
            IWMPPlayerServices * This,
            /* [in] */ BSTR bstrPlugin);
        
        HRESULT ( STDMETHODCALLTYPE *setTaskPane )( 
            IWMPPlayerServices * This,
            /* [in] */ BSTR bstrTaskPane);
        
        HRESULT ( STDMETHODCALLTYPE *setTaskPaneURL )( 
            IWMPPlayerServices * This,
            /* [in] */ BSTR bstrTaskPane,
            /* [in] */ BSTR bstrURL,
            /* [in] */ BSTR bstrFriendlyName);
        
        END_INTERFACE
    } IWMPPlayerServicesVtbl;

    interface IWMPPlayerServices
    {
        CONST_VTBL struct IWMPPlayerServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayerServices_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayerServices_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayerServices_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayerServices_activateUIPlugin(This,bstrPlugin)	\
    (This)->lpVtbl -> activateUIPlugin(This,bstrPlugin)

#define IWMPPlayerServices_setTaskPane(This,bstrTaskPane)	\
    (This)->lpVtbl -> setTaskPane(This,bstrTaskPane)

#define IWMPPlayerServices_setTaskPaneURL(This,bstrTaskPane,bstrURL,bstrFriendlyName)	\
    (This)->lpVtbl -> setTaskPaneURL(This,bstrTaskPane,bstrURL,bstrFriendlyName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMPPlayerServices_activateUIPlugin_Proxy( 
    IWMPPlayerServices * This,
    /* [in] */ BSTR bstrPlugin);


void __RPC_STUB IWMPPlayerServices_activateUIPlugin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPPlayerServices_setTaskPane_Proxy( 
    IWMPPlayerServices * This,
    /* [in] */ BSTR bstrTaskPane);


void __RPC_STUB IWMPPlayerServices_setTaskPane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPPlayerServices_setTaskPaneURL_Proxy( 
    IWMPPlayerServices * This,
    /* [in] */ BSTR bstrTaskPane,
    /* [in] */ BSTR bstrURL,
    /* [in] */ BSTR bstrFriendlyName);


void __RPC_STUB IWMPPlayerServices_setTaskPaneURL_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayerServices_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_wmp_0296 */
/* [local] */ 

typedef /* [public][helpstring] */ 
enum WMPSyncState
    {	wmpssUnknown	= 0,
	wmpssSynchronizing	= wmpssUnknown + 1,
	wmpssStopped	= wmpssSynchronizing + 1,
	wmpssLast	= wmpssStopped + 1
    } 	WMPSyncState;

typedef /* [public][helpstring] */ 
enum WMPDeviceStatus
    {	wmpdsUnknown	= 0,
	wmpdsPartnershipExists	= wmpdsUnknown + 1,
	wmpdsPartnershipDeclined	= wmpdsPartnershipExists + 1,
	wmpdsPartnershipAnother	= wmpdsPartnershipDeclined + 1,
	wmpdsManualDevice	= wmpdsPartnershipAnother + 1,
	wmpdsNewDevice	= wmpdsManualDevice + 1,
	wmpdsLast	= wmpdsNewDevice + 1
    } 	WMPDeviceStatus;



extern RPC_IF_HANDLE __MIDL_itf_wmp_0296_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmp_0296_v0_0_s_ifspec;

#ifndef __IWMPSyncDevice_INTERFACE_DEFINED__
#define __IWMPSyncDevice_INTERFACE_DEFINED__

/* interface IWMPSyncDevice */
/* [oleautomation][unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPSyncDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("82A2986C-0293-4fd0-B279-B21B86C058BE")
    IWMPSyncDevice : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_friendlyName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_friendlyName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_deviceName( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_deviceId( 
            /* [retval][out] */ BSTR *pbstrDeviceId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_partnershipIndex( 
            /* [retval][out] */ long *plIndex) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_connected( 
            /* [retval][out] */ VARIANT_BOOL *pvbConnected) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [retval][out] */ WMPDeviceStatus *pwmpds) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_syncState( 
            /* [retval][out] */ WMPSyncState *pwmpss) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_progress( 
            /* [retval][out] */ long *plProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE getItemInfo( 
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE createPartnership( 
            /* [in] */ VARIANT_BOOL vbShowUI) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE deletePartnership( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE start( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE stop( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE showSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE isIdentical( 
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [retval][out] */ VARIANT_BOOL *pvbool) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPSyncDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPSyncDevice * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPSyncDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPSyncDevice * This);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_friendlyName )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_friendlyName )( 
            IWMPSyncDevice * This,
            /* [in] */ BSTR bstrName);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_deviceName )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_deviceId )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ BSTR *pbstrDeviceId);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_partnershipIndex )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ long *plIndex);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_connected )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ VARIANT_BOOL *pvbConnected);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ WMPDeviceStatus *pwmpds);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_syncState )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ WMPSyncState *pwmpss);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_progress )( 
            IWMPSyncDevice * This,
            /* [retval][out] */ long *plProgress);
        
        HRESULT ( STDMETHODCALLTYPE *getItemInfo )( 
            IWMPSyncDevice * This,
            /* [in] */ BSTR bstrItemName,
            /* [retval][out] */ BSTR *pbstrVal);
        
        HRESULT ( STDMETHODCALLTYPE *createPartnership )( 
            IWMPSyncDevice * This,
            /* [in] */ VARIANT_BOOL vbShowUI);
        
        HRESULT ( STDMETHODCALLTYPE *deletePartnership )( 
            IWMPSyncDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *start )( 
            IWMPSyncDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *stop )( 
            IWMPSyncDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *showSettings )( 
            IWMPSyncDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *isIdentical )( 
            IWMPSyncDevice * This,
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [retval][out] */ VARIANT_BOOL *pvbool);
        
        END_INTERFACE
    } IWMPSyncDeviceVtbl;

    interface IWMPSyncDevice
    {
        CONST_VTBL struct IWMPSyncDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPSyncDevice_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPSyncDevice_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPSyncDevice_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPSyncDevice_get_friendlyName(This,pbstrName)	\
    (This)->lpVtbl -> get_friendlyName(This,pbstrName)

#define IWMPSyncDevice_put_friendlyName(This,bstrName)	\
    (This)->lpVtbl -> put_friendlyName(This,bstrName)

#define IWMPSyncDevice_get_deviceName(This,pbstrName)	\
    (This)->lpVtbl -> get_deviceName(This,pbstrName)

#define IWMPSyncDevice_get_deviceId(This,pbstrDeviceId)	\
    (This)->lpVtbl -> get_deviceId(This,pbstrDeviceId)

#define IWMPSyncDevice_get_partnershipIndex(This,plIndex)	\
    (This)->lpVtbl -> get_partnershipIndex(This,plIndex)

#define IWMPSyncDevice_get_connected(This,pvbConnected)	\
    (This)->lpVtbl -> get_connected(This,pvbConnected)

#define IWMPSyncDevice_get_status(This,pwmpds)	\
    (This)->lpVtbl -> get_status(This,pwmpds)

#define IWMPSyncDevice_get_syncState(This,pwmpss)	\
    (This)->lpVtbl -> get_syncState(This,pwmpss)

#define IWMPSyncDevice_get_progress(This,plProgress)	\
    (This)->lpVtbl -> get_progress(This,plProgress)

#define IWMPSyncDevice_getItemInfo(This,bstrItemName,pbstrVal)	\
    (This)->lpVtbl -> getItemInfo(This,bstrItemName,pbstrVal)

#define IWMPSyncDevice_createPartnership(This,vbShowUI)	\
    (This)->lpVtbl -> createPartnership(This,vbShowUI)

#define IWMPSyncDevice_deletePartnership(This)	\
    (This)->lpVtbl -> deletePartnership(This)

#define IWMPSyncDevice_start(This)	\
    (This)->lpVtbl -> start(This)

#define IWMPSyncDevice_stop(This)	\
    (This)->lpVtbl -> stop(This)

#define IWMPSyncDevice_showSettings(This)	\
    (This)->lpVtbl -> showSettings(This)

#define IWMPSyncDevice_isIdentical(This,pDevice,pvbool)	\
    (This)->lpVtbl -> isIdentical(This,pDevice,pvbool)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_friendlyName_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPSyncDevice_get_friendlyName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_put_friendlyName_Proxy( 
    IWMPSyncDevice * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IWMPSyncDevice_put_friendlyName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_deviceName_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ BSTR *pbstrName);


void __RPC_STUB IWMPSyncDevice_get_deviceName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_deviceId_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ BSTR *pbstrDeviceId);


void __RPC_STUB IWMPSyncDevice_get_deviceId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_partnershipIndex_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ long *plIndex);


void __RPC_STUB IWMPSyncDevice_get_partnershipIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_connected_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ VARIANT_BOOL *pvbConnected);


void __RPC_STUB IWMPSyncDevice_get_connected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_status_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ WMPDeviceStatus *pwmpds);


void __RPC_STUB IWMPSyncDevice_get_status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_syncState_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ WMPSyncState *pwmpss);


void __RPC_STUB IWMPSyncDevice_get_syncState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncDevice_get_progress_Proxy( 
    IWMPSyncDevice * This,
    /* [retval][out] */ long *plProgress);


void __RPC_STUB IWMPSyncDevice_get_progress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_getItemInfo_Proxy( 
    IWMPSyncDevice * This,
    /* [in] */ BSTR bstrItemName,
    /* [retval][out] */ BSTR *pbstrVal);


void __RPC_STUB IWMPSyncDevice_getItemInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_createPartnership_Proxy( 
    IWMPSyncDevice * This,
    /* [in] */ VARIANT_BOOL vbShowUI);


void __RPC_STUB IWMPSyncDevice_createPartnership_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_deletePartnership_Proxy( 
    IWMPSyncDevice * This);


void __RPC_STUB IWMPSyncDevice_deletePartnership_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_start_Proxy( 
    IWMPSyncDevice * This);


void __RPC_STUB IWMPSyncDevice_start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_stop_Proxy( 
    IWMPSyncDevice * This);


void __RPC_STUB IWMPSyncDevice_stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_showSettings_Proxy( 
    IWMPSyncDevice * This);


void __RPC_STUB IWMPSyncDevice_showSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncDevice_isIdentical_Proxy( 
    IWMPSyncDevice * This,
    /* [in] */ IWMPSyncDevice *pDevice,
    /* [retval][out] */ VARIANT_BOOL *pvbool);


void __RPC_STUB IWMPSyncDevice_isIdentical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPSyncDevice_INTERFACE_DEFINED__ */


#ifndef __IWMPSyncServices_INTERFACE_DEFINED__
#define __IWMPSyncServices_INTERFACE_DEFINED__

/* interface IWMPSyncServices */
/* [oleautomation][unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPSyncServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8B5050FF-E0A4-4808-B3A8-893A9E1ED894")
    IWMPSyncServices : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_deviceCount( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE getDevice( 
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPSyncDevice **ppDevice) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPSyncServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPSyncServices * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPSyncServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPSyncServices * This);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_deviceCount )( 
            IWMPSyncServices * This,
            /* [retval][out] */ long *plCount);
        
        HRESULT ( STDMETHODCALLTYPE *getDevice )( 
            IWMPSyncServices * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ IWMPSyncDevice **ppDevice);
        
        END_INTERFACE
    } IWMPSyncServicesVtbl;

    interface IWMPSyncServices
    {
        CONST_VTBL struct IWMPSyncServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPSyncServices_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPSyncServices_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPSyncServices_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPSyncServices_get_deviceCount(This,plCount)	\
    (This)->lpVtbl -> get_deviceCount(This,plCount)

#define IWMPSyncServices_getDevice(This,lIndex,ppDevice)	\
    (This)->lpVtbl -> getDevice(This,lIndex,ppDevice)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IWMPSyncServices_get_deviceCount_Proxy( 
    IWMPSyncServices * This,
    /* [retval][out] */ long *plCount);


void __RPC_STUB IWMPSyncServices_get_deviceCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IWMPSyncServices_getDevice_Proxy( 
    IWMPSyncServices * This,
    /* [in] */ long lIndex,
    /* [retval][out] */ IWMPSyncDevice **ppDevice);


void __RPC_STUB IWMPSyncServices_getDevice_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPSyncServices_INTERFACE_DEFINED__ */


#ifndef __IWMPPlayerServices2_INTERFACE_DEFINED__
#define __IWMPPlayerServices2_INTERFACE_DEFINED__

/* interface IWMPPlayerServices2 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPPlayerServices2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1BB1592F-F040-418a-9F71-17C7512B4D70")
    IWMPPlayerServices2 : public IWMPPlayerServices
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE setBackgroundProcessingPriority( 
            /* [in] */ BSTR bstrPriority) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPPlayerServices2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPPlayerServices2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPPlayerServices2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPPlayerServices2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *activateUIPlugin )( 
            IWMPPlayerServices2 * This,
            /* [in] */ BSTR bstrPlugin);
        
        HRESULT ( STDMETHODCALLTYPE *setTaskPane )( 
            IWMPPlayerServices2 * This,
            /* [in] */ BSTR bstrTaskPane);
        
        HRESULT ( STDMETHODCALLTYPE *setTaskPaneURL )( 
            IWMPPlayerServices2 * This,
            /* [in] */ BSTR bstrTaskPane,
            /* [in] */ BSTR bstrURL,
            /* [in] */ BSTR bstrFriendlyName);
        
        HRESULT ( STDMETHODCALLTYPE *setBackgroundProcessingPriority )( 
            IWMPPlayerServices2 * This,
            /* [in] */ BSTR bstrPriority);
        
        END_INTERFACE
    } IWMPPlayerServices2Vtbl;

    interface IWMPPlayerServices2
    {
        CONST_VTBL struct IWMPPlayerServices2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPPlayerServices2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPPlayerServices2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPPlayerServices2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPPlayerServices2_activateUIPlugin(This,bstrPlugin)	\
    (This)->lpVtbl -> activateUIPlugin(This,bstrPlugin)

#define IWMPPlayerServices2_setTaskPane(This,bstrTaskPane)	\
    (This)->lpVtbl -> setTaskPane(This,bstrTaskPane)

#define IWMPPlayerServices2_setTaskPaneURL(This,bstrTaskPane,bstrURL,bstrFriendlyName)	\
    (This)->lpVtbl -> setTaskPaneURL(This,bstrTaskPane,bstrURL,bstrFriendlyName)


#define IWMPPlayerServices2_setBackgroundProcessingPriority(This,bstrPriority)	\
    (This)->lpVtbl -> setBackgroundProcessingPriority(This,bstrPriority)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMPPlayerServices2_setBackgroundProcessingPriority_Proxy( 
    IWMPPlayerServices2 * This,
    /* [in] */ BSTR bstrPriority);


void __RPC_STUB IWMPPlayerServices2_setBackgroundProcessingPriority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPPlayerServices2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_wmp_0299 */
/* [local] */ 

struct DECLSPEC_UUID("6BF52A50-394A-11d3-B153-00C04F79FAA6") WMPLib;
struct DECLSPEC_UUID("DF333473-2CF7-4be2-907F-9AAD5661364F") WMPRemoteMediaServices;


extern RPC_IF_HANDLE __MIDL_itf_wmp_0299_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmp_0299_v0_0_s_ifspec;


#ifndef __WMPLib_LIBRARY_DEFINED__
#define __WMPLib_LIBRARY_DEFINED__

/* library WMPLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_WMPLib;

#ifndef __IWMPEvents_INTERFACE_DEFINED__
#define __IWMPEvents_INTERFACE_DEFINED__

/* interface IWMPEvents */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("19A6627B-DA9E-47c1-BB23-00B5E668236A")
    IWMPEvents : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE OpenStateChange( 
            /* [in] */ long NewState) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlayStateChange( 
            /* [in] */ long NewState) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE AudioLanguageChange( 
            /* [in] */ long LangID) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE StatusChange( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE ScriptCommand( 
            /* [in] */ BSTR scType,
            /* [in] */ BSTR Param) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE NewStream( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Disconnect( 
            /* [in] */ long Result) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Buffering( 
            /* [in] */ VARIANT_BOOL Start) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Error( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Warning( 
            /* [in] */ long WarningType,
            /* [in] */ long Param,
            /* [in] */ BSTR Description) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE EndOfStream( 
            /* [in] */ long Result) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PositionChange( 
            /* [in] */ double oldPosition,
            /* [in] */ double newPosition) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MarkerHit( 
            /* [in] */ long MarkerNum) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DurationUnitChange( 
            /* [in] */ long NewDurationUnit) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CdromMediaChange( 
            /* [in] */ long CdromNum) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlaylistChange( 
            /* [in] */ IDispatch *Playlist,
            /* [in] */ WMPPlaylistChangeEventType change) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CurrentPlaylistChange( 
            /* [in] */ WMPPlaylistChangeEventType change) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CurrentPlaylistItemAvailable( 
            /* [in] */ BSTR bstrItemName) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaChange( 
            /* [in] */ IDispatch *Item) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CurrentMediaItemAvailable( 
            /* [in] */ BSTR bstrItemName) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CurrentItemChange( 
            /* [in] */ IDispatch *pdispMedia) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaCollectionChange( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded( 
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved( 
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged( 
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrOldAttribVal,
            /* [in] */ BSTR bstrNewAttribVal) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlaylistCollectionChange( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded( 
            /* [in] */ BSTR bstrPlaylistName) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved( 
            /* [in] */ BSTR bstrPlaylistName) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted( 
            /* [in] */ BSTR bstrPlaylistName,
            /* [in] */ VARIANT_BOOL varfIsDeleted) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE ModeChange( 
            /* [in] */ BSTR ModeName,
            /* [in] */ VARIANT_BOOL NewValue) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MediaError( 
            /* [in] */ IDispatch *pMediaObject) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE OpenPlaylistSwitch( 
            /* [in] */ IDispatch *pItem) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DomainChange( 
            /* [in] */ BSTR strDomain) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE SwitchedToPlayerApplication( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE SwitchedToControl( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlayerDockedStateChange( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE PlayerReconnect( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Click( 
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DoubleClick( 
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE KeyDown( 
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE KeyPress( 
            /* [in] */ short nKeyAscii) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE KeyUp( 
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MouseDown( 
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MouseMove( 
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE MouseUp( 
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *OpenStateChange )( 
            IWMPEvents * This,
            /* [in] */ long NewState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayStateChange )( 
            IWMPEvents * This,
            /* [in] */ long NewState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *AudioLanguageChange )( 
            IWMPEvents * This,
            /* [in] */ long LangID);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *StatusChange )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *ScriptCommand )( 
            IWMPEvents * This,
            /* [in] */ BSTR scType,
            /* [in] */ BSTR Param);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *NewStream )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Disconnect )( 
            IWMPEvents * This,
            /* [in] */ long Result);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Buffering )( 
            IWMPEvents * This,
            /* [in] */ VARIANT_BOOL Start);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Error )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Warning )( 
            IWMPEvents * This,
            /* [in] */ long WarningType,
            /* [in] */ long Param,
            /* [in] */ BSTR Description);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *EndOfStream )( 
            IWMPEvents * This,
            /* [in] */ long Result);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PositionChange )( 
            IWMPEvents * This,
            /* [in] */ double oldPosition,
            /* [in] */ double newPosition);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MarkerHit )( 
            IWMPEvents * This,
            /* [in] */ long MarkerNum);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DurationUnitChange )( 
            IWMPEvents * This,
            /* [in] */ long NewDurationUnit);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CdromMediaChange )( 
            IWMPEvents * This,
            /* [in] */ long CdromNum);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistChange )( 
            IWMPEvents * This,
            /* [in] */ IDispatch *Playlist,
            /* [in] */ WMPPlaylistChangeEventType change);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentPlaylistChange )( 
            IWMPEvents * This,
            /* [in] */ WMPPlaylistChangeEventType change);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentPlaylistItemAvailable )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrItemName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaChange )( 
            IWMPEvents * This,
            /* [in] */ IDispatch *Item);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentMediaItemAvailable )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrItemName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentItemChange )( 
            IWMPEvents * This,
            /* [in] */ IDispatch *pdispMedia);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionChange )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrOldAttribVal,
            /* [in] */ BSTR bstrNewAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionChange )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrPlaylistName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrPlaylistName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted )( 
            IWMPEvents * This,
            /* [in] */ BSTR bstrPlaylistName,
            /* [in] */ VARIANT_BOOL varfIsDeleted);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *ModeChange )( 
            IWMPEvents * This,
            /* [in] */ BSTR ModeName,
            /* [in] */ VARIANT_BOOL NewValue);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaError )( 
            IWMPEvents * This,
            /* [in] */ IDispatch *pMediaObject);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *OpenPlaylistSwitch )( 
            IWMPEvents * This,
            /* [in] */ IDispatch *pItem);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DomainChange )( 
            IWMPEvents * This,
            /* [in] */ BSTR strDomain);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *SwitchedToPlayerApplication )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *SwitchedToControl )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayerDockedStateChange )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayerReconnect )( 
            IWMPEvents * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Click )( 
            IWMPEvents * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DoubleClick )( 
            IWMPEvents * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyDown )( 
            IWMPEvents * This,
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyPress )( 
            IWMPEvents * This,
            /* [in] */ short nKeyAscii);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyUp )( 
            IWMPEvents * This,
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseDown )( 
            IWMPEvents * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseMove )( 
            IWMPEvents * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseUp )( 
            IWMPEvents * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        END_INTERFACE
    } IWMPEventsVtbl;

    interface IWMPEvents
    {
        CONST_VTBL struct IWMPEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPEvents_OpenStateChange(This,NewState)	\
    (This)->lpVtbl -> OpenStateChange(This,NewState)

#define IWMPEvents_PlayStateChange(This,NewState)	\
    (This)->lpVtbl -> PlayStateChange(This,NewState)

#define IWMPEvents_AudioLanguageChange(This,LangID)	\
    (This)->lpVtbl -> AudioLanguageChange(This,LangID)

#define IWMPEvents_StatusChange(This)	\
    (This)->lpVtbl -> StatusChange(This)

#define IWMPEvents_ScriptCommand(This,scType,Param)	\
    (This)->lpVtbl -> ScriptCommand(This,scType,Param)

#define IWMPEvents_NewStream(This)	\
    (This)->lpVtbl -> NewStream(This)

#define IWMPEvents_Disconnect(This,Result)	\
    (This)->lpVtbl -> Disconnect(This,Result)

#define IWMPEvents_Buffering(This,Start)	\
    (This)->lpVtbl -> Buffering(This,Start)

#define IWMPEvents_Error(This)	\
    (This)->lpVtbl -> Error(This)

#define IWMPEvents_Warning(This,WarningType,Param,Description)	\
    (This)->lpVtbl -> Warning(This,WarningType,Param,Description)

#define IWMPEvents_EndOfStream(This,Result)	\
    (This)->lpVtbl -> EndOfStream(This,Result)

#define IWMPEvents_PositionChange(This,oldPosition,newPosition)	\
    (This)->lpVtbl -> PositionChange(This,oldPosition,newPosition)

#define IWMPEvents_MarkerHit(This,MarkerNum)	\
    (This)->lpVtbl -> MarkerHit(This,MarkerNum)

#define IWMPEvents_DurationUnitChange(This,NewDurationUnit)	\
    (This)->lpVtbl -> DurationUnitChange(This,NewDurationUnit)

#define IWMPEvents_CdromMediaChange(This,CdromNum)	\
    (This)->lpVtbl -> CdromMediaChange(This,CdromNum)

#define IWMPEvents_PlaylistChange(This,Playlist,change)	\
    (This)->lpVtbl -> PlaylistChange(This,Playlist,change)

#define IWMPEvents_CurrentPlaylistChange(This,change)	\
    (This)->lpVtbl -> CurrentPlaylistChange(This,change)

#define IWMPEvents_CurrentPlaylistItemAvailable(This,bstrItemName)	\
    (This)->lpVtbl -> CurrentPlaylistItemAvailable(This,bstrItemName)

#define IWMPEvents_MediaChange(This,Item)	\
    (This)->lpVtbl -> MediaChange(This,Item)

#define IWMPEvents_CurrentMediaItemAvailable(This,bstrItemName)	\
    (This)->lpVtbl -> CurrentMediaItemAvailable(This,bstrItemName)

#define IWMPEvents_CurrentItemChange(This,pdispMedia)	\
    (This)->lpVtbl -> CurrentItemChange(This,pdispMedia)

#define IWMPEvents_MediaCollectionChange(This)	\
    (This)->lpVtbl -> MediaCollectionChange(This)

#define IWMPEvents_MediaCollectionAttributeStringAdded(This,bstrAttribName,bstrAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringAdded(This,bstrAttribName,bstrAttribVal)

#define IWMPEvents_MediaCollectionAttributeStringRemoved(This,bstrAttribName,bstrAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringRemoved(This,bstrAttribName,bstrAttribVal)

#define IWMPEvents_MediaCollectionAttributeStringChanged(This,bstrAttribName,bstrOldAttribVal,bstrNewAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringChanged(This,bstrAttribName,bstrOldAttribVal,bstrNewAttribVal)

#define IWMPEvents_PlaylistCollectionChange(This)	\
    (This)->lpVtbl -> PlaylistCollectionChange(This)

#define IWMPEvents_PlaylistCollectionPlaylistAdded(This,bstrPlaylistName)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistAdded(This,bstrPlaylistName)

#define IWMPEvents_PlaylistCollectionPlaylistRemoved(This,bstrPlaylistName)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistRemoved(This,bstrPlaylistName)

#define IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(This,bstrPlaylistName,varfIsDeleted)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistSetAsDeleted(This,bstrPlaylistName,varfIsDeleted)

#define IWMPEvents_ModeChange(This,ModeName,NewValue)	\
    (This)->lpVtbl -> ModeChange(This,ModeName,NewValue)

#define IWMPEvents_MediaError(This,pMediaObject)	\
    (This)->lpVtbl -> MediaError(This,pMediaObject)

#define IWMPEvents_OpenPlaylistSwitch(This,pItem)	\
    (This)->lpVtbl -> OpenPlaylistSwitch(This,pItem)

#define IWMPEvents_DomainChange(This,strDomain)	\
    (This)->lpVtbl -> DomainChange(This,strDomain)

#define IWMPEvents_SwitchedToPlayerApplication(This)	\
    (This)->lpVtbl -> SwitchedToPlayerApplication(This)

#define IWMPEvents_SwitchedToControl(This)	\
    (This)->lpVtbl -> SwitchedToControl(This)

#define IWMPEvents_PlayerDockedStateChange(This)	\
    (This)->lpVtbl -> PlayerDockedStateChange(This)

#define IWMPEvents_PlayerReconnect(This)	\
    (This)->lpVtbl -> PlayerReconnect(This)

#define IWMPEvents_Click(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> Click(This,nButton,nShiftState,fX,fY)

#define IWMPEvents_DoubleClick(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> DoubleClick(This,nButton,nShiftState,fX,fY)

#define IWMPEvents_KeyDown(This,nKeyCode,nShiftState)	\
    (This)->lpVtbl -> KeyDown(This,nKeyCode,nShiftState)

#define IWMPEvents_KeyPress(This,nKeyAscii)	\
    (This)->lpVtbl -> KeyPress(This,nKeyAscii)

#define IWMPEvents_KeyUp(This,nKeyCode,nShiftState)	\
    (This)->lpVtbl -> KeyUp(This,nKeyCode,nShiftState)

#define IWMPEvents_MouseDown(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseDown(This,nButton,nShiftState,fX,fY)

#define IWMPEvents_MouseMove(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseMove(This,nButton,nShiftState,fX,fY)

#define IWMPEvents_MouseUp(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseUp(This,nButton,nShiftState,fX,fY)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_OpenStateChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ long NewState);


void __RPC_STUB IWMPEvents_OpenStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlayStateChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ long NewState);


void __RPC_STUB IWMPEvents_PlayStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_AudioLanguageChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ long LangID);


void __RPC_STUB IWMPEvents_AudioLanguageChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_StatusChange_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_StatusChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_ScriptCommand_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR scType,
    /* [in] */ BSTR Param);


void __RPC_STUB IWMPEvents_ScriptCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_NewStream_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_NewStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_Disconnect_Proxy( 
    IWMPEvents * This,
    /* [in] */ long Result);


void __RPC_STUB IWMPEvents_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_Buffering_Proxy( 
    IWMPEvents * This,
    /* [in] */ VARIANT_BOOL Start);


void __RPC_STUB IWMPEvents_Buffering_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_Error_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_Error_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_Warning_Proxy( 
    IWMPEvents * This,
    /* [in] */ long WarningType,
    /* [in] */ long Param,
    /* [in] */ BSTR Description);


void __RPC_STUB IWMPEvents_Warning_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_EndOfStream_Proxy( 
    IWMPEvents * This,
    /* [in] */ long Result);


void __RPC_STUB IWMPEvents_EndOfStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PositionChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ double oldPosition,
    /* [in] */ double newPosition);


void __RPC_STUB IWMPEvents_PositionChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MarkerHit_Proxy( 
    IWMPEvents * This,
    /* [in] */ long MarkerNum);


void __RPC_STUB IWMPEvents_MarkerHit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_DurationUnitChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ long NewDurationUnit);


void __RPC_STUB IWMPEvents_DurationUnitChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_CdromMediaChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ long CdromNum);


void __RPC_STUB IWMPEvents_CdromMediaChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlaylistChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ IDispatch *Playlist,
    /* [in] */ WMPPlaylistChangeEventType change);


void __RPC_STUB IWMPEvents_PlaylistChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_CurrentPlaylistChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ WMPPlaylistChangeEventType change);


void __RPC_STUB IWMPEvents_CurrentPlaylistChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_CurrentPlaylistItemAvailable_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrItemName);


void __RPC_STUB IWMPEvents_CurrentPlaylistItemAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ IDispatch *Item);


void __RPC_STUB IWMPEvents_MediaChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_CurrentMediaItemAvailable_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrItemName);


void __RPC_STUB IWMPEvents_CurrentMediaItemAvailable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_CurrentItemChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ IDispatch *pdispMedia);


void __RPC_STUB IWMPEvents_CurrentItemChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaCollectionChange_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_MediaCollectionChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaCollectionAttributeStringAdded_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrAttribName,
    /* [in] */ BSTR bstrAttribVal);


void __RPC_STUB IWMPEvents_MediaCollectionAttributeStringAdded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaCollectionAttributeStringRemoved_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrAttribName,
    /* [in] */ BSTR bstrAttribVal);


void __RPC_STUB IWMPEvents_MediaCollectionAttributeStringRemoved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaCollectionAttributeStringChanged_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrAttribName,
    /* [in] */ BSTR bstrOldAttribVal,
    /* [in] */ BSTR bstrNewAttribVal);


void __RPC_STUB IWMPEvents_MediaCollectionAttributeStringChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlaylistCollectionChange_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_PlaylistCollectionChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlaylistCollectionPlaylistAdded_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrPlaylistName);


void __RPC_STUB IWMPEvents_PlaylistCollectionPlaylistAdded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlaylistCollectionPlaylistRemoved_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrPlaylistName);


void __RPC_STUB IWMPEvents_PlaylistCollectionPlaylistRemoved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR bstrPlaylistName,
    /* [in] */ VARIANT_BOOL varfIsDeleted);


void __RPC_STUB IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_ModeChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR ModeName,
    /* [in] */ VARIANT_BOOL NewValue);


void __RPC_STUB IWMPEvents_ModeChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MediaError_Proxy( 
    IWMPEvents * This,
    /* [in] */ IDispatch *pMediaObject);


void __RPC_STUB IWMPEvents_MediaError_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_OpenPlaylistSwitch_Proxy( 
    IWMPEvents * This,
    /* [in] */ IDispatch *pItem);


void __RPC_STUB IWMPEvents_OpenPlaylistSwitch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_DomainChange_Proxy( 
    IWMPEvents * This,
    /* [in] */ BSTR strDomain);


void __RPC_STUB IWMPEvents_DomainChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_SwitchedToPlayerApplication_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_SwitchedToPlayerApplication_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_SwitchedToControl_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_SwitchedToControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlayerDockedStateChange_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_PlayerDockedStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_PlayerReconnect_Proxy( 
    IWMPEvents * This);


void __RPC_STUB IWMPEvents_PlayerReconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_Click_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nButton,
    /* [in] */ short nShiftState,
    /* [in] */ long fX,
    /* [in] */ long fY);


void __RPC_STUB IWMPEvents_Click_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_DoubleClick_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nButton,
    /* [in] */ short nShiftState,
    /* [in] */ long fX,
    /* [in] */ long fY);


void __RPC_STUB IWMPEvents_DoubleClick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_KeyDown_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nKeyCode,
    /* [in] */ short nShiftState);


void __RPC_STUB IWMPEvents_KeyDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_KeyPress_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nKeyAscii);


void __RPC_STUB IWMPEvents_KeyPress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_KeyUp_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nKeyCode,
    /* [in] */ short nShiftState);


void __RPC_STUB IWMPEvents_KeyUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MouseDown_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nButton,
    /* [in] */ short nShiftState,
    /* [in] */ long fX,
    /* [in] */ long fY);


void __RPC_STUB IWMPEvents_MouseDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MouseMove_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nButton,
    /* [in] */ short nShiftState,
    /* [in] */ long fX,
    /* [in] */ long fY);


void __RPC_STUB IWMPEvents_MouseMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents_MouseUp_Proxy( 
    IWMPEvents * This,
    /* [in] */ short nButton,
    /* [in] */ short nShiftState,
    /* [in] */ long fX,
    /* [in] */ long fY);


void __RPC_STUB IWMPEvents_MouseUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPEvents_INTERFACE_DEFINED__ */


#ifndef __IWMPEvents2_INTERFACE_DEFINED__
#define __IWMPEvents2_INTERFACE_DEFINED__

/* interface IWMPEvents2 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IWMPEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1E7601FA-47EA-4107-9EA9-9004ED9684FF")
    IWMPEvents2 : public IWMPEvents
    {
    public:
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DeviceConnect( 
            /* [in] */ IWMPSyncDevice *pDevice) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DeviceDisconnect( 
            /* [in] */ IWMPSyncDevice *pDevice) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DeviceStatusChange( 
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ WMPDeviceStatus NewStatus) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DeviceSyncStateChange( 
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ WMPSyncState NewState) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE DeviceSyncError( 
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ IDispatch *pMedia) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE CreatePartnershipComplete( 
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ HRESULT hrResult) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMPEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMPEvents2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMPEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *OpenStateChange )( 
            IWMPEvents2 * This,
            /* [in] */ long NewState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayStateChange )( 
            IWMPEvents2 * This,
            /* [in] */ long NewState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *AudioLanguageChange )( 
            IWMPEvents2 * This,
            /* [in] */ long LangID);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *StatusChange )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *ScriptCommand )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR scType,
            /* [in] */ BSTR Param);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *NewStream )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Disconnect )( 
            IWMPEvents2 * This,
            /* [in] */ long Result);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Buffering )( 
            IWMPEvents2 * This,
            /* [in] */ VARIANT_BOOL Start);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Error )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Warning )( 
            IWMPEvents2 * This,
            /* [in] */ long WarningType,
            /* [in] */ long Param,
            /* [in] */ BSTR Description);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *EndOfStream )( 
            IWMPEvents2 * This,
            /* [in] */ long Result);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PositionChange )( 
            IWMPEvents2 * This,
            /* [in] */ double oldPosition,
            /* [in] */ double newPosition);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MarkerHit )( 
            IWMPEvents2 * This,
            /* [in] */ long MarkerNum);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DurationUnitChange )( 
            IWMPEvents2 * This,
            /* [in] */ long NewDurationUnit);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CdromMediaChange )( 
            IWMPEvents2 * This,
            /* [in] */ long CdromNum);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistChange )( 
            IWMPEvents2 * This,
            /* [in] */ IDispatch *Playlist,
            /* [in] */ WMPPlaylistChangeEventType change);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentPlaylistChange )( 
            IWMPEvents2 * This,
            /* [in] */ WMPPlaylistChangeEventType change);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentPlaylistItemAvailable )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrItemName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaChange )( 
            IWMPEvents2 * This,
            /* [in] */ IDispatch *Item);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentMediaItemAvailable )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrItemName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CurrentItemChange )( 
            IWMPEvents2 * This,
            /* [in] */ IDispatch *pdispMedia);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionChange )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrAttribName,
            /* [in] */ BSTR bstrOldAttribVal,
            /* [in] */ BSTR bstrNewAttribVal);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionChange )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrPlaylistName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrPlaylistName);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR bstrPlaylistName,
            /* [in] */ VARIANT_BOOL varfIsDeleted);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *ModeChange )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR ModeName,
            /* [in] */ VARIANT_BOOL NewValue);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MediaError )( 
            IWMPEvents2 * This,
            /* [in] */ IDispatch *pMediaObject);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *OpenPlaylistSwitch )( 
            IWMPEvents2 * This,
            /* [in] */ IDispatch *pItem);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DomainChange )( 
            IWMPEvents2 * This,
            /* [in] */ BSTR strDomain);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *SwitchedToPlayerApplication )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *SwitchedToControl )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayerDockedStateChange )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *PlayerReconnect )( 
            IWMPEvents2 * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Click )( 
            IWMPEvents2 * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DoubleClick )( 
            IWMPEvents2 * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyDown )( 
            IWMPEvents2 * This,
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyPress )( 
            IWMPEvents2 * This,
            /* [in] */ short nKeyAscii);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *KeyUp )( 
            IWMPEvents2 * This,
            /* [in] */ short nKeyCode,
            /* [in] */ short nShiftState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseDown )( 
            IWMPEvents2 * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseMove )( 
            IWMPEvents2 * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *MouseUp )( 
            IWMPEvents2 * This,
            /* [in] */ short nButton,
            /* [in] */ short nShiftState,
            /* [in] */ long fX,
            /* [in] */ long fY);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DeviceConnect )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DeviceDisconnect )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DeviceStatusChange )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ WMPDeviceStatus NewStatus);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DeviceSyncStateChange )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ WMPSyncState NewState);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *DeviceSyncError )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ IDispatch *pMedia);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *CreatePartnershipComplete )( 
            IWMPEvents2 * This,
            /* [in] */ IWMPSyncDevice *pDevice,
            /* [in] */ HRESULT hrResult);
        
        END_INTERFACE
    } IWMPEvents2Vtbl;

    interface IWMPEvents2
    {
        CONST_VTBL struct IWMPEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWMPEvents2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMPEvents2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMPEvents2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMPEvents2_OpenStateChange(This,NewState)	\
    (This)->lpVtbl -> OpenStateChange(This,NewState)

#define IWMPEvents2_PlayStateChange(This,NewState)	\
    (This)->lpVtbl -> PlayStateChange(This,NewState)

#define IWMPEvents2_AudioLanguageChange(This,LangID)	\
    (This)->lpVtbl -> AudioLanguageChange(This,LangID)

#define IWMPEvents2_StatusChange(This)	\
    (This)->lpVtbl -> StatusChange(This)

#define IWMPEvents2_ScriptCommand(This,scType,Param)	\
    (This)->lpVtbl -> ScriptCommand(This,scType,Param)

#define IWMPEvents2_NewStream(This)	\
    (This)->lpVtbl -> NewStream(This)

#define IWMPEvents2_Disconnect(This,Result)	\
    (This)->lpVtbl -> Disconnect(This,Result)

#define IWMPEvents2_Buffering(This,Start)	\
    (This)->lpVtbl -> Buffering(This,Start)

#define IWMPEvents2_Error(This)	\
    (This)->lpVtbl -> Error(This)

#define IWMPEvents2_Warning(This,WarningType,Param,Description)	\
    (This)->lpVtbl -> Warning(This,WarningType,Param,Description)

#define IWMPEvents2_EndOfStream(This,Result)	\
    (This)->lpVtbl -> EndOfStream(This,Result)

#define IWMPEvents2_PositionChange(This,oldPosition,newPosition)	\
    (This)->lpVtbl -> PositionChange(This,oldPosition,newPosition)

#define IWMPEvents2_MarkerHit(This,MarkerNum)	\
    (This)->lpVtbl -> MarkerHit(This,MarkerNum)

#define IWMPEvents2_DurationUnitChange(This,NewDurationUnit)	\
    (This)->lpVtbl -> DurationUnitChange(This,NewDurationUnit)

#define IWMPEvents2_CdromMediaChange(This,CdromNum)	\
    (This)->lpVtbl -> CdromMediaChange(This,CdromNum)

#define IWMPEvents2_PlaylistChange(This,Playlist,change)	\
    (This)->lpVtbl -> PlaylistChange(This,Playlist,change)

#define IWMPEvents2_CurrentPlaylistChange(This,change)	\
    (This)->lpVtbl -> CurrentPlaylistChange(This,change)

#define IWMPEvents2_CurrentPlaylistItemAvailable(This,bstrItemName)	\
    (This)->lpVtbl -> CurrentPlaylistItemAvailable(This,bstrItemName)

#define IWMPEvents2_MediaChange(This,Item)	\
    (This)->lpVtbl -> MediaChange(This,Item)

#define IWMPEvents2_CurrentMediaItemAvailable(This,bstrItemName)	\
    (This)->lpVtbl -> CurrentMediaItemAvailable(This,bstrItemName)

#define IWMPEvents2_CurrentItemChange(This,pdispMedia)	\
    (This)->lpVtbl -> CurrentItemChange(This,pdispMedia)

#define IWMPEvents2_MediaCollectionChange(This)	\
    (This)->lpVtbl -> MediaCollectionChange(This)

#define IWMPEvents2_MediaCollectionAttributeStringAdded(This,bstrAttribName,bstrAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringAdded(This,bstrAttribName,bstrAttribVal)

#define IWMPEvents2_MediaCollectionAttributeStringRemoved(This,bstrAttribName,bstrAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringRemoved(This,bstrAttribName,bstrAttribVal)

#define IWMPEvents2_MediaCollectionAttributeStringChanged(This,bstrAttribName,bstrOldAttribVal,bstrNewAttribVal)	\
    (This)->lpVtbl -> MediaCollectionAttributeStringChanged(This,bstrAttribName,bstrOldAttribVal,bstrNewAttribVal)

#define IWMPEvents2_PlaylistCollectionChange(This)	\
    (This)->lpVtbl -> PlaylistCollectionChange(This)

#define IWMPEvents2_PlaylistCollectionPlaylistAdded(This,bstrPlaylistName)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistAdded(This,bstrPlaylistName)

#define IWMPEvents2_PlaylistCollectionPlaylistRemoved(This,bstrPlaylistName)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistRemoved(This,bstrPlaylistName)

#define IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(This,bstrPlaylistName,varfIsDeleted)	\
    (This)->lpVtbl -> PlaylistCollectionPlaylistSetAsDeleted(This,bstrPlaylistName,varfIsDeleted)

#define IWMPEvents2_ModeChange(This,ModeName,NewValue)	\
    (This)->lpVtbl -> ModeChange(This,ModeName,NewValue)

#define IWMPEvents2_MediaError(This,pMediaObject)	\
    (This)->lpVtbl -> MediaError(This,pMediaObject)

#define IWMPEvents2_OpenPlaylistSwitch(This,pItem)	\
    (This)->lpVtbl -> OpenPlaylistSwitch(This,pItem)

#define IWMPEvents2_DomainChange(This,strDomain)	\
    (This)->lpVtbl -> DomainChange(This,strDomain)

#define IWMPEvents2_SwitchedToPlayerApplication(This)	\
    (This)->lpVtbl -> SwitchedToPlayerApplication(This)

#define IWMPEvents2_SwitchedToControl(This)	\
    (This)->lpVtbl -> SwitchedToControl(This)

#define IWMPEvents2_PlayerDockedStateChange(This)	\
    (This)->lpVtbl -> PlayerDockedStateChange(This)

#define IWMPEvents2_PlayerReconnect(This)	\
    (This)->lpVtbl -> PlayerReconnect(This)

#define IWMPEvents2_Click(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> Click(This,nButton,nShiftState,fX,fY)

#define IWMPEvents2_DoubleClick(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> DoubleClick(This,nButton,nShiftState,fX,fY)

#define IWMPEvents2_KeyDown(This,nKeyCode,nShiftState)	\
    (This)->lpVtbl -> KeyDown(This,nKeyCode,nShiftState)

#define IWMPEvents2_KeyPress(This,nKeyAscii)	\
    (This)->lpVtbl -> KeyPress(This,nKeyAscii)

#define IWMPEvents2_KeyUp(This,nKeyCode,nShiftState)	\
    (This)->lpVtbl -> KeyUp(This,nKeyCode,nShiftState)

#define IWMPEvents2_MouseDown(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseDown(This,nButton,nShiftState,fX,fY)

#define IWMPEvents2_MouseMove(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseMove(This,nButton,nShiftState,fX,fY)

#define IWMPEvents2_MouseUp(This,nButton,nShiftState,fX,fY)	\
    (This)->lpVtbl -> MouseUp(This,nButton,nShiftState,fX,fY)


#define IWMPEvents2_DeviceConnect(This,pDevice)	\
    (This)->lpVtbl -> DeviceConnect(This,pDevice)

#define IWMPEvents2_DeviceDisconnect(This,pDevice)	\
    (This)->lpVtbl -> DeviceDisconnect(This,pDevice)

#define IWMPEvents2_DeviceStatusChange(This,pDevice,NewStatus)	\
    (This)->lpVtbl -> DeviceStatusChange(This,pDevice,NewStatus)

#define IWMPEvents2_DeviceSyncStateChange(This,pDevice,NewState)	\
    (This)->lpVtbl -> DeviceSyncStateChange(This,pDevice,NewState)

#define IWMPEvents2_DeviceSyncError(This,pDevice,pMedia)	\
    (This)->lpVtbl -> DeviceSyncError(This,pDevice,pMedia)

#define IWMPEvents2_CreatePartnershipComplete(This,pDevice,hrResult)	\
    (This)->lpVtbl -> CreatePartnershipComplete(This,pDevice,hrResult)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_DeviceConnect_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice);


void __RPC_STUB IWMPEvents2_DeviceConnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_DeviceDisconnect_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice);


void __RPC_STUB IWMPEvents2_DeviceDisconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_DeviceStatusChange_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice,
    /* [in] */ WMPDeviceStatus NewStatus);


void __RPC_STUB IWMPEvents2_DeviceStatusChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_DeviceSyncStateChange_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice,
    /* [in] */ WMPSyncState NewState);


void __RPC_STUB IWMPEvents2_DeviceSyncStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_DeviceSyncError_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice,
    /* [in] */ IDispatch *pMedia);


void __RPC_STUB IWMPEvents2_DeviceSyncError_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IWMPEvents2_CreatePartnershipComplete_Proxy( 
    IWMPEvents2 * This,
    /* [in] */ IWMPSyncDevice *pDevice,
    /* [in] */ HRESULT hrResult);


void __RPC_STUB IWMPEvents2_CreatePartnershipComplete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IWMPEvents2_INTERFACE_DEFINED__ */


#ifndef ___WMPOCXEvents_DISPINTERFACE_DEFINED__
#define ___WMPOCXEvents_DISPINTERFACE_DEFINED__

/* dispinterface _WMPOCXEvents */
/* [hidden][helpstring][uuid] */ 


EXTERN_C const IID DIID__WMPOCXEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("6BF52A51-394A-11d3-B153-00C04F79FAA6")
    _WMPOCXEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _WMPOCXEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _WMPOCXEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _WMPOCXEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _WMPOCXEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _WMPOCXEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _WMPOCXEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _WMPOCXEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _WMPOCXEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _WMPOCXEventsVtbl;

    interface _WMPOCXEvents
    {
        CONST_VTBL struct _WMPOCXEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _WMPOCXEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _WMPOCXEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _WMPOCXEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _WMPOCXEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _WMPOCXEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _WMPOCXEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _WMPOCXEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___WMPOCXEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_WindowsMediaPlayer;

#ifdef __cplusplus

class DECLSPEC_UUID("6BF52A52-394A-11d3-B153-00C04F79FAA6")
WindowsMediaPlayer;
#endif
#endif /* __WMPLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Australia Australia
Developing windows applications for over 15 years now starting on Win 3.1 with Object Oriented Pascal, progressed to C++ and OWL, in 1996 switch to MFC and never looked back, now focusing on .NET/Mono.

Comments and Discussions