

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


 /* File created by MIDL compiler version 7.00.0499 */
/* Compiler settings for wmsxmldomextensions.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__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#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 __wmsxmldomextensions_h__
#define __wmsxmldomextensions_h__

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

/* Forward Declarations */ 

#ifndef __IWMSActiveStream_FWD_DEFINED__
#define __IWMSActiveStream_FWD_DEFINED__
typedef interface IWMSActiveStream IWMSActiveStream;
#endif 	/* __IWMSActiveStream_FWD_DEFINED__ */


#ifndef __IWMSActiveStreams_FWD_DEFINED__
#define __IWMSActiveStreams_FWD_DEFINED__
typedef interface IWMSActiveStreams IWMSActiveStreams;
#endif 	/* __IWMSActiveStreams_FWD_DEFINED__ */


#ifndef __IWMSActiveMedia_FWD_DEFINED__
#define __IWMSActiveMedia_FWD_DEFINED__
typedef interface IWMSActiveMedia IWMSActiveMedia;
#endif 	/* __IWMSActiveMedia_FWD_DEFINED__ */


#ifndef __IWMSPlaylist_FWD_DEFINED__
#define __IWMSPlaylist_FWD_DEFINED__
typedef interface IWMSPlaylist IWMSPlaylist;
#endif 	/* __IWMSPlaylist_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_wmsxmldomextensions_0000_0000 */
/* [local] */ 

//*****************************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// Automatically generated by Midl from wmsXMLDOMExtensions.idl
//
// DO NOT EDIT THIS FILE.
//
//*****************************************************************************
#pragma once
#ifndef __WMS_XML_DOM_EXTENSIONS_IDL__
#define __WMS_XML_DOM_EXTENSIONS_IDL__
#include <WMSDefs.h>


extern RPC_IF_HANDLE __MIDL_itf_wmsxmldomextensions_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmsxmldomextensions_0000_0000_v0_0_s_ifspec;

#ifndef __IWMSActiveStream_INTERFACE_DEFINED__
#define __IWMSActiveStream_INTERFACE_DEFINED__

/* interface IWMSActiveStream */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 

typedef /* [uuid][public] */  DECLSPEC_UUID("9D6A9BE7-B08C-48a8-9755-ACBC5E79973A") 
enum WMS_ACTIVE_STREAM_TYPE
    {	WMS_STREAM_TYPE_VIDEO	= 0,
	WMS_STREAM_TYPE_AUDIO	= 1,
	WMS_STREAM_TYPE_OTHER	= 2
    } 	WMS_ACTIVE_STREAM_TYPE;


EXTERN_C const IID IID_IWMSActiveStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("165FC383-B494-4465-AD08-4A73CEDF8791")
    IWMSActiveStream : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ __RPC__out WMS_ACTIVE_STREAM_TYPE *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ __RPC__deref_out_opt BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( 
            /* [retval][out] */ __RPC__out long *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMSActiveStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMSActiveStream * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMSActiveStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMSActiveStream * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMSActiveStream * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMSActiveStream * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMSActiveStream * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMSActiveStream * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IWMSActiveStream * This,
            /* [retval][out] */ __RPC__out WMS_ACTIVE_STREAM_TYPE *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IWMSActiveStream * This,
            /* [retval][out] */ __RPC__deref_out_opt BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
            IWMSActiveStream * This,
            /* [retval][out] */ __RPC__out long *pVal);
        
        END_INTERFACE
    } IWMSActiveStreamVtbl;

    interface IWMSActiveStream
    {
        CONST_VTBL struct IWMSActiveStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IWMSActiveStream_get_Type(This,pVal)	\
    ( (This)->lpVtbl -> get_Type(This,pVal) ) 

#define IWMSActiveStream_get_Name(This,pVal)	\
    ( (This)->lpVtbl -> get_Name(This,pVal) ) 

#define IWMSActiveStream_get_BitRate(This,pVal)	\
    ( (This)->lpVtbl -> get_BitRate(This,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWMSActiveStream_INTERFACE_DEFINED__ */


#ifndef __IWMSActiveStreams_INTERFACE_DEFINED__
#define __IWMSActiveStreams_INTERFACE_DEFINED__

/* interface IWMSActiveStreams */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMSActiveStreams;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5F248EA2-C018-466c-9AD7-2086CFB9A5D3")
    IWMSActiveStreams : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ const VARIANT varIndex,
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveStream **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ __RPC__out long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [retval][out] */ __RPC__out long *pVal) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ __RPC__deref_out_opt IUnknown **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMSActiveStreamsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMSActiveStreams * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMSActiveStreams * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMSActiveStreams * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMSActiveStreams * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMSActiveStreams * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMSActiveStreams * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMSActiveStreams * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IWMSActiveStreams * This,
            /* [in] */ const VARIANT varIndex,
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveStream **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IWMSActiveStreams * This,
            /* [retval][out] */ __RPC__out long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            IWMSActiveStreams * This,
            /* [retval][out] */ __RPC__out long *pVal);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IWMSActiveStreams * This,
            /* [retval][out] */ __RPC__deref_out_opt IUnknown **pVal);
        
        END_INTERFACE
    } IWMSActiveStreamsVtbl;

    interface IWMSActiveStreams
    {
        CONST_VTBL struct IWMSActiveStreamsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IWMSActiveStreams_get_Item(This,varIndex,pVal)	\
    ( (This)->lpVtbl -> get_Item(This,varIndex,pVal) ) 

#define IWMSActiveStreams_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IWMSActiveStreams_get_length(This,pVal)	\
    ( (This)->lpVtbl -> get_length(This,pVal) ) 

#define IWMSActiveStreams_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWMSActiveStreams_INTERFACE_DEFINED__ */


#ifndef __IWMSActiveMedia_INTERFACE_DEFINED__
#define __IWMSActiveMedia_INTERFACE_DEFINED__

/* interface IWMSActiveMedia */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IWMSActiveMedia;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9D07EE1C-798F-4a28-85FA-230664650B7C")
    IWMSActiveMedia : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
            /* [retval][out] */ __RPC__out long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TotalPackets( 
            /* [retval][out] */ __RPC__out long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Live( 
            /* [retval][out] */ __RPC__out VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Streams( 
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveStreams **pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrLanguage,
            /* [retval][out] */ __RPC__deref_out_opt BSTR *pProperty) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMSActiveMediaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMSActiveMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMSActiveMedia * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMSActiveMedia * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMSActiveMedia * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMSActiveMedia * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMSActiveMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMSActiveMedia * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IWMSActiveMedia * This,
            /* [retval][out] */ __RPC__out long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalPackets )( 
            IWMSActiveMedia * This,
            /* [retval][out] */ __RPC__out long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Live )( 
            IWMSActiveMedia * This,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Streams )( 
            IWMSActiveMedia * This,
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveStreams **pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            IWMSActiveMedia * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrLanguage,
            /* [retval][out] */ __RPC__deref_out_opt BSTR *pProperty);
        
        END_INTERFACE
    } IWMSActiveMediaVtbl;

    interface IWMSActiveMedia
    {
        CONST_VTBL struct IWMSActiveMediaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IWMSActiveMedia_get_Duration(This,pVal)	\
    ( (This)->lpVtbl -> get_Duration(This,pVal) ) 

#define IWMSActiveMedia_get_TotalPackets(This,pVal)	\
    ( (This)->lpVtbl -> get_TotalPackets(This,pVal) ) 

#define IWMSActiveMedia_get_Live(This,pVal)	\
    ( (This)->lpVtbl -> get_Live(This,pVal) ) 

#define IWMSActiveMedia_get_Streams(This,pVal)	\
    ( (This)->lpVtbl -> get_Streams(This,pVal) ) 

#define IWMSActiveMedia_GetProperty(This,bstrName,bstrLanguage,pProperty)	\
    ( (This)->lpVtbl -> GetProperty(This,bstrName,bstrLanguage,pProperty) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWMSActiveMedia_INTERFACE_DEFINED__ */


#ifndef __IWMSPlaylist_INTERFACE_DEFINED__
#define __IWMSPlaylist_INTERFACE_DEFINED__

/* interface IWMSPlaylist */
/* [helpstring][uuid][unique][nonextensible][dual][object] */ 


EXTERN_C const IID IID_IWMSPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0EE1F2E7-48EF-11d2-9EFF-006097D2D7CF")
    IWMSPlaylist : public IXMLDOMDocument
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPlaylistEntry( 
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **ppPlaylistEntry) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentPlaylistEntry( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallerEntry( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **ppCallerPlaylistEntry) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsStreamCued( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ElapsedSimpleTime( 
            /* [retval][out] */ __RPC__out long *pSimpleTime) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentMediaInformation( 
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveMedia **ppMediaInfo) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FireEvent( 
            /* [in] */ __RPC__in BSTR bstrEventName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CueStream( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UncueStream( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_NestedPlaylist( 
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__deref_out_opt IWMSPlaylist **ppPlaylist) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IWMSPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IWMSPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IWMSPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IWMSPlaylist * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IWMSPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWMSPlaylist * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeName )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt BSTR *name);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeValue )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__out VARIANT *value);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeValue )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT value);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeType )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__out DOMNodeType *type);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentNode )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **parent);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNodeList **childList);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstChild )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **firstChild);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastChild )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **lastChild);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousSibling )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **previousSibling);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextSibling )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **nextSibling);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNamedNodeMap **attributeMap);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *insertBefore )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *newChild,
            /* [in] */ VARIANT refChild,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **outNewChild);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *replaceChild )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IXMLDOMNode *oldChild,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **outOldChild);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *removeChild )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *childNode,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **oldChild);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *appendChild )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *newChild,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **outNewChild);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *hasChildNodes )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *hasChild);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerDocument )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMDocument **DOMDocument);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *cloneNode )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT_BOOL deep,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNode **cloneRoot);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeTypeString )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *nodeType);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *text);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR text);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_specified )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *isSpecified);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_definition )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMNode **definitionNode);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeTypedValue )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT *typedValue);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeTypedValue )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT typedValue);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataType )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT *dataTypeName);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataType )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR dataTypeName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xml )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *xmlString);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *transformNode )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *stylesheet,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *xmlString);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *selectNodes )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR queryString,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMNodeList **resultList);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *selectSingleNode )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR queryString,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMNode **resultNode);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parsed )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isParsed);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_namespaceURI )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *namespaceURI);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_prefix )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *prefixString);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseName )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *nameString);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *transformNodeToObject )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMNode *stylesheet,
            /* [in] */ VARIANT outputObject);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_doctype )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMDocumentType **documentType);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_implementation )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMImplementation **impl);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_documentElement )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **DOMElement);
        
        /* [helpstring][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_documentElement )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *DOMElement);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createElement )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR tagName,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **element);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createDocumentFragment )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMDocumentFragment **docFrag);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createTextNode )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR data,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMText **text);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createComment )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR data,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMComment **comment);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createCDATASection )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR data,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMCDATASection **cdata);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createProcessingInstruction )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR target,
            /* [in] */ __RPC__in BSTR data,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMProcessingInstruction **pi);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createAttribute )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR name,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMAttribute **attribute);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createEntityReference )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR name,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMEntityReference **entityRef);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByTagName )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR tagName,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMNodeList **resultList);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createNode )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT Type,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ __RPC__in BSTR namespaceURI,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMNode **node);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *nodeFromID )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR idString,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMNode **node);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *load )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT xmlSource,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *isSuccessful);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out long *value);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parseError )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt IXMLDOMParseError **errorObj);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_url )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *urlString);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_async )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isAsync);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_async )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT_BOOL isAsync);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *abort )( 
            IWMSPlaylist * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *loadXML )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR bstrXML,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *isSuccessful);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *save )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT desination);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_validateOnParse )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isValidating);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_validateOnParse )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT_BOOL isValidating);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_resolveExternals )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isResolving);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_resolveExternals )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT_BOOL isResolving);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_preserveWhiteSpace )( 
            IWMSPlaylist * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isPreserving);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_preserveWhiteSpace )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT_BOOL isPreserving);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT readystatechangeSink);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondataavailable )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT ondataavailableSink);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontransformnode )( 
            IWMSPlaylist * This,
            /* [in] */ VARIANT ontransformnodeSink);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPlaylistEntry )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **ppPlaylistEntry);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPlaylistEntry )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallerEntry )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__deref_out_opt IXMLDOMElement **ppCallerPlaylistEntry);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStreamCued )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__out VARIANT_BOOL *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ElapsedSimpleTime )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__out long *pSimpleTime);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentMediaInformation )( 
            IWMSPlaylist * This,
            /* [retval][out] */ __RPC__deref_out_opt IWMSActiveMedia **ppMediaInfo);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FireEvent )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in BSTR bstrEventName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CueStream )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UncueStream )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NestedPlaylist )( 
            IWMSPlaylist * This,
            /* [in] */ __RPC__in_opt IXMLDOMElement *pPlaylistEntry,
            /* [retval][out] */ __RPC__deref_out_opt IWMSPlaylist **ppPlaylist);
        
        END_INTERFACE
    } IWMSPlaylistVtbl;

    interface IWMSPlaylist
    {
        CONST_VTBL struct IWMSPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IWMSPlaylist_get_nodeName(This,name)	\
    ( (This)->lpVtbl -> get_nodeName(This,name) ) 

#define IWMSPlaylist_get_nodeValue(This,value)	\
    ( (This)->lpVtbl -> get_nodeValue(This,value) ) 

#define IWMSPlaylist_put_nodeValue(This,value)	\
    ( (This)->lpVtbl -> put_nodeValue(This,value) ) 

#define IWMSPlaylist_get_nodeType(This,type)	\
    ( (This)->lpVtbl -> get_nodeType(This,type) ) 

#define IWMSPlaylist_get_parentNode(This,parent)	\
    ( (This)->lpVtbl -> get_parentNode(This,parent) ) 

#define IWMSPlaylist_get_childNodes(This,childList)	\
    ( (This)->lpVtbl -> get_childNodes(This,childList) ) 

#define IWMSPlaylist_get_firstChild(This,firstChild)	\
    ( (This)->lpVtbl -> get_firstChild(This,firstChild) ) 

#define IWMSPlaylist_get_lastChild(This,lastChild)	\
    ( (This)->lpVtbl -> get_lastChild(This,lastChild) ) 

#define IWMSPlaylist_get_previousSibling(This,previousSibling)	\
    ( (This)->lpVtbl -> get_previousSibling(This,previousSibling) ) 

#define IWMSPlaylist_get_nextSibling(This,nextSibling)	\
    ( (This)->lpVtbl -> get_nextSibling(This,nextSibling) ) 

#define IWMSPlaylist_get_attributes(This,attributeMap)	\
    ( (This)->lpVtbl -> get_attributes(This,attributeMap) ) 

#define IWMSPlaylist_insertBefore(This,newChild,refChild,outNewChild)	\
    ( (This)->lpVtbl -> insertBefore(This,newChild,refChild,outNewChild) ) 

#define IWMSPlaylist_replaceChild(This,newChild,oldChild,outOldChild)	\
    ( (This)->lpVtbl -> replaceChild(This,newChild,oldChild,outOldChild) ) 

#define IWMSPlaylist_removeChild(This,childNode,oldChild)	\
    ( (This)->lpVtbl -> removeChild(This,childNode,oldChild) ) 

#define IWMSPlaylist_appendChild(This,newChild,outNewChild)	\
    ( (This)->lpVtbl -> appendChild(This,newChild,outNewChild) ) 

#define IWMSPlaylist_hasChildNodes(This,hasChild)	\
    ( (This)->lpVtbl -> hasChildNodes(This,hasChild) ) 

#define IWMSPlaylist_get_ownerDocument(This,DOMDocument)	\
    ( (This)->lpVtbl -> get_ownerDocument(This,DOMDocument) ) 

#define IWMSPlaylist_cloneNode(This,deep,cloneRoot)	\
    ( (This)->lpVtbl -> cloneNode(This,deep,cloneRoot) ) 

#define IWMSPlaylist_get_nodeTypeString(This,nodeType)	\
    ( (This)->lpVtbl -> get_nodeTypeString(This,nodeType) ) 

#define IWMSPlaylist_get_text(This,text)	\
    ( (This)->lpVtbl -> get_text(This,text) ) 

#define IWMSPlaylist_put_text(This,text)	\
    ( (This)->lpVtbl -> put_text(This,text) ) 

#define IWMSPlaylist_get_specified(This,isSpecified)	\
    ( (This)->lpVtbl -> get_specified(This,isSpecified) ) 

#define IWMSPlaylist_get_definition(This,definitionNode)	\
    ( (This)->lpVtbl -> get_definition(This,definitionNode) ) 

#define IWMSPlaylist_get_nodeTypedValue(This,typedValue)	\
    ( (This)->lpVtbl -> get_nodeTypedValue(This,typedValue) ) 

#define IWMSPlaylist_put_nodeTypedValue(This,typedValue)	\
    ( (This)->lpVtbl -> put_nodeTypedValue(This,typedValue) ) 

#define IWMSPlaylist_get_dataType(This,dataTypeName)	\
    ( (This)->lpVtbl -> get_dataType(This,dataTypeName) ) 

#define IWMSPlaylist_put_dataType(This,dataTypeName)	\
    ( (This)->lpVtbl -> put_dataType(This,dataTypeName) ) 

#define IWMSPlaylist_get_xml(This,xmlString)	\
    ( (This)->lpVtbl -> get_xml(This,xmlString) ) 

#define IWMSPlaylist_transformNode(This,stylesheet,xmlString)	\
    ( (This)->lpVtbl -> transformNode(This,stylesheet,xmlString) ) 

#define IWMSPlaylist_selectNodes(This,queryString,resultList)	\
    ( (This)->lpVtbl -> selectNodes(This,queryString,resultList) ) 

#define IWMSPlaylist_selectSingleNode(This,queryString,resultNode)	\
    ( (This)->lpVtbl -> selectSingleNode(This,queryString,resultNode) ) 

#define IWMSPlaylist_get_parsed(This,isParsed)	\
    ( (This)->lpVtbl -> get_parsed(This,isParsed) ) 

#define IWMSPlaylist_get_namespaceURI(This,namespaceURI)	\
    ( (This)->lpVtbl -> get_namespaceURI(This,namespaceURI) ) 

#define IWMSPlaylist_get_prefix(This,prefixString)	\
    ( (This)->lpVtbl -> get_prefix(This,prefixString) ) 

#define IWMSPlaylist_get_baseName(This,nameString)	\
    ( (This)->lpVtbl -> get_baseName(This,nameString) ) 

#define IWMSPlaylist_transformNodeToObject(This,stylesheet,outputObject)	\
    ( (This)->lpVtbl -> transformNodeToObject(This,stylesheet,outputObject) ) 


#define IWMSPlaylist_get_doctype(This,documentType)	\
    ( (This)->lpVtbl -> get_doctype(This,documentType) ) 

#define IWMSPlaylist_get_implementation(This,impl)	\
    ( (This)->lpVtbl -> get_implementation(This,impl) ) 

#define IWMSPlaylist_get_documentElement(This,DOMElement)	\
    ( (This)->lpVtbl -> get_documentElement(This,DOMElement) ) 

#define IWMSPlaylist_putref_documentElement(This,DOMElement)	\
    ( (This)->lpVtbl -> putref_documentElement(This,DOMElement) ) 

#define IWMSPlaylist_createElement(This,tagName,element)	\
    ( (This)->lpVtbl -> createElement(This,tagName,element) ) 

#define IWMSPlaylist_createDocumentFragment(This,docFrag)	\
    ( (This)->lpVtbl -> createDocumentFragment(This,docFrag) ) 

#define IWMSPlaylist_createTextNode(This,data,text)	\
    ( (This)->lpVtbl -> createTextNode(This,data,text) ) 

#define IWMSPlaylist_createComment(This,data,comment)	\
    ( (This)->lpVtbl -> createComment(This,data,comment) ) 

#define IWMSPlaylist_createCDATASection(This,data,cdata)	\
    ( (This)->lpVtbl -> createCDATASection(This,data,cdata) ) 

#define IWMSPlaylist_createProcessingInstruction(This,target,data,pi)	\
    ( (This)->lpVtbl -> createProcessingInstruction(This,target,data,pi) ) 

#define IWMSPlaylist_createAttribute(This,name,attribute)	\
    ( (This)->lpVtbl -> createAttribute(This,name,attribute) ) 

#define IWMSPlaylist_createEntityReference(This,name,entityRef)	\
    ( (This)->lpVtbl -> createEntityReference(This,name,entityRef) ) 

#define IWMSPlaylist_getElementsByTagName(This,tagName,resultList)	\
    ( (This)->lpVtbl -> getElementsByTagName(This,tagName,resultList) ) 

#define IWMSPlaylist_createNode(This,Type,name,namespaceURI,node)	\
    ( (This)->lpVtbl -> createNode(This,Type,name,namespaceURI,node) ) 

#define IWMSPlaylist_nodeFromID(This,idString,node)	\
    ( (This)->lpVtbl -> nodeFromID(This,idString,node) ) 

#define IWMSPlaylist_load(This,xmlSource,isSuccessful)	\
    ( (This)->lpVtbl -> load(This,xmlSource,isSuccessful) ) 

#define IWMSPlaylist_get_readyState(This,value)	\
    ( (This)->lpVtbl -> get_readyState(This,value) ) 

#define IWMSPlaylist_get_parseError(This,errorObj)	\
    ( (This)->lpVtbl -> get_parseError(This,errorObj) ) 

#define IWMSPlaylist_get_url(This,urlString)	\
    ( (This)->lpVtbl -> get_url(This,urlString) ) 

#define IWMSPlaylist_get_async(This,isAsync)	\
    ( (This)->lpVtbl -> get_async(This,isAsync) ) 

#define IWMSPlaylist_put_async(This,isAsync)	\
    ( (This)->lpVtbl -> put_async(This,isAsync) ) 

#define IWMSPlaylist_abort(This)	\
    ( (This)->lpVtbl -> abort(This) ) 

#define IWMSPlaylist_loadXML(This,bstrXML,isSuccessful)	\
    ( (This)->lpVtbl -> loadXML(This,bstrXML,isSuccessful) ) 

#define IWMSPlaylist_save(This,desination)	\
    ( (This)->lpVtbl -> save(This,desination) ) 

#define IWMSPlaylist_get_validateOnParse(This,isValidating)	\
    ( (This)->lpVtbl -> get_validateOnParse(This,isValidating) ) 

#define IWMSPlaylist_put_validateOnParse(This,isValidating)	\
    ( (This)->lpVtbl -> put_validateOnParse(This,isValidating) ) 

#define IWMSPlaylist_get_resolveExternals(This,isResolving)	\
    ( (This)->lpVtbl -> get_resolveExternals(This,isResolving) ) 

#define IWMSPlaylist_put_resolveExternals(This,isResolving)	\
    ( (This)->lpVtbl -> put_resolveExternals(This,isResolving) ) 

#define IWMSPlaylist_get_preserveWhiteSpace(This,isPreserving)	\
    ( (This)->lpVtbl -> get_preserveWhiteSpace(This,isPreserving) ) 

#define IWMSPlaylist_put_preserveWhiteSpace(This,isPreserving)	\
    ( (This)->lpVtbl -> put_preserveWhiteSpace(This,isPreserving) ) 

#define IWMSPlaylist_put_onreadystatechange(This,readystatechangeSink)	\
    ( (This)->lpVtbl -> put_onreadystatechange(This,readystatechangeSink) ) 

#define IWMSPlaylist_put_ondataavailable(This,ondataavailableSink)	\
    ( (This)->lpVtbl -> put_ondataavailable(This,ondataavailableSink) ) 

#define IWMSPlaylist_put_ontransformnode(This,ontransformnodeSink)	\
    ( (This)->lpVtbl -> put_ontransformnode(This,ontransformnodeSink) ) 


#define IWMSPlaylist_get_CurrentPlaylistEntry(This,ppPlaylistEntry)	\
    ( (This)->lpVtbl -> get_CurrentPlaylistEntry(This,ppPlaylistEntry) ) 

#define IWMSPlaylist_put_CurrentPlaylistEntry(This,pPlaylistEntry)	\
    ( (This)->lpVtbl -> put_CurrentPlaylistEntry(This,pPlaylistEntry) ) 

#define IWMSPlaylist_get_CallerEntry(This,pPlaylistEntry,ppCallerPlaylistEntry)	\
    ( (This)->lpVtbl -> get_CallerEntry(This,pPlaylistEntry,ppCallerPlaylistEntry) ) 

#define IWMSPlaylist_get_IsStreamCued(This,pPlaylistEntry,pVal)	\
    ( (This)->lpVtbl -> get_IsStreamCued(This,pPlaylistEntry,pVal) ) 

#define IWMSPlaylist_get_ElapsedSimpleTime(This,pSimpleTime)	\
    ( (This)->lpVtbl -> get_ElapsedSimpleTime(This,pSimpleTime) ) 

#define IWMSPlaylist_get_CurrentMediaInformation(This,ppMediaInfo)	\
    ( (This)->lpVtbl -> get_CurrentMediaInformation(This,ppMediaInfo) ) 

#define IWMSPlaylist_FireEvent(This,bstrEventName)	\
    ( (This)->lpVtbl -> FireEvent(This,bstrEventName) ) 

#define IWMSPlaylist_CueStream(This,pPlaylistEntry)	\
    ( (This)->lpVtbl -> CueStream(This,pPlaylistEntry) ) 

#define IWMSPlaylist_UncueStream(This,pPlaylistEntry)	\
    ( (This)->lpVtbl -> UncueStream(This,pPlaylistEntry) ) 

#define IWMSPlaylist_get_NestedPlaylist(This,pPlaylistEntry,ppPlaylist)	\
    ( (This)->lpVtbl -> get_NestedPlaylist(This,pPlaylistEntry,ppPlaylist) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWMSPlaylist_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_wmsxmldomextensions_0000_0004 */
/* [local] */ 

#endif


extern RPC_IF_HANDLE __MIDL_itf_wmsxmldomextensions_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmsxmldomextensions_0000_0004_v0_0_s_ifspec;

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

unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize64(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal64(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal64(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree64(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif



