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


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed Nov 05 13:21:00 2008
 */
/* Compiler settings for iTunesCOMInterface.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 __iTunesCOMInterface_h__
#define __iTunesCOMInterface_h__

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

/* Forward Declarations */ 

#ifndef __IITObject_FWD_DEFINED__
#define __IITObject_FWD_DEFINED__
typedef interface IITObject IITObject;
#endif 	/* __IITObject_FWD_DEFINED__ */


#ifndef __IITSource_FWD_DEFINED__
#define __IITSource_FWD_DEFINED__
typedef interface IITSource IITSource;
#endif 	/* __IITSource_FWD_DEFINED__ */


#ifndef __IITSourceCollection_FWD_DEFINED__
#define __IITSourceCollection_FWD_DEFINED__
typedef interface IITSourceCollection IITSourceCollection;
#endif 	/* __IITSourceCollection_FWD_DEFINED__ */


#ifndef __IITEncoder_FWD_DEFINED__
#define __IITEncoder_FWD_DEFINED__
typedef interface IITEncoder IITEncoder;
#endif 	/* __IITEncoder_FWD_DEFINED__ */


#ifndef __IITEncoderCollection_FWD_DEFINED__
#define __IITEncoderCollection_FWD_DEFINED__
typedef interface IITEncoderCollection IITEncoderCollection;
#endif 	/* __IITEncoderCollection_FWD_DEFINED__ */


#ifndef __IITEQPreset_FWD_DEFINED__
#define __IITEQPreset_FWD_DEFINED__
typedef interface IITEQPreset IITEQPreset;
#endif 	/* __IITEQPreset_FWD_DEFINED__ */


#ifndef __IITEQPresetCollection_FWD_DEFINED__
#define __IITEQPresetCollection_FWD_DEFINED__
typedef interface IITEQPresetCollection IITEQPresetCollection;
#endif 	/* __IITEQPresetCollection_FWD_DEFINED__ */


#ifndef __IITPlaylist_FWD_DEFINED__
#define __IITPlaylist_FWD_DEFINED__
typedef interface IITPlaylist IITPlaylist;
#endif 	/* __IITPlaylist_FWD_DEFINED__ */


#ifndef __IITOperationStatus_FWD_DEFINED__
#define __IITOperationStatus_FWD_DEFINED__
typedef interface IITOperationStatus IITOperationStatus;
#endif 	/* __IITOperationStatus_FWD_DEFINED__ */


#ifndef __IITConvertOperationStatus_FWD_DEFINED__
#define __IITConvertOperationStatus_FWD_DEFINED__
typedef interface IITConvertOperationStatus IITConvertOperationStatus;
#endif 	/* __IITConvertOperationStatus_FWD_DEFINED__ */


#ifndef __IITLibraryPlaylist_FWD_DEFINED__
#define __IITLibraryPlaylist_FWD_DEFINED__
typedef interface IITLibraryPlaylist IITLibraryPlaylist;
#endif 	/* __IITLibraryPlaylist_FWD_DEFINED__ */


#ifndef __IITUserPlaylist_FWD_DEFINED__
#define __IITUserPlaylist_FWD_DEFINED__
typedef interface IITUserPlaylist IITUserPlaylist;
#endif 	/* __IITUserPlaylist_FWD_DEFINED__ */


#ifndef __IITTrack_FWD_DEFINED__
#define __IITTrack_FWD_DEFINED__
typedef interface IITTrack IITTrack;
#endif 	/* __IITTrack_FWD_DEFINED__ */


#ifndef __IITTrackCollection_FWD_DEFINED__
#define __IITTrackCollection_FWD_DEFINED__
typedef interface IITTrackCollection IITTrackCollection;
#endif 	/* __IITTrackCollection_FWD_DEFINED__ */


#ifndef __IITVisual_FWD_DEFINED__
#define __IITVisual_FWD_DEFINED__
typedef interface IITVisual IITVisual;
#endif 	/* __IITVisual_FWD_DEFINED__ */


#ifndef __IITVisualCollection_FWD_DEFINED__
#define __IITVisualCollection_FWD_DEFINED__
typedef interface IITVisualCollection IITVisualCollection;
#endif 	/* __IITVisualCollection_FWD_DEFINED__ */


#ifndef __IITWindow_FWD_DEFINED__
#define __IITWindow_FWD_DEFINED__
typedef interface IITWindow IITWindow;
#endif 	/* __IITWindow_FWD_DEFINED__ */


#ifndef __IITBrowserWindow_FWD_DEFINED__
#define __IITBrowserWindow_FWD_DEFINED__
typedef interface IITBrowserWindow IITBrowserWindow;
#endif 	/* __IITBrowserWindow_FWD_DEFINED__ */


#ifndef __IITWindowCollection_FWD_DEFINED__
#define __IITWindowCollection_FWD_DEFINED__
typedef interface IITWindowCollection IITWindowCollection;
#endif 	/* __IITWindowCollection_FWD_DEFINED__ */


#ifndef __IiTunes_FWD_DEFINED__
#define __IiTunes_FWD_DEFINED__
typedef interface IiTunes IiTunes;
#endif 	/* __IiTunes_FWD_DEFINED__ */


#ifndef ___IiTunesEvents_FWD_DEFINED__
#define ___IiTunesEvents_FWD_DEFINED__
typedef interface _IiTunesEvents _IiTunesEvents;
#endif 	/* ___IiTunesEvents_FWD_DEFINED__ */


#ifndef ___IITConvertOperationStatusEvents_FWD_DEFINED__
#define ___IITConvertOperationStatusEvents_FWD_DEFINED__
typedef interface _IITConvertOperationStatusEvents _IITConvertOperationStatusEvents;
#endif 	/* ___IITConvertOperationStatusEvents_FWD_DEFINED__ */


#ifndef __iTunesApp_FWD_DEFINED__
#define __iTunesApp_FWD_DEFINED__

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

#endif 	/* __iTunesApp_FWD_DEFINED__ */


#ifndef __iTunesConvertOperationStatus_FWD_DEFINED__
#define __iTunesConvertOperationStatus_FWD_DEFINED__

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

#endif 	/* __iTunesConvertOperationStatus_FWD_DEFINED__ */


#ifndef __IITArtwork_FWD_DEFINED__
#define __IITArtwork_FWD_DEFINED__
typedef interface IITArtwork IITArtwork;
#endif 	/* __IITArtwork_FWD_DEFINED__ */


#ifndef __IITArtworkCollection_FWD_DEFINED__
#define __IITArtworkCollection_FWD_DEFINED__
typedef interface IITArtworkCollection IITArtworkCollection;
#endif 	/* __IITArtworkCollection_FWD_DEFINED__ */


#ifndef __IITURLTrack_FWD_DEFINED__
#define __IITURLTrack_FWD_DEFINED__
typedef interface IITURLTrack IITURLTrack;
#endif 	/* __IITURLTrack_FWD_DEFINED__ */


#ifndef __IITAudioCDPlaylist_FWD_DEFINED__
#define __IITAudioCDPlaylist_FWD_DEFINED__
typedef interface IITAudioCDPlaylist IITAudioCDPlaylist;
#endif 	/* __IITAudioCDPlaylist_FWD_DEFINED__ */


#ifndef __IITPlaylistCollection_FWD_DEFINED__
#define __IITPlaylistCollection_FWD_DEFINED__
typedef interface IITPlaylistCollection IITPlaylistCollection;
#endif 	/* __IITPlaylistCollection_FWD_DEFINED__ */


#ifndef __IITIPodSource_FWD_DEFINED__
#define __IITIPodSource_FWD_DEFINED__
typedef interface IITIPodSource IITIPodSource;
#endif 	/* __IITIPodSource_FWD_DEFINED__ */


#ifndef __IITFileOrCDTrack_FWD_DEFINED__
#define __IITFileOrCDTrack_FWD_DEFINED__
typedef interface IITFileOrCDTrack IITFileOrCDTrack;
#endif 	/* __IITFileOrCDTrack_FWD_DEFINED__ */


#ifndef __IITPlaylistWindow_FWD_DEFINED__
#define __IITPlaylistWindow_FWD_DEFINED__
typedef interface IITPlaylistWindow IITPlaylistWindow;
#endif 	/* __IITPlaylistWindow_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 

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

/* interface __MIDL_itf_iTunesCOMInterface_0000 */
/* [local] */ 

typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("4B73428D-2F56-4833-8E5D-65590E45FEAD") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0001
    {	kITTypeLibrary_MajorVersion	= 1,
	kITTypeLibrary_MinorVersion	= 12
    } 	ITVersion;

typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("4C25623B-F990-4ebd-8970-F29A70084B8C") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0002
    {	ITUNES_E_USERCANCEL	= 0xa0040201,
	ITUNES_E_OBJECTDELETED	= 0xa0040202,
	ITUNES_E_OBJECTLOCKED	= 0xa0040203,
	ITUNES_E_CONVERSIONINPROGRESS	= 0xa0040204,
	ITUNES_E_MUSICSTOREDISABLED	= 0xa0040205,
	ITUNES_E_OBJECTEXISTS	= 0xa0040206,
	ITUNES_E_PODCASTSDISABLED	= 0xa0040207
    } 	ITErrors;



extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_s_ifspec;


#ifndef __iTunesLib_LIBRARY_DEFINED__
#define __iTunesLib_LIBRARY_DEFINED__

/* library iTunesLib */
/* [helpstring][uuid][version] */ 



















typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("3D502ACA-B474-4640-A2A4-C149538345EC") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0001
    {	ITPlayerStateStopped	= 0,
	ITPlayerStatePlaying	= ITPlayerStateStopped + 1,
	ITPlayerStateFastForward	= ITPlayerStatePlaying + 1,
	ITPlayerStateRewind	= ITPlayerStateFastForward + 1
    } 	ITPlayerState;

typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("5319FADA-0F39-4015-82A0-48B8B871C63C") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0002
    {	ITVisualSizeSmall	= 0,
	ITVisualSizeMedium	= ITVisualSizeSmall + 1,
	ITVisualSizeLarge	= ITVisualSizeMedium + 1
    } 	ITVisualSize;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("C8128C8D-EDE0-4f0e-AEB1-08D24A91C551") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0003
    {	ITCOMDisabledReasonOther	= 0,
	ITCOMDisabledReasonDialog	= ITCOMDisabledReasonOther + 1,
	ITCOMDisabledReasonQuitting	= ITCOMDisabledReasonDialog + 1
    } 	ITCOMDisabledReason;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("6B1BD814-CA6E-4063-9EDA-4128D31068C1") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0004
    {	ITPlayButtonStatePlayDisabled	= 0,
	ITPlayButtonStatePlayEnabled	= ITPlayButtonStatePlayDisabled + 1,
	ITPlayButtonStatePauseEnabled	= ITPlayButtonStatePlayEnabled + 1,
	ITPlayButtonStatePauseDisabled	= ITPlayButtonStatePauseEnabled + 1,
	ITPlayButtonStateStopEnabled	= ITPlayButtonStatePauseDisabled + 1,
	ITPlayButtonStateStopDisabled	= ITPlayButtonStateStopEnabled + 1
    } 	ITPlayButtonState;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("8AF85488-2154-4e46-B65B-1972A43493EF") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0005
    {	ITPlayerButtonPrevious	= 0,
	ITPlayerButtonPlay	= ITPlayerButtonPrevious + 1,
	ITPlayerButtonNext	= ITPlayerButtonPlay + 1
    } 	ITPlayerButton;

typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("2129AB11-F23F-485e-B15A-3F8573294F9A") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0006
    {	ITPlayerButtonModifierKeyNone	= 0,
	ITPlayerButtonModifierKeyShift	= 1,
	ITPlayerButtonModifierKeyControl	= 2,
	ITPlayerButtonModifierKeyAlt	= 4,
	ITPlayerButtonModifierKeyCapsLock	= 8
    } 	ITPlayerButtonModifierKey;

typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("3194F5F4-8F52-41e6-AB8E-4221CFE29550") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0275_0001
    {	ITEventDatabaseChanged	= 1,
	ITEventPlayerPlay	= 2,
	ITEventPlayerStop	= 3,
	ITEventPlayerPlayingTrackChanged	= 4,
	ITEventUserInterfaceEnabled	= 5,
	ITEventCOMCallsDisabled	= 6,
	ITEventCOMCallsEnabled	= 7,
	ITEventQuitting	= 8,
	ITEventAboutToPromptUserToQuit	= 9,
	ITEventSoundVolumeChanged	= 10
    } 	ITEvent;

typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("2E4D55FA-1CD3-4831-8751-0C11EC4FF6FD") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0276_0001
    {	ITConvertOperationStatusChanged	= 1,
	ITConvertOperationComplete	= 2
    } 	ITConvertOperationStatusEvent;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("269E36A5-1728-46e4-BF04-93032C3DD51C") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0277_0001
    {	ITArtworkFormatUnknown	= 0,
	ITArtworkFormatJPEG	= ITArtworkFormatUnknown + 1,
	ITArtworkFormatPNG	= ITArtworkFormatJPEG + 1,
	ITArtworkFormatBMP	= ITArtworkFormatPNG + 1
    } 	ITArtworkFormat;




typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("DDE76D6E-5F8C-4bda-AFA6-69E82218CFF3") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0001
    {	ITPlaylistKindUnknown	= 0,
	ITPlaylistKindLibrary	= ITPlaylistKindUnknown + 1,
	ITPlaylistKindUser	= ITPlaylistKindLibrary + 1,
	ITPlaylistKindCD	= ITPlaylistKindUser + 1,
	ITPlaylistKindDevice	= ITPlaylistKindCD + 1,
	ITPlaylistKindRadioTuner	= ITPlaylistKindDevice + 1
    } 	ITPlaylistKind;

typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("4E1D67A4-6C7A-4c7d-821C-03AF7EB10C35") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0002
    {	ITPlaylistRepeatModeOff	= 0,
	ITPlaylistRepeatModeOne	= ITPlaylistRepeatModeOff + 1,
	ITPlaylistRepeatModeAll	= ITPlaylistRepeatModeOne + 1
    } 	ITPlaylistRepeatMode;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("BB8E7701-1E77-4972-B6C4-C70AC216F468") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0003
    {	ITPlaylistPrintKindPlaylist	= 0,
	ITPlaylistPrintKindAlbumlist	= ITPlaylistPrintKindPlaylist + 1,
	ITPlaylistPrintKindInsert	= ITPlaylistPrintKindAlbumlist + 1
    } 	ITPlaylistPrintKind;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("58765E77-E34A-4d67-AC12-5B5BA33EA08F") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0004
    {	ITPlaylistSearchFieldAll	= 0,
	ITPlaylistSearchFieldVisible	= ITPlaylistSearchFieldAll + 1,
	ITPlaylistSearchFieldArtists	= ITPlaylistSearchFieldVisible + 1,
	ITPlaylistSearchFieldAlbums	= ITPlaylistSearchFieldArtists + 1,
	ITPlaylistSearchFieldComposers	= ITPlaylistSearchFieldAlbums + 1,
	ITPlaylistSearchFieldSongNames	= ITPlaylistSearchFieldComposers + 1
    } 	ITPlaylistSearchField;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("62BC24E6-5C77-4fb7-AA6C-B7FA40C6095D") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0285_0001
    {	ITUserPlaylistSpecialKindNone	= 0,
	ITUserPlaylistSpecialKindPurchasedMusic	= ITUserPlaylistSpecialKindNone + 1,
	ITUserPlaylistSpecialKindPartyShuffle	= ITUserPlaylistSpecialKindPurchasedMusic + 1,
	ITUserPlaylistSpecialKindPodcasts	= ITUserPlaylistSpecialKindPartyShuffle + 1,
	ITUserPlaylistSpecialKindFolder	= ITUserPlaylistSpecialKindPodcasts + 1,
	ITUserPlaylistSpecialKindVideos	= ITUserPlaylistSpecialKindFolder + 1,
	ITUserPlaylistSpecialKindMusic	= ITUserPlaylistSpecialKindVideos + 1,
	ITUserPlaylistSpecialKindMovies	= ITUserPlaylistSpecialKindMusic + 1,
	ITUserPlaylistSpecialKindTVShows	= ITUserPlaylistSpecialKindMovies + 1,
	ITUserPlaylistSpecialKindAudiobooks	= ITUserPlaylistSpecialKindTVShows + 1
    } 	ITUserPlaylistSpecialKind;


typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("5F35912B-E633-4930-9E25-09489BAED75A") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0288_0001
    {	ITSourceKindUnknown	= 0,
	ITSourceKindLibrary	= ITSourceKindUnknown + 1,
	ITSourceKindIPod	= ITSourceKindLibrary + 1,
	ITSourceKindAudioCD	= ITSourceKindIPod + 1,
	ITSourceKindMP3CD	= ITSourceKindAudioCD + 1,
	ITSourceKindDevice	= ITSourceKindMP3CD + 1,
	ITSourceKindRadioTuner	= ITSourceKindDevice + 1,
	ITSourceKindSharedLibrary	= ITSourceKindRadioTuner + 1
    } 	ITSourceKind;


typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("ACA133C5-4697-4d5f-98B1-D9881B85FE98") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0001
    {	ITTrackKindUnknown	= 0,
	ITTrackKindFile	= ITTrackKindUnknown + 1,
	ITTrackKindCD	= ITTrackKindFile + 1,
	ITTrackKindURL	= ITTrackKindCD + 1,
	ITTrackKindDevice	= ITTrackKindURL + 1,
	ITTrackKindSharedLibrary	= ITTrackKindDevice + 1
    } 	ITTrackKind;

typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("735ECC17-38CC-4d4d-A838-24AF7DCB440E") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0002
    {	ITVideoKindNone	= 0,
	ITVideoKindMovie	= ITVideoKindNone + 1,
	ITVideoKindMusicVideo	= ITVideoKindMovie + 1,
	ITVideoKindTVShow	= ITVideoKindMusicVideo + 1
    } 	ITVideoKind;

typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("5C75B72C-D066-4faa-8732-D9ED71A6CBD9") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0291_0003
    {	ITRatingKindUser	= 0,
	ITRatingKindComputed	= ITRatingKindUser + 1
    } 	ITRatingKind;

typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("C20CE920-EFD9-4c1a-8036-95A895741214") 
enum __MIDL___MIDL_itf_iTunesCOMInterface_0297_0001
    {	ITWindowKindUnknown	= 0,
	ITWindowKindBrowser	= ITWindowKindUnknown + 1,
	ITWindowKindPlaylist	= ITWindowKindBrowser + 1,
	ITWindowKindEQ	= ITWindowKindPlaylist + 1,
	ITWindowKindArtwork	= ITWindowKindEQ + 1,
	ITWindowKindNowPlaying	= ITWindowKindArtwork + 1
    } 	ITWindowKind;


EXTERN_C const IID LIBID_iTunesLib;

#ifndef __IITObject_INTERFACE_DEFINED__
#define __IITObject_INTERFACE_DEFINED__

/* interface IITObject */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9FAB0E27-70D7-4e3a-9965-B0C8B8869BB6")
    IITObject : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectIDs( 
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *index) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SourceID( 
            /* [retval][out] */ long *sourceID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistID( 
            /* [retval][out] */ long *playlistID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackID( 
            /* [retval][out] */ long *trackID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackDatabaseID( 
            /* [retval][out] */ long *databaseID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITObject * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITObject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITObject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITObject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITObject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITObject * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITObject * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITObject * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITObject * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITObject * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITObject * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITObject * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITObject * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITObject * This,
            /* [retval][out] */ long *databaseID);
        
        END_INTERFACE
    } IITObjectVtbl;

    interface IITObject
    {
        CONST_VTBL struct IITObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITObject_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITObject_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITObject_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITObject_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITObject_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITObject_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITObject_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITObject_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITObject_GetITObjectIDs_Proxy( 
    IITObject * This,
    /* [out] */ long *sourceID,
    /* [out] */ long *playlistID,
    /* [out] */ long *trackID,
    /* [out] */ long *databaseID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Name_Proxy( 
    IITObject * This,
    /* [retval][out] */ BSTR *name);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITObject_put_Name_Proxy( 
    IITObject * This,
    /* [in] */ BSTR name);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Index_Proxy( 
    IITObject * This,
    /* [retval][out] */ long *index);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_SourceID_Proxy( 
    IITObject * This,
    /* [retval][out] */ long *sourceID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_PlaylistID_Proxy( 
    IITObject * This,
    /* [retval][out] */ long *playlistID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackID_Proxy( 
    IITObject * This,
    /* [retval][out] */ long *trackID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackDatabaseID_Proxy( 
    IITObject * This,
    /* [retval][out] */ long *databaseID);


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



#endif 	/* __IITObject_INTERFACE_DEFINED__ */


#ifndef __IITSource_INTERFACE_DEFINED__
#define __IITSource_INTERFACE_DEFINED__

/* interface IITSource */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AEC1C4D3-AEF1-4255-B892-3E3D13ADFDF9")
    IITSource : public IITObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ ITSourceKind *kind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Capacity( 
            /* [retval][out] */ double *capacity) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FreeSpace( 
            /* [retval][out] */ double *freespace) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( 
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITSourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITSource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITSource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITSource * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITSource * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITSource * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITSource * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITSource * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITSource * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITSource * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITSource * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITSource * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITSource * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITSource * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITSource * This,
            /* [retval][out] */ ITSourceKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capacity )( 
            IITSource * This,
            /* [retval][out] */ double *capacity);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSpace )( 
            IITSource * This,
            /* [retval][out] */ double *freespace);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( 
            IITSource * This,
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);
        
        END_INTERFACE
    } IITSourceVtbl;

    interface IITSource
    {
        CONST_VTBL struct IITSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITSource_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITSource_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITSource_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITSource_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITSource_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITSource_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITSource_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITSource_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITSource_get_Capacity(This,capacity)	\
    (This)->lpVtbl -> get_Capacity(This,capacity)

#define IITSource_get_FreeSpace(This,freespace)	\
    (This)->lpVtbl -> get_FreeSpace(This,freespace)

#define IITSource_get_Playlists(This,iPlaylistCollection)	\
    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Kind_Proxy( 
    IITSource * This,
    /* [retval][out] */ ITSourceKind *kind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Capacity_Proxy( 
    IITSource * This,
    /* [retval][out] */ double *capacity);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_FreeSpace_Proxy( 
    IITSource * This,
    /* [retval][out] */ double *freespace);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Playlists_Proxy( 
    IITSource * This,
    /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);


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



#endif 	/* __IITSource_INTERFACE_DEFINED__ */


#ifndef __IITSourceCollection_INTERFACE_DEFINED__
#define __IITSourceCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITSourceCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2FF6CE20-FF87-4183-B0B3-F323D047AF41")
    IITSourceCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITSource **iSource) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITSource **iSource) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( 
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITSource **iSource) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITSourceCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITSourceCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITSourceCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITSourceCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITSourceCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITSourceCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITSourceCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITSourceCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITSourceCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITSourceCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITSourceCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITSourceCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( 
            IITSourceCollection * This,
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITSource **iSource);
        
        END_INTERFACE
    } IITSourceCollectionVtbl;

    interface IITSourceCollection
    {
        CONST_VTBL struct IITSourceCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITSourceCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITSourceCollection_get_Item(This,index,iSource)	\
    (This)->lpVtbl -> get_Item(This,index,iSource)

#define IITSourceCollection_get_ItemByName(This,name,iSource)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iSource)

#define IITSourceCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#define IITSourceCollection_get_ItemByPersistentID(This,highID,lowID,iSource)	\
    (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iSource)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Count_Proxy( 
    IITSourceCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Item_Proxy( 
    IITSourceCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITSource **iSource);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_ItemByName_Proxy( 
    IITSourceCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITSource **iSource);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get__NewEnum_Proxy( 
    IITSourceCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_ItemByPersistentID_Proxy( 
    IITSourceCollection * This,
    /* [in] */ long highID,
    /* [in] */ long lowID,
    /* [retval][out] */ IITSource **iSource);


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



#endif 	/* __IITSourceCollection_INTERFACE_DEFINED__ */


#ifndef __IITEncoder_INTERFACE_DEFINED__
#define __IITEncoder_INTERFACE_DEFINED__

/* interface IITEncoder */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITEncoder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1CF95A1C-55FE-4f45-A2D3-85AC6C504A73")
    IITEncoder : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ BSTR *format) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITEncoderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITEncoder * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITEncoder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITEncoder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITEncoder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITEncoder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITEncoder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITEncoder * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITEncoder * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IITEncoder * This,
            /* [retval][out] */ BSTR *format);
        
        END_INTERFACE
    } IITEncoderVtbl;

    interface IITEncoder
    {
        CONST_VTBL struct IITEncoderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITEncoder_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITEncoder_get_Format(This,format)	\
    (This)->lpVtbl -> get_Format(This,format)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Name_Proxy( 
    IITEncoder * This,
    /* [retval][out] */ BSTR *name);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Format_Proxy( 
    IITEncoder * This,
    /* [retval][out] */ BSTR *format);


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



#endif 	/* __IITEncoder_INTERFACE_DEFINED__ */


#ifndef __IITEncoderCollection_INTERFACE_DEFINED__
#define __IITEncoderCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITEncoderCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8862BCA9-168D-4549-A9D5-ADB35E553BA6")
    IITEncoderCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITEncoder **iEncoder) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITEncoder **iEncoder) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITEncoderCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITEncoderCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITEncoderCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITEncoderCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITEncoderCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITEncoderCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITEncoderCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITEncoderCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITEncoderCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITEncoderCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITEncoder **iEncoder);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITEncoderCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITEncoder **iEncoder);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITEncoderCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        END_INTERFACE
    } IITEncoderCollectionVtbl;

    interface IITEncoderCollection
    {
        CONST_VTBL struct IITEncoderCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITEncoderCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITEncoderCollection_get_Item(This,index,iEncoder)	\
    (This)->lpVtbl -> get_Item(This,index,iEncoder)

#define IITEncoderCollection_get_ItemByName(This,name,iEncoder)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iEncoder)

#define IITEncoderCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Count_Proxy( 
    IITEncoderCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Item_Proxy( 
    IITEncoderCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITEncoder **iEncoder);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_ItemByName_Proxy( 
    IITEncoderCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITEncoder **iEncoder);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get__NewEnum_Proxy( 
    IITEncoderCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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



#endif 	/* __IITEncoderCollection_INTERFACE_DEFINED__ */


#ifndef __IITEQPreset_INTERFACE_DEFINED__
#define __IITEQPreset_INTERFACE_DEFINED__

/* interface IITEQPreset */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITEQPreset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5BE75F4F-68FA-4212-ACB7-BE44EA569759")
    IITEQPreset : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Modifiable( 
            /* [retval][out] */ VARIANT_BOOL *isModifiable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preamp( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Preamp( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band1( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band1( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band2( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band2( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band3( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band3( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band4( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band4( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band5( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band5( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band6( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band6( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band7( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band7( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band8( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band8( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band9( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band9( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band10( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band10( 
            /* [in] */ double level) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ VARIANT_BOOL updateAllTracks) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR newName,
            /* [in] */ VARIANT_BOOL updateAllTracks) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITEQPresetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITEQPreset * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITEQPreset * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITEQPreset * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITEQPreset * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITEQPreset * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITEQPreset * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITEQPreset * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITEQPreset * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Modifiable )( 
            IITEQPreset * This,
            /* [retval][out] */ VARIANT_BOOL *isModifiable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preamp )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Preamp )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band1 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band1 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band2 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band2 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band3 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band3 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band4 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band4 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band5 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band5 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band6 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band6 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band7 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band7 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band8 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band8 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band9 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band9 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Band10 )( 
            IITEQPreset * This,
            /* [retval][out] */ double *level);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Band10 )( 
            IITEQPreset * This,
            /* [in] */ double level);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITEQPreset * This,
            /* [in] */ VARIANT_BOOL updateAllTracks);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IITEQPreset * This,
            /* [in] */ BSTR newName,
            /* [in] */ VARIANT_BOOL updateAllTracks);
        
        END_INTERFACE
    } IITEQPresetVtbl;

    interface IITEQPreset
    {
        CONST_VTBL struct IITEQPresetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITEQPreset_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITEQPreset_get_Modifiable(This,isModifiable)	\
    (This)->lpVtbl -> get_Modifiable(This,isModifiable)

#define IITEQPreset_get_Preamp(This,level)	\
    (This)->lpVtbl -> get_Preamp(This,level)

#define IITEQPreset_put_Preamp(This,level)	\
    (This)->lpVtbl -> put_Preamp(This,level)

#define IITEQPreset_get_Band1(This,level)	\
    (This)->lpVtbl -> get_Band1(This,level)

#define IITEQPreset_put_Band1(This,level)	\
    (This)->lpVtbl -> put_Band1(This,level)

#define IITEQPreset_get_Band2(This,level)	\
    (This)->lpVtbl -> get_Band2(This,level)

#define IITEQPreset_put_Band2(This,level)	\
    (This)->lpVtbl -> put_Band2(This,level)

#define IITEQPreset_get_Band3(This,level)	\
    (This)->lpVtbl -> get_Band3(This,level)

#define IITEQPreset_put_Band3(This,level)	\
    (This)->lpVtbl -> put_Band3(This,level)

#define IITEQPreset_get_Band4(This,level)	\
    (This)->lpVtbl -> get_Band4(This,level)

#define IITEQPreset_put_Band4(This,level)	\
    (This)->lpVtbl -> put_Band4(This,level)

#define IITEQPreset_get_Band5(This,level)	\
    (This)->lpVtbl -> get_Band5(This,level)

#define IITEQPreset_put_Band5(This,level)	\
    (This)->lpVtbl -> put_Band5(This,level)

#define IITEQPreset_get_Band6(This,level)	\
    (This)->lpVtbl -> get_Band6(This,level)

#define IITEQPreset_put_Band6(This,level)	\
    (This)->lpVtbl -> put_Band6(This,level)

#define IITEQPreset_get_Band7(This,level)	\
    (This)->lpVtbl -> get_Band7(This,level)

#define IITEQPreset_put_Band7(This,level)	\
    (This)->lpVtbl -> put_Band7(This,level)

#define IITEQPreset_get_Band8(This,level)	\
    (This)->lpVtbl -> get_Band8(This,level)

#define IITEQPreset_put_Band8(This,level)	\
    (This)->lpVtbl -> put_Band8(This,level)

#define IITEQPreset_get_Band9(This,level)	\
    (This)->lpVtbl -> get_Band9(This,level)

#define IITEQPreset_put_Band9(This,level)	\
    (This)->lpVtbl -> put_Band9(This,level)

#define IITEQPreset_get_Band10(This,level)	\
    (This)->lpVtbl -> get_Band10(This,level)

#define IITEQPreset_put_Band10(This,level)	\
    (This)->lpVtbl -> put_Band10(This,level)

#define IITEQPreset_Delete(This,updateAllTracks)	\
    (This)->lpVtbl -> Delete(This,updateAllTracks)

#define IITEQPreset_Rename(This,newName,updateAllTracks)	\
    (This)->lpVtbl -> Rename(This,newName,updateAllTracks)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Name_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ BSTR *name);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Modifiable_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ VARIANT_BOOL *isModifiable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Preamp_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Preamp_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band1_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band1_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band2_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band2_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band3_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band3_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band4_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band4_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band5_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band5_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band6_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band6_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band7_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band7_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band8_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band8_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band9_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band9_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band10_Proxy( 
    IITEQPreset * This,
    /* [retval][out] */ double *level);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band10_Proxy( 
    IITEQPreset * This,
    /* [in] */ double level);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Delete_Proxy( 
    IITEQPreset * This,
    /* [in] */ VARIANT_BOOL updateAllTracks);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Rename_Proxy( 
    IITEQPreset * This,
    /* [in] */ BSTR newName,
    /* [in] */ VARIANT_BOOL updateAllTracks);


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



#endif 	/* __IITEQPreset_INTERFACE_DEFINED__ */


#ifndef __IITEQPresetCollection_INTERFACE_DEFINED__
#define __IITEQPresetCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITEQPresetCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AEF4D111-3331-48da-B0C2-B468D5D61D08")
    IITEQPresetCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITEQPreset **iEQPreset) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITEQPreset **iEQPreset) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITEQPresetCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITEQPresetCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITEQPresetCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITEQPresetCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITEQPresetCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITEQPresetCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITEQPresetCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITEQPresetCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITEQPresetCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITEQPresetCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITEQPreset **iEQPreset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITEQPresetCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITEQPreset **iEQPreset);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITEQPresetCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        END_INTERFACE
    } IITEQPresetCollectionVtbl;

    interface IITEQPresetCollection
    {
        CONST_VTBL struct IITEQPresetCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITEQPresetCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITEQPresetCollection_get_Item(This,index,iEQPreset)	\
    (This)->lpVtbl -> get_Item(This,index,iEQPreset)

#define IITEQPresetCollection_get_ItemByName(This,name,iEQPreset)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iEQPreset)

#define IITEQPresetCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Count_Proxy( 
    IITEQPresetCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Item_Proxy( 
    IITEQPresetCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITEQPreset **iEQPreset);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_ItemByName_Proxy( 
    IITEQPresetCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITEQPreset **iEQPreset);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get__NewEnum_Proxy( 
    IITEQPresetCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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



#endif 	/* __IITEQPresetCollection_INTERFACE_DEFINED__ */


#ifndef __IITPlaylist_INTERFACE_DEFINED__
#define __IITPlaylist_INTERFACE_DEFINED__

/* interface IITPlaylist */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3D5E072F-2A77-4b17-9E73-E03B77CCCCA9")
    IITPlaylist : public IITObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFirstTrack( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Print( 
            /* [in] */ VARIANT_BOOL showPrintDialog,
            /* [in] */ ITPlaylistPrintKind printKind,
            /* [in] */ BSTR theme) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Search( 
            /* [in] */ BSTR searchText,
            /* [in] */ ITPlaylistSearchField searchFields,
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ ITPlaylistKind *kind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [retval][out] */ IITSource **iSource) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
            /* [retval][out] */ long *duration) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shuffle( 
            /* [retval][out] */ VARIANT_BOOL *isShuffle) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shuffle( 
            /* [in] */ VARIANT_BOOL shouldShuffle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SongRepeat( 
            /* [retval][out] */ ITPlaylistRepeatMode *repeatMode) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SongRepeat( 
            /* [in] */ ITPlaylistRepeatMode repeatMode) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( 
            /* [retval][out] */ BSTR *time) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *isVisible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( 
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITPlaylist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITPlaylist * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITPlaylist * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITPlaylist * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITPlaylist * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITPlaylist * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITPlaylist * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITPlaylist * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITPlaylist * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITPlaylist * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITPlaylist * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITPlaylist * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( 
            IITPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IITPlaylist * This,
            /* [in] */ VARIANT_BOOL showPrintDialog,
            /* [in] */ ITPlaylistPrintKind printKind,
            /* [in] */ BSTR theme);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            IITPlaylist * This,
            /* [in] */ BSTR searchText,
            /* [in] */ ITPlaylistSearchField searchFields,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITPlaylist * This,
            /* [retval][out] */ ITPlaylistKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IITPlaylist * This,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITPlaylist * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( 
            IITPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isShuffle);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( 
            IITPlaylist * This,
            /* [in] */ VARIANT_BOOL shouldShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITPlaylist * This,
            /* [retval][out] */ double *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( 
            IITPlaylist * This,
            /* [retval][out] */ ITPlaylistRepeatMode *repeatMode);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( 
            IITPlaylist * This,
            /* [in] */ ITPlaylistRepeatMode repeatMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITPlaylist * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITPlaylist * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        END_INTERFACE
    } IITPlaylistVtbl;

    interface IITPlaylist
    {
        CONST_VTBL struct IITPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITPlaylist_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITPlaylist_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITPlaylist_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITPlaylist_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITPlaylist_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITPlaylist_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITPlaylist_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITPlaylist_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITPlaylist_PlayFirstTrack(This)	\
    (This)->lpVtbl -> PlayFirstTrack(This)

#define IITPlaylist_Print(This,showPrintDialog,printKind,theme)	\
    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)

#define IITPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)

#define IITPlaylist_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITPlaylist_get_Source(This,iSource)	\
    (This)->lpVtbl -> get_Source(This,iSource)

#define IITPlaylist_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITPlaylist_get_Shuffle(This,isShuffle)	\
    (This)->lpVtbl -> get_Shuffle(This,isShuffle)

#define IITPlaylist_put_Shuffle(This,shouldShuffle)	\
    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)

#define IITPlaylist_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITPlaylist_get_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)

#define IITPlaylist_put_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)

#define IITPlaylist_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITPlaylist_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITPlaylist_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Delete_Proxy( 
    IITPlaylist * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_PlayFirstTrack_Proxy( 
    IITPlaylist * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Print_Proxy( 
    IITPlaylist * This,
    /* [in] */ VARIANT_BOOL showPrintDialog,
    /* [in] */ ITPlaylistPrintKind printKind,
    /* [in] */ BSTR theme);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Search_Proxy( 
    IITPlaylist * This,
    /* [in] */ BSTR searchText,
    /* [in] */ ITPlaylistSearchField searchFields,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Kind_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ ITPlaylistKind *kind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Source_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ IITSource **iSource);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Duration_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ long *duration);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Shuffle_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ VARIANT_BOOL *isShuffle);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_Shuffle_Proxy( 
    IITPlaylist * This,
    /* [in] */ VARIANT_BOOL shouldShuffle);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Size_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ double *size);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_SongRepeat_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ ITPlaylistRepeatMode *repeatMode);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_SongRepeat_Proxy( 
    IITPlaylist * This,
    /* [in] */ ITPlaylistRepeatMode repeatMode);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Time_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ BSTR *time);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Visible_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ VARIANT_BOOL *isVisible);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Tracks_Proxy( 
    IITPlaylist * This,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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



#endif 	/* __IITPlaylist_INTERFACE_DEFINED__ */


#ifndef __IITOperationStatus_INTERFACE_DEFINED__
#define __IITOperationStatus_INTERFACE_DEFINED__

/* interface IITOperationStatus */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITOperationStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("206479C9-FE32-4f9b-A18A-475AC939B479")
    IITOperationStatus : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InProgress( 
            /* [retval][out] */ VARIANT_BOOL *isInProgress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( 
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITOperationStatusVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITOperationStatus * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITOperationStatus * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITOperationStatus * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITOperationStatus * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITOperationStatus * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITOperationStatus * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITOperationStatus * 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] */ HRESULT ( STDMETHODCALLTYPE *get_InProgress )( 
            IITOperationStatus * This,
            /* [retval][out] */ VARIANT_BOOL *isInProgress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITOperationStatus * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        END_INTERFACE
    } IITOperationStatusVtbl;

    interface IITOperationStatus
    {
        CONST_VTBL struct IITOperationStatusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITOperationStatus_get_InProgress(This,isInProgress)	\
    (This)->lpVtbl -> get_InProgress(This,isInProgress)

#define IITOperationStatus_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_InProgress_Proxy( 
    IITOperationStatus * This,
    /* [retval][out] */ VARIANT_BOOL *isInProgress);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_Tracks_Proxy( 
    IITOperationStatus * This,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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



#endif 	/* __IITOperationStatus_INTERFACE_DEFINED__ */


#ifndef __IITConvertOperationStatus_INTERFACE_DEFINED__
#define __IITConvertOperationStatus_INTERFACE_DEFINED__

/* interface IITConvertOperationStatus */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITConvertOperationStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7063AAF6-ABA0-493b-B4FC-920A9F105875")
    IITConvertOperationStatus : public IITOperationStatus
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConversionStatus( 
            /* [out] */ BSTR *trackName,
            /* [out] */ long *progressValue,
            /* [out] */ long *maxProgressValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopConversion( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackName( 
            /* [retval][out] */ BSTR *trackName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProgressValue( 
            /* [retval][out] */ long *progressValue) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxProgressValue( 
            /* [retval][out] */ long *maxProgressValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITConvertOperationStatusVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITConvertOperationStatus * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITConvertOperationStatus * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITConvertOperationStatus * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITConvertOperationStatus * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITConvertOperationStatus * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITConvertOperationStatus * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITConvertOperationStatus * 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] */ HRESULT ( STDMETHODCALLTYPE *get_InProgress )( 
            IITConvertOperationStatus * This,
            /* [retval][out] */ VARIANT_BOOL *isInProgress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITConvertOperationStatus * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConversionStatus )( 
            IITConvertOperationStatus * This,
            /* [out] */ BSTR *trackName,
            /* [out] */ long *progressValue,
            /* [out] */ long *maxProgressValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopConversion )( 
            IITConvertOperationStatus * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackName )( 
            IITConvertOperationStatus * This,
            /* [retval][out] */ BSTR *trackName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressValue )( 
            IITConvertOperationStatus * This,
            /* [retval][out] */ long *progressValue);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxProgressValue )( 
            IITConvertOperationStatus * This,
            /* [retval][out] */ long *maxProgressValue);
        
        END_INTERFACE
    } IITConvertOperationStatusVtbl;

    interface IITConvertOperationStatus
    {
        CONST_VTBL struct IITConvertOperationStatusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITConvertOperationStatus_get_InProgress(This,isInProgress)	\
    (This)->lpVtbl -> get_InProgress(This,isInProgress)

#define IITConvertOperationStatus_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)


#define IITConvertOperationStatus_GetConversionStatus(This,trackName,progressValue,maxProgressValue)	\
    (This)->lpVtbl -> GetConversionStatus(This,trackName,progressValue,maxProgressValue)

#define IITConvertOperationStatus_StopConversion(This)	\
    (This)->lpVtbl -> StopConversion(This)

#define IITConvertOperationStatus_get_TrackName(This,trackName)	\
    (This)->lpVtbl -> get_TrackName(This,trackName)

#define IITConvertOperationStatus_get_ProgressValue(This,progressValue)	\
    (This)->lpVtbl -> get_ProgressValue(This,progressValue)

#define IITConvertOperationStatus_get_MaxProgressValue(This,maxProgressValue)	\
    (This)->lpVtbl -> get_MaxProgressValue(This,maxProgressValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_GetConversionStatus_Proxy( 
    IITConvertOperationStatus * This,
    /* [out] */ BSTR *trackName,
    /* [out] */ long *progressValue,
    /* [out] */ long *maxProgressValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_StopConversion_Proxy( 
    IITConvertOperationStatus * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_TrackName_Proxy( 
    IITConvertOperationStatus * This,
    /* [retval][out] */ BSTR *trackName);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_ProgressValue_Proxy( 
    IITConvertOperationStatus * This,
    /* [retval][out] */ long *progressValue);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_MaxProgressValue_Proxy( 
    IITConvertOperationStatus * This,
    /* [retval][out] */ long *maxProgressValue);


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



#endif 	/* __IITConvertOperationStatus_INTERFACE_DEFINED__ */


#ifndef __IITLibraryPlaylist_INTERFACE_DEFINED__
#define __IITLibraryPlaylist_INTERFACE_DEFINED__

/* interface IITLibraryPlaylist */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITLibraryPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53AE1704-491C-4289-94A0-958815675A3D")
    IITLibraryPlaylist : public IITPlaylist
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( 
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( 
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IITURLTrack **iURLTrack) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( 
            /* [in] */ VARIANT *iTrackToAdd,
            /* [retval][out] */ IITTrack **iAddedTrack) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITLibraryPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITLibraryPlaylist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITLibraryPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITLibraryPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITLibraryPlaylist * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITLibraryPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITLibraryPlaylist * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITLibraryPlaylist * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITLibraryPlaylist * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITLibraryPlaylist * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITLibraryPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( 
            IITLibraryPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IITLibraryPlaylist * This,
            /* [in] */ VARIANT_BOOL showPrintDialog,
            /* [in] */ ITPlaylistPrintKind printKind,
            /* [in] */ BSTR theme);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            IITLibraryPlaylist * This,
            /* [in] */ BSTR searchText,
            /* [in] */ ITPlaylistSearchField searchFields,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ ITPlaylistKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isShuffle);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( 
            IITLibraryPlaylist * This,
            /* [in] */ VARIANT_BOOL shouldShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ double *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ ITPlaylistRepeatMode *repeatMode);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( 
            IITLibraryPlaylist * This,
            /* [in] */ ITPlaylistRepeatMode repeatMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITLibraryPlaylist * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFile )( 
            IITLibraryPlaylist * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFiles )( 
            IITLibraryPlaylist * This,
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddURL )( 
            IITLibraryPlaylist * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IITURLTrack **iURLTrack);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTrack )( 
            IITLibraryPlaylist * This,
            /* [in] */ VARIANT *iTrackToAdd,
            /* [retval][out] */ IITTrack **iAddedTrack);
        
        END_INTERFACE
    } IITLibraryPlaylistVtbl;

    interface IITLibraryPlaylist
    {
        CONST_VTBL struct IITLibraryPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITLibraryPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITLibraryPlaylist_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITLibraryPlaylist_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITLibraryPlaylist_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITLibraryPlaylist_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITLibraryPlaylist_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITLibraryPlaylist_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITLibraryPlaylist_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITLibraryPlaylist_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITLibraryPlaylist_PlayFirstTrack(This)	\
    (This)->lpVtbl -> PlayFirstTrack(This)

#define IITLibraryPlaylist_Print(This,showPrintDialog,printKind,theme)	\
    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)

#define IITLibraryPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)

#define IITLibraryPlaylist_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITLibraryPlaylist_get_Source(This,iSource)	\
    (This)->lpVtbl -> get_Source(This,iSource)

#define IITLibraryPlaylist_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITLibraryPlaylist_get_Shuffle(This,isShuffle)	\
    (This)->lpVtbl -> get_Shuffle(This,isShuffle)

#define IITLibraryPlaylist_put_Shuffle(This,shouldShuffle)	\
    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)

#define IITLibraryPlaylist_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITLibraryPlaylist_get_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)

#define IITLibraryPlaylist_put_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)

#define IITLibraryPlaylist_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITLibraryPlaylist_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITLibraryPlaylist_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)


#define IITLibraryPlaylist_AddFile(This,filePath,iStatus)	\
    (This)->lpVtbl -> AddFile(This,filePath,iStatus)

#define IITLibraryPlaylist_AddFiles(This,filePaths,iStatus)	\
    (This)->lpVtbl -> AddFiles(This,filePaths,iStatus)

#define IITLibraryPlaylist_AddURL(This,url,iURLTrack)	\
    (This)->lpVtbl -> AddURL(This,url,iURLTrack)

#define IITLibraryPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack)	\
    (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFile_Proxy( 
    IITLibraryPlaylist * This,
    /* [in] */ BSTR filePath,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFiles_Proxy( 
    IITLibraryPlaylist * This,
    /* [in] */ VARIANT *filePaths,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddURL_Proxy( 
    IITLibraryPlaylist * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IITURLTrack **iURLTrack);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddTrack_Proxy( 
    IITLibraryPlaylist * This,
    /* [in] */ VARIANT *iTrackToAdd,
    /* [retval][out] */ IITTrack **iAddedTrack);


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



#endif 	/* __IITLibraryPlaylist_INTERFACE_DEFINED__ */


#ifndef __IITUserPlaylist_INTERFACE_DEFINED__
#define __IITUserPlaylist_INTERFACE_DEFINED__

/* interface IITUserPlaylist */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITUserPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0A504DED-A0B5-465a-8A94-50E20D7DF692")
    IITUserPlaylist : public IITPlaylist
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( 
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( 
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IITURLTrack **iURLTrack) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( 
            /* [in] */ VARIANT *iTrackToAdd,
            /* [retval][out] */ IITTrack **iAddedTrack) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shared( 
            /* [retval][out] */ VARIANT_BOOL *isShared) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shared( 
            /* [in] */ VARIANT_BOOL shouldBeShared) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Smart( 
            /* [retval][out] */ VARIANT_BOOL *isSmart) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SpecialKind( 
            /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IITUserPlaylist **iParentPlayList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( 
            /* [in] */ BSTR playlistName,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
            /* [in] */ BSTR folderName,
            /* [retval][out] */ IITPlaylist **iFolder) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Parent( 
            /* [in] */ VARIANT *iParent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITUserPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITUserPlaylist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITUserPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITUserPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITUserPlaylist * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITUserPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITUserPlaylist * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITUserPlaylist * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITUserPlaylist * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITUserPlaylist * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITUserPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( 
            IITUserPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT_BOOL showPrintDialog,
            /* [in] */ ITPlaylistPrintKind printKind,
            /* [in] */ BSTR theme);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR searchText,
            /* [in] */ ITPlaylistSearchField searchFields,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITUserPlaylist * This,
            /* [retval][out] */ ITPlaylistKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IITUserPlaylist * This,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITUserPlaylist * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( 
            IITUserPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isShuffle);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT_BOOL shouldShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITUserPlaylist * This,
            /* [retval][out] */ double *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( 
            IITUserPlaylist * This,
            /* [retval][out] */ ITPlaylistRepeatMode *repeatMode);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( 
            IITUserPlaylist * This,
            /* [in] */ ITPlaylistRepeatMode repeatMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITUserPlaylist * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITUserPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITUserPlaylist * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFile )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddFiles )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddURL )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IITURLTrack **iURLTrack);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddTrack )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT *iTrackToAdd,
            /* [retval][out] */ IITTrack **iAddedTrack);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shared )( 
            IITUserPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isShared);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shared )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT_BOOL shouldBeShared);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Smart )( 
            IITUserPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isSmart);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SpecialKind )( 
            IITUserPlaylist * This,
            /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IITUserPlaylist * This,
            /* [retval][out] */ IITUserPlaylist **iParentPlayList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylist )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR playlistName,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( 
            IITUserPlaylist * This,
            /* [in] */ BSTR folderName,
            /* [retval][out] */ IITPlaylist **iFolder);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Parent )( 
            IITUserPlaylist * This,
            /* [in] */ VARIANT *iParent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( 
            IITUserPlaylist * This);
        
        END_INTERFACE
    } IITUserPlaylistVtbl;

    interface IITUserPlaylist
    {
        CONST_VTBL struct IITUserPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITUserPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITUserPlaylist_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITUserPlaylist_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITUserPlaylist_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITUserPlaylist_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITUserPlaylist_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITUserPlaylist_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITUserPlaylist_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITUserPlaylist_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITUserPlaylist_PlayFirstTrack(This)	\
    (This)->lpVtbl -> PlayFirstTrack(This)

#define IITUserPlaylist_Print(This,showPrintDialog,printKind,theme)	\
    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)

#define IITUserPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)

#define IITUserPlaylist_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITUserPlaylist_get_Source(This,iSource)	\
    (This)->lpVtbl -> get_Source(This,iSource)

#define IITUserPlaylist_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITUserPlaylist_get_Shuffle(This,isShuffle)	\
    (This)->lpVtbl -> get_Shuffle(This,isShuffle)

#define IITUserPlaylist_put_Shuffle(This,shouldShuffle)	\
    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)

#define IITUserPlaylist_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITUserPlaylist_get_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)

#define IITUserPlaylist_put_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)

#define IITUserPlaylist_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITUserPlaylist_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITUserPlaylist_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)


#define IITUserPlaylist_AddFile(This,filePath,iStatus)	\
    (This)->lpVtbl -> AddFile(This,filePath,iStatus)

#define IITUserPlaylist_AddFiles(This,filePaths,iStatus)	\
    (This)->lpVtbl -> AddFiles(This,filePaths,iStatus)

#define IITUserPlaylist_AddURL(This,url,iURLTrack)	\
    (This)->lpVtbl -> AddURL(This,url,iURLTrack)

#define IITUserPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack)	\
    (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack)

#define IITUserPlaylist_get_Shared(This,isShared)	\
    (This)->lpVtbl -> get_Shared(This,isShared)

#define IITUserPlaylist_put_Shared(This,shouldBeShared)	\
    (This)->lpVtbl -> put_Shared(This,shouldBeShared)

#define IITUserPlaylist_get_Smart(This,isSmart)	\
    (This)->lpVtbl -> get_Smart(This,isSmart)

#define IITUserPlaylist_get_SpecialKind(This,specialKind)	\
    (This)->lpVtbl -> get_SpecialKind(This,specialKind)

#define IITUserPlaylist_get_Parent(This,iParentPlayList)	\
    (This)->lpVtbl -> get_Parent(This,iParentPlayList)

#define IITUserPlaylist_CreatePlaylist(This,playlistName,iPlaylist)	\
    (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist)

#define IITUserPlaylist_CreateFolder(This,folderName,iFolder)	\
    (This)->lpVtbl -> CreateFolder(This,folderName,iFolder)

#define IITUserPlaylist_put_Parent(This,iParent)	\
    (This)->lpVtbl -> put_Parent(This,iParent)

#define IITUserPlaylist_Reveal(This)	\
    (This)->lpVtbl -> Reveal(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFile_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ BSTR filePath,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFiles_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ VARIANT *filePaths,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddURL_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IITURLTrack **iURLTrack);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddTrack_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ VARIANT *iTrackToAdd,
    /* [retval][out] */ IITTrack **iAddedTrack);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Shared_Proxy( 
    IITUserPlaylist * This,
    /* [retval][out] */ VARIANT_BOOL *isShared);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Shared_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ VARIANT_BOOL shouldBeShared);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Smart_Proxy( 
    IITUserPlaylist * This,
    /* [retval][out] */ VARIANT_BOOL *isSmart);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_SpecialKind_Proxy( 
    IITUserPlaylist * This,
    /* [retval][out] */ ITUserPlaylistSpecialKind *specialKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Parent_Proxy( 
    IITUserPlaylist * This,
    /* [retval][out] */ IITUserPlaylist **iParentPlayList);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreatePlaylist_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ BSTR playlistName,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreateFolder_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ BSTR folderName,
    /* [retval][out] */ IITPlaylist **iFolder);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Parent_Proxy( 
    IITUserPlaylist * This,
    /* [in] */ VARIANT *iParent);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_Reveal_Proxy( 
    IITUserPlaylist * This);


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



#endif 	/* __IITUserPlaylist_INTERFACE_DEFINED__ */


#ifndef __IITTrack_INTERFACE_DEFINED__
#define __IITTrack_INTERFACE_DEFINED__

/* interface IITTrack */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4CB0915D-1E54-4727-BAF3-CE6CC9A225A1")
    IITTrack : public IITObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddArtworkFromFile( 
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITArtwork **iArtwork) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ ITTrackKind *kind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( 
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Album( 
            /* [retval][out] */ BSTR *album) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Album( 
            /* [in] */ BSTR album) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( 
            /* [retval][out] */ BSTR *artist) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Artist( 
            /* [in] */ BSTR artist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( 
            /* [retval][out] */ long *bitrate) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BPM( 
            /* [retval][out] */ long *beatsPerMinute) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BPM( 
            /* [in] */ long beatsPerMinute) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Comment( 
            /* [retval][out] */ BSTR *comment) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Comment( 
            /* [in] */ BSTR comment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( 
            /* [retval][out] */ VARIANT_BOOL *isCompilation) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Compilation( 
            /* [in] */ VARIANT_BOOL shouldBeCompilation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( 
            /* [retval][out] */ BSTR *composer) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Composer( 
            /* [in] */ BSTR composer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DateAdded( 
            /* [retval][out] */ DATE *dateAdded) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( 
            /* [retval][out] */ long *discCount) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscCount( 
            /* [in] */ long discCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( 
            /* [retval][out] */ long *discNumber) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscNumber( 
            /* [in] */ long discNumber) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
            /* [retval][out] */ long *duration) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ VARIANT_BOOL shouldBeEnabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQ( 
            /* [retval][out] */ BSTR *eq) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQ( 
            /* [in] */ BSTR eq) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Finish( 
            /* [in] */ long finish) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Finish( 
            /* [retval][out] */ long *finish) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( 
            /* [retval][out] */ BSTR *genre) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Genre( 
            /* [in] */ BSTR genre) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Grouping( 
            /* [retval][out] */ BSTR *grouping) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Grouping( 
            /* [in] */ BSTR grouping) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KindAsString( 
            /* [retval][out] */ BSTR *kind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModificationDate( 
            /* [retval][out] */ DATE *dateModified) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedCount( 
            /* [retval][out] */ long *playedCount) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedCount( 
            /* [in] */ long playedCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedDate( 
            /* [retval][out] */ DATE *playedDate) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedDate( 
            /* [in] */ DATE playedDate) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayOrderIndex( 
            /* [retval][out] */ long *index) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rating( 
            /* [retval][out] */ long *rating) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Rating( 
            /* [in] */ long rating) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SampleRate( 
            /* [retval][out] */ long *sampleRate) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ long *size) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Start( 
            /* [retval][out] */ long *start) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Start( 
            /* [in] */ long start) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( 
            /* [retval][out] */ BSTR *time) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackCount( 
            /* [retval][out] */ long *trackCount) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackCount( 
            /* [in] */ long trackCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackNumber( 
            /* [retval][out] */ long *trackNumber) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackNumber( 
            /* [in] */ long trackNumber) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VolumeAdjustment( 
            /* [retval][out] */ long *volumeAdjustment) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VolumeAdjustment( 
            /* [in] */ long volumeAdjustment) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( 
            /* [retval][out] */ long *year) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Year( 
            /* [in] */ long year) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artwork( 
            /* [retval][out] */ IITArtworkCollection **iArtworkCollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITTrack * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITTrack * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITTrack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITTrack * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITTrack * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITTrack * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITTrack * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITTrack * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITTrack * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITTrack * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITTrack * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IITTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( 
            IITTrack * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITArtwork **iArtwork);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITTrack * This,
            /* [retval][out] */ ITTrackKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( 
            IITTrack * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *album);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( 
            IITTrack * This,
            /* [in] */ BSTR album);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *artist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( 
            IITTrack * This,
            /* [in] */ BSTR artist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
            IITTrack * This,
            /* [retval][out] */ long *bitrate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( 
            IITTrack * This,
            /* [retval][out] */ long *beatsPerMinute);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( 
            IITTrack * This,
            /* [in] */ long beatsPerMinute);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *comment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IITTrack * This,
            /* [in] */ BSTR comment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( 
            IITTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isCompilation);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( 
            IITTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeCompilation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *composer);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( 
            IITTrack * This,
            /* [in] */ BSTR composer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( 
            IITTrack * This,
            /* [retval][out] */ DATE *dateAdded);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( 
            IITTrack * This,
            /* [retval][out] */ long *discCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( 
            IITTrack * This,
            /* [in] */ long discCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( 
            IITTrack * This,
            /* [retval][out] */ long *discNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( 
            IITTrack * This,
            /* [in] */ long discNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITTrack * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IITTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IITTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeEnabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( 
            IITTrack * This,
            /* [in] */ BSTR eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( 
            IITTrack * This,
            /* [in] */ long finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( 
            IITTrack * This,
            /* [retval][out] */ long *finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *genre);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( 
            IITTrack * This,
            /* [in] */ BSTR genre);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *grouping);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( 
            IITTrack * This,
            /* [in] */ BSTR grouping);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( 
            IITTrack * This,
            /* [retval][out] */ DATE *dateModified);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( 
            IITTrack * This,
            /* [retval][out] */ long *playedCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( 
            IITTrack * This,
            /* [in] */ long playedCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( 
            IITTrack * This,
            /* [retval][out] */ DATE *playedDate);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( 
            IITTrack * This,
            /* [in] */ DATE playedDate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( 
            IITTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( 
            IITTrack * This,
            /* [retval][out] */ long *rating);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( 
            IITTrack * This,
            /* [in] */ long rating);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( 
            IITTrack * This,
            /* [retval][out] */ long *sampleRate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITTrack * This,
            /* [retval][out] */ long *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( 
            IITTrack * This,
            /* [retval][out] */ long *start);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( 
            IITTrack * This,
            /* [in] */ long start);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITTrack * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( 
            IITTrack * This,
            /* [retval][out] */ long *trackCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( 
            IITTrack * This,
            /* [in] */ long trackCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( 
            IITTrack * This,
            /* [retval][out] */ long *trackNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( 
            IITTrack * This,
            /* [in] */ long trackNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( 
            IITTrack * This,
            /* [retval][out] */ long *volumeAdjustment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( 
            IITTrack * This,
            /* [in] */ long volumeAdjustment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( 
            IITTrack * This,
            /* [retval][out] */ long *year);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( 
            IITTrack * This,
            /* [in] */ long year);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( 
            IITTrack * This,
            /* [retval][out] */ IITArtworkCollection **iArtworkCollection);
        
        END_INTERFACE
    } IITTrackVtbl;

    interface IITTrack
    {
        CONST_VTBL struct IITTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITTrack_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITTrack_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITTrack_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITTrack_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITTrack_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITTrack_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITTrack_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITTrack_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITTrack_Play(This)	\
    (This)->lpVtbl -> Play(This)

#define IITTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)

#define IITTrack_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITTrack_get_Playlist(This,iPlaylist)	\
    (This)->lpVtbl -> get_Playlist(This,iPlaylist)

#define IITTrack_get_Album(This,album)	\
    (This)->lpVtbl -> get_Album(This,album)

#define IITTrack_put_Album(This,album)	\
    (This)->lpVtbl -> put_Album(This,album)

#define IITTrack_get_Artist(This,artist)	\
    (This)->lpVtbl -> get_Artist(This,artist)

#define IITTrack_put_Artist(This,artist)	\
    (This)->lpVtbl -> put_Artist(This,artist)

#define IITTrack_get_BitRate(This,bitrate)	\
    (This)->lpVtbl -> get_BitRate(This,bitrate)

#define IITTrack_get_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)

#define IITTrack_put_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)

#define IITTrack_get_Comment(This,comment)	\
    (This)->lpVtbl -> get_Comment(This,comment)

#define IITTrack_put_Comment(This,comment)	\
    (This)->lpVtbl -> put_Comment(This,comment)

#define IITTrack_get_Compilation(This,isCompilation)	\
    (This)->lpVtbl -> get_Compilation(This,isCompilation)

#define IITTrack_put_Compilation(This,shouldBeCompilation)	\
    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)

#define IITTrack_get_Composer(This,composer)	\
    (This)->lpVtbl -> get_Composer(This,composer)

#define IITTrack_put_Composer(This,composer)	\
    (This)->lpVtbl -> put_Composer(This,composer)

#define IITTrack_get_DateAdded(This,dateAdded)	\
    (This)->lpVtbl -> get_DateAdded(This,dateAdded)

#define IITTrack_get_DiscCount(This,discCount)	\
    (This)->lpVtbl -> get_DiscCount(This,discCount)

#define IITTrack_put_DiscCount(This,discCount)	\
    (This)->lpVtbl -> put_DiscCount(This,discCount)

#define IITTrack_get_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> get_DiscNumber(This,discNumber)

#define IITTrack_put_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> put_DiscNumber(This,discNumber)

#define IITTrack_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITTrack_get_Enabled(This,isEnabled)	\
    (This)->lpVtbl -> get_Enabled(This,isEnabled)

#define IITTrack_put_Enabled(This,shouldBeEnabled)	\
    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)

#define IITTrack_get_EQ(This,eq)	\
    (This)->lpVtbl -> get_EQ(This,eq)

#define IITTrack_put_EQ(This,eq)	\
    (This)->lpVtbl -> put_EQ(This,eq)

#define IITTrack_put_Finish(This,finish)	\
    (This)->lpVtbl -> put_Finish(This,finish)

#define IITTrack_get_Finish(This,finish)	\
    (This)->lpVtbl -> get_Finish(This,finish)

#define IITTrack_get_Genre(This,genre)	\
    (This)->lpVtbl -> get_Genre(This,genre)

#define IITTrack_put_Genre(This,genre)	\
    (This)->lpVtbl -> put_Genre(This,genre)

#define IITTrack_get_Grouping(This,grouping)	\
    (This)->lpVtbl -> get_Grouping(This,grouping)

#define IITTrack_put_Grouping(This,grouping)	\
    (This)->lpVtbl -> put_Grouping(This,grouping)

#define IITTrack_get_KindAsString(This,kind)	\
    (This)->lpVtbl -> get_KindAsString(This,kind)

#define IITTrack_get_ModificationDate(This,dateModified)	\
    (This)->lpVtbl -> get_ModificationDate(This,dateModified)

#define IITTrack_get_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> get_PlayedCount(This,playedCount)

#define IITTrack_put_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> put_PlayedCount(This,playedCount)

#define IITTrack_get_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> get_PlayedDate(This,playedDate)

#define IITTrack_put_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> put_PlayedDate(This,playedDate)

#define IITTrack_get_PlayOrderIndex(This,index)	\
    (This)->lpVtbl -> get_PlayOrderIndex(This,index)

#define IITTrack_get_Rating(This,rating)	\
    (This)->lpVtbl -> get_Rating(This,rating)

#define IITTrack_put_Rating(This,rating)	\
    (This)->lpVtbl -> put_Rating(This,rating)

#define IITTrack_get_SampleRate(This,sampleRate)	\
    (This)->lpVtbl -> get_SampleRate(This,sampleRate)

#define IITTrack_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITTrack_get_Start(This,start)	\
    (This)->lpVtbl -> get_Start(This,start)

#define IITTrack_put_Start(This,start)	\
    (This)->lpVtbl -> put_Start(This,start)

#define IITTrack_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITTrack_get_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> get_TrackCount(This,trackCount)

#define IITTrack_put_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> put_TrackCount(This,trackCount)

#define IITTrack_get_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)

#define IITTrack_put_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)

#define IITTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)

#define IITTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)

#define IITTrack_get_Year(This,year)	\
    (This)->lpVtbl -> get_Year(This,year)

#define IITTrack_put_Year(This,year)	\
    (This)->lpVtbl -> put_Year(This,year)

#define IITTrack_get_Artwork(This,iArtworkCollection)	\
    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Delete_Proxy( 
    IITTrack * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Play_Proxy( 
    IITTrack * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_AddArtworkFromFile_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR filePath,
    /* [retval][out] */ IITArtwork **iArtwork);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Kind_Proxy( 
    IITTrack * This,
    /* [retval][out] */ ITTrackKind *kind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Playlist_Proxy( 
    IITTrack * This,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Album_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *album);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Album_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR album);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artist_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *artist);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Artist_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR artist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BitRate_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *bitrate);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BPM_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *beatsPerMinute);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_BPM_Proxy( 
    IITTrack * This,
    /* [in] */ long beatsPerMinute);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Comment_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *comment);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Comment_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR comment);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Compilation_Proxy( 
    IITTrack * This,
    /* [retval][out] */ VARIANT_BOOL *isCompilation);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Compilation_Proxy( 
    IITTrack * This,
    /* [in] */ VARIANT_BOOL shouldBeCompilation);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Composer_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *composer);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Composer_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR composer);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DateAdded_Proxy( 
    IITTrack * This,
    /* [retval][out] */ DATE *dateAdded);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscCount_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *discCount);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscCount_Proxy( 
    IITTrack * This,
    /* [in] */ long discCount);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscNumber_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *discNumber);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscNumber_Proxy( 
    IITTrack * This,
    /* [in] */ long discNumber);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Duration_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *duration);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Enabled_Proxy( 
    IITTrack * This,
    /* [retval][out] */ VARIANT_BOOL *isEnabled);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Enabled_Proxy( 
    IITTrack * This,
    /* [in] */ VARIANT_BOOL shouldBeEnabled);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_EQ_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *eq);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_EQ_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR eq);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Finish_Proxy( 
    IITTrack * This,
    /* [in] */ long finish);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Finish_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *finish);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Genre_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *genre);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Genre_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR genre);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Grouping_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *grouping);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Grouping_Proxy( 
    IITTrack * This,
    /* [in] */ BSTR grouping);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_KindAsString_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *kind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_ModificationDate_Proxy( 
    IITTrack * This,
    /* [retval][out] */ DATE *dateModified);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedCount_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *playedCount);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedCount_Proxy( 
    IITTrack * This,
    /* [in] */ long playedCount);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedDate_Proxy( 
    IITTrack * This,
    /* [retval][out] */ DATE *playedDate);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedDate_Proxy( 
    IITTrack * This,
    /* [in] */ DATE playedDate);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayOrderIndex_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *index);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Rating_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *rating);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Rating_Proxy( 
    IITTrack * This,
    /* [in] */ long rating);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_SampleRate_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *sampleRate);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Size_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *size);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Start_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *start);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Start_Proxy( 
    IITTrack * This,
    /* [in] */ long start);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Time_Proxy( 
    IITTrack * This,
    /* [retval][out] */ BSTR *time);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackCount_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *trackCount);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackCount_Proxy( 
    IITTrack * This,
    /* [in] */ long trackCount);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackNumber_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *trackNumber);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackNumber_Proxy( 
    IITTrack * This,
    /* [in] */ long trackNumber);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_VolumeAdjustment_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *volumeAdjustment);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_VolumeAdjustment_Proxy( 
    IITTrack * This,
    /* [in] */ long volumeAdjustment);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Year_Proxy( 
    IITTrack * This,
    /* [retval][out] */ long *year);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Year_Proxy( 
    IITTrack * This,
    /* [in] */ long year);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artwork_Proxy( 
    IITTrack * This,
    /* [retval][out] */ IITArtworkCollection **iArtworkCollection);


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



#endif 	/* __IITTrack_INTERFACE_DEFINED__ */


#ifndef __IITTrackCollection_INTERFACE_DEFINED__
#define __IITTrackCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITTrackCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("755D76F1-6B85-4ce4-8F5F-F88D9743DCD8")
    IITTrackCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITTrack **iTrack) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPlayOrder( 
            /* [in] */ long index,
            /* [retval][out] */ IITTrack **iTrack) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITTrack **iTrack) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( 
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITTrack **iTrack) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITTrackCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITTrackCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITTrackCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITTrackCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITTrackCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITTrackCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITTrackCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITTrackCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITTrackCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITTrackCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITTrack **iTrack);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPlayOrder )( 
            IITTrackCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITTrack **iTrack);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITTrackCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITTrack **iTrack);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITTrackCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( 
            IITTrackCollection * This,
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITTrack **iTrack);
        
        END_INTERFACE
    } IITTrackCollectionVtbl;

    interface IITTrackCollection
    {
        CONST_VTBL struct IITTrackCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITTrackCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITTrackCollection_get_Item(This,index,iTrack)	\
    (This)->lpVtbl -> get_Item(This,index,iTrack)

#define IITTrackCollection_get_ItemByPlayOrder(This,index,iTrack)	\
    (This)->lpVtbl -> get_ItemByPlayOrder(This,index,iTrack)

#define IITTrackCollection_get_ItemByName(This,name,iTrack)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iTrack)

#define IITTrackCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#define IITTrackCollection_get_ItemByPersistentID(This,highID,lowID,iTrack)	\
    (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iTrack)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Count_Proxy( 
    IITTrackCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Item_Proxy( 
    IITTrackCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITTrack **iTrack);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByPlayOrder_Proxy( 
    IITTrackCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITTrack **iTrack);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByName_Proxy( 
    IITTrackCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITTrack **iTrack);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get__NewEnum_Proxy( 
    IITTrackCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByPersistentID_Proxy( 
    IITTrackCollection * This,
    /* [in] */ long highID,
    /* [in] */ long lowID,
    /* [retval][out] */ IITTrack **iTrack);


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



#endif 	/* __IITTrackCollection_INTERFACE_DEFINED__ */


#ifndef __IITVisual_INTERFACE_DEFINED__
#define __IITVisual_INTERFACE_DEFINED__

/* interface IITVisual */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITVisual;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("340F3315-ED72-4c09-9ACF-21EB4BDF9931")
    IITVisual : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITVisualVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITVisual * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITVisual * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITVisual * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITVisual * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITVisual * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITVisual * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITVisual * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITVisual * This,
            /* [retval][out] */ BSTR *name);
        
        END_INTERFACE
    } IITVisualVtbl;

    interface IITVisual
    {
        CONST_VTBL struct IITVisualVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITVisual_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisual_get_Name_Proxy( 
    IITVisual * This,
    /* [retval][out] */ BSTR *name);


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



#endif 	/* __IITVisual_INTERFACE_DEFINED__ */


#ifndef __IITVisualCollection_INTERFACE_DEFINED__
#define __IITVisualCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITVisualCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("88A4CCDD-114F-4043-B69B-84D4E6274957")
    IITVisualCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITVisual **iVisual) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITVisual **iVisual) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITVisualCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITVisualCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITVisualCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITVisualCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITVisualCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITVisualCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITVisualCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITVisualCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITVisualCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITVisualCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITVisual **iVisual);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITVisualCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITVisual **iVisual);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITVisualCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        END_INTERFACE
    } IITVisualCollectionVtbl;

    interface IITVisualCollection
    {
        CONST_VTBL struct IITVisualCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITVisualCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITVisualCollection_get_Item(This,index,iVisual)	\
    (This)->lpVtbl -> get_Item(This,index,iVisual)

#define IITVisualCollection_get_ItemByName(This,name,iVisual)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iVisual)

#define IITVisualCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Count_Proxy( 
    IITVisualCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Item_Proxy( 
    IITVisualCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITVisual **iVisual);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_ItemByName_Proxy( 
    IITVisualCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITVisual **iVisual);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get__NewEnum_Proxy( 
    IITVisualCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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



#endif 	/* __IITVisualCollection_INTERFACE_DEFINED__ */


#ifndef __IITWindow_INTERFACE_DEFINED__
#define __IITWindow_INTERFACE_DEFINED__

/* interface IITWindow */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("370D7BE0-3A89-4a42-B902-C75FC138BE09")
    IITWindow : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ ITWindowKind *kind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *isVisible) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL shouldBeVisible) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Resizable( 
            /* [retval][out] */ VARIANT_BOOL *isResizable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Minimized( 
            /* [retval][out] */ VARIANT_BOOL *isMinimized) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Minimized( 
            /* [in] */ VARIANT_BOOL shouldBeMinimized) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximizable( 
            /* [retval][out] */ VARIANT_BOOL *isMaximizable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximized( 
            /* [retval][out] */ VARIANT_BOOL *isMaximized) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Maximized( 
            /* [in] */ VARIANT_BOOL shouldBeMaximized) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomable( 
            /* [retval][out] */ VARIANT_BOOL *isZoomable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomed( 
            /* [retval][out] */ VARIANT_BOOL *isZoomed) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Zoomed( 
            /* [in] */ VARIANT_BOOL shouldBeZoomed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ long *top) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ long top) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ long *left) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ long left) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bottom( 
            /* [retval][out] */ long *bottom) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Bottom( 
            /* [in] */ long bottom) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Right( 
            /* [retval][out] */ long *right) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Right( 
            /* [in] */ long right) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ long *width) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ long width) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ long *height) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ long height) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITWindow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITWindow * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITWindow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITWindow * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITWindow * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITWindow * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITWindow * This,
            /* [retval][out] */ ITWindowKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IITWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isResizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMinimized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( 
            IITWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMinimized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( 
            IITWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMaximized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( 
            IITWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomed);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( 
            IITWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeZoomed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IITWindow * This,
            /* [retval][out] */ long *top);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IITWindow * This,
            /* [in] */ long top);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IITWindow * This,
            /* [retval][out] */ long *left);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IITWindow * This,
            /* [in] */ long left);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( 
            IITWindow * This,
            /* [retval][out] */ long *bottom);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( 
            IITWindow * This,
            /* [in] */ long bottom);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( 
            IITWindow * This,
            /* [retval][out] */ long *right);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( 
            IITWindow * This,
            /* [in] */ long right);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IITWindow * This,
            /* [retval][out] */ long *width);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IITWindow * This,
            /* [in] */ long width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IITWindow * This,
            /* [retval][out] */ long *height);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IITWindow * This,
            /* [in] */ long height);
        
        END_INTERFACE
    } IITWindowVtbl;

    interface IITWindow
    {
        CONST_VTBL struct IITWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITWindow_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITWindow_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITWindow_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITWindow_put_Visible(This,shouldBeVisible)	\
    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)

#define IITWindow_get_Resizable(This,isResizable)	\
    (This)->lpVtbl -> get_Resizable(This,isResizable)

#define IITWindow_get_Minimized(This,isMinimized)	\
    (This)->lpVtbl -> get_Minimized(This,isMinimized)

#define IITWindow_put_Minimized(This,shouldBeMinimized)	\
    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)

#define IITWindow_get_Maximizable(This,isMaximizable)	\
    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)

#define IITWindow_get_Maximized(This,isMaximized)	\
    (This)->lpVtbl -> get_Maximized(This,isMaximized)

#define IITWindow_put_Maximized(This,shouldBeMaximized)	\
    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)

#define IITWindow_get_Zoomable(This,isZoomable)	\
    (This)->lpVtbl -> get_Zoomable(This,isZoomable)

#define IITWindow_get_Zoomed(This,isZoomed)	\
    (This)->lpVtbl -> get_Zoomed(This,isZoomed)

#define IITWindow_put_Zoomed(This,shouldBeZoomed)	\
    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)

#define IITWindow_get_Top(This,top)	\
    (This)->lpVtbl -> get_Top(This,top)

#define IITWindow_put_Top(This,top)	\
    (This)->lpVtbl -> put_Top(This,top)

#define IITWindow_get_Left(This,left)	\
    (This)->lpVtbl -> get_Left(This,left)

#define IITWindow_put_Left(This,left)	\
    (This)->lpVtbl -> put_Left(This,left)

#define IITWindow_get_Bottom(This,bottom)	\
    (This)->lpVtbl -> get_Bottom(This,bottom)

#define IITWindow_put_Bottom(This,bottom)	\
    (This)->lpVtbl -> put_Bottom(This,bottom)

#define IITWindow_get_Right(This,right)	\
    (This)->lpVtbl -> get_Right(This,right)

#define IITWindow_put_Right(This,right)	\
    (This)->lpVtbl -> put_Right(This,right)

#define IITWindow_get_Width(This,width)	\
    (This)->lpVtbl -> get_Width(This,width)

#define IITWindow_put_Width(This,width)	\
    (This)->lpVtbl -> put_Width(This,width)

#define IITWindow_get_Height(This,height)	\
    (This)->lpVtbl -> get_Height(This,height)

#define IITWindow_put_Height(This,height)	\
    (This)->lpVtbl -> put_Height(This,height)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Name_Proxy( 
    IITWindow * This,
    /* [retval][out] */ BSTR *name);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Kind_Proxy( 
    IITWindow * This,
    /* [retval][out] */ ITWindowKind *kind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Visible_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isVisible);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Visible_Proxy( 
    IITWindow * This,
    /* [in] */ VARIANT_BOOL shouldBeVisible);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Resizable_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isResizable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Minimized_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isMinimized);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Minimized_Proxy( 
    IITWindow * This,
    /* [in] */ VARIANT_BOOL shouldBeMinimized);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximizable_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isMaximizable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximized_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isMaximized);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Maximized_Proxy( 
    IITWindow * This,
    /* [in] */ VARIANT_BOOL shouldBeMaximized);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomable_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isZoomable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomed_Proxy( 
    IITWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isZoomed);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Zoomed_Proxy( 
    IITWindow * This,
    /* [in] */ VARIANT_BOOL shouldBeZoomed);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Top_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *top);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Top_Proxy( 
    IITWindow * This,
    /* [in] */ long top);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Left_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *left);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Left_Proxy( 
    IITWindow * This,
    /* [in] */ long left);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Bottom_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *bottom);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Bottom_Proxy( 
    IITWindow * This,
    /* [in] */ long bottom);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Right_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *right);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Right_Proxy( 
    IITWindow * This,
    /* [in] */ long right);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Width_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *width);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Width_Proxy( 
    IITWindow * This,
    /* [in] */ long width);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Height_Proxy( 
    IITWindow * This,
    /* [retval][out] */ long *height);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Height_Proxy( 
    IITWindow * This,
    /* [in] */ long height);


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



#endif 	/* __IITWindow_INTERFACE_DEFINED__ */


#ifndef __IITBrowserWindow_INTERFACE_DEFINED__
#define __IITBrowserWindow_INTERFACE_DEFINED__

/* interface IITBrowserWindow */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITBrowserWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C999F455-C4D5-4aa4-8277-F99753699974")
    IITBrowserWindow : public IITWindow
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MiniPlayer( 
            /* [retval][out] */ VARIANT_BOOL *isMiniPlayer) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MiniPlayer( 
            /* [in] */ VARIANT_BOOL shouldBeMiniPlayer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedPlaylist( 
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectedPlaylist( 
            /* [in] */ VARIANT *iPlaylist) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITBrowserWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITBrowserWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITBrowserWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITBrowserWindow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITBrowserWindow * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITBrowserWindow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITBrowserWindow * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITBrowserWindow * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITBrowserWindow * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITBrowserWindow * This,
            /* [retval][out] */ ITWindowKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isResizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMinimized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMinimized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMaximized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomed);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeZoomed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *top);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IITBrowserWindow * This,
            /* [in] */ long top);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *left);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IITBrowserWindow * This,
            /* [in] */ long left);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *bottom);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( 
            IITBrowserWindow * This,
            /* [in] */ long bottom);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *right);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( 
            IITBrowserWindow * This,
            /* [in] */ long right);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *width);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IITBrowserWindow * This,
            /* [in] */ long width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IITBrowserWindow * This,
            /* [retval][out] */ long *height);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IITBrowserWindow * This,
            /* [in] */ long height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MiniPlayer )( 
            IITBrowserWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMiniPlayer);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MiniPlayer )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMiniPlayer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( 
            IITBrowserWindow * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedPlaylist )( 
            IITBrowserWindow * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedPlaylist )( 
            IITBrowserWindow * This,
            /* [in] */ VARIANT *iPlaylist);
        
        END_INTERFACE
    } IITBrowserWindowVtbl;

    interface IITBrowserWindow
    {
        CONST_VTBL struct IITBrowserWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITBrowserWindow_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITBrowserWindow_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITBrowserWindow_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITBrowserWindow_put_Visible(This,shouldBeVisible)	\
    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)

#define IITBrowserWindow_get_Resizable(This,isResizable)	\
    (This)->lpVtbl -> get_Resizable(This,isResizable)

#define IITBrowserWindow_get_Minimized(This,isMinimized)	\
    (This)->lpVtbl -> get_Minimized(This,isMinimized)

#define IITBrowserWindow_put_Minimized(This,shouldBeMinimized)	\
    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)

#define IITBrowserWindow_get_Maximizable(This,isMaximizable)	\
    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)

#define IITBrowserWindow_get_Maximized(This,isMaximized)	\
    (This)->lpVtbl -> get_Maximized(This,isMaximized)

#define IITBrowserWindow_put_Maximized(This,shouldBeMaximized)	\
    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)

#define IITBrowserWindow_get_Zoomable(This,isZoomable)	\
    (This)->lpVtbl -> get_Zoomable(This,isZoomable)

#define IITBrowserWindow_get_Zoomed(This,isZoomed)	\
    (This)->lpVtbl -> get_Zoomed(This,isZoomed)

#define IITBrowserWindow_put_Zoomed(This,shouldBeZoomed)	\
    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)

#define IITBrowserWindow_get_Top(This,top)	\
    (This)->lpVtbl -> get_Top(This,top)

#define IITBrowserWindow_put_Top(This,top)	\
    (This)->lpVtbl -> put_Top(This,top)

#define IITBrowserWindow_get_Left(This,left)	\
    (This)->lpVtbl -> get_Left(This,left)

#define IITBrowserWindow_put_Left(This,left)	\
    (This)->lpVtbl -> put_Left(This,left)

#define IITBrowserWindow_get_Bottom(This,bottom)	\
    (This)->lpVtbl -> get_Bottom(This,bottom)

#define IITBrowserWindow_put_Bottom(This,bottom)	\
    (This)->lpVtbl -> put_Bottom(This,bottom)

#define IITBrowserWindow_get_Right(This,right)	\
    (This)->lpVtbl -> get_Right(This,right)

#define IITBrowserWindow_put_Right(This,right)	\
    (This)->lpVtbl -> put_Right(This,right)

#define IITBrowserWindow_get_Width(This,width)	\
    (This)->lpVtbl -> get_Width(This,width)

#define IITBrowserWindow_put_Width(This,width)	\
    (This)->lpVtbl -> put_Width(This,width)

#define IITBrowserWindow_get_Height(This,height)	\
    (This)->lpVtbl -> get_Height(This,height)

#define IITBrowserWindow_put_Height(This,height)	\
    (This)->lpVtbl -> put_Height(This,height)


#define IITBrowserWindow_get_MiniPlayer(This,isMiniPlayer)	\
    (This)->lpVtbl -> get_MiniPlayer(This,isMiniPlayer)

#define IITBrowserWindow_put_MiniPlayer(This,shouldBeMiniPlayer)	\
    (This)->lpVtbl -> put_MiniPlayer(This,shouldBeMiniPlayer)

#define IITBrowserWindow_get_SelectedTracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)

#define IITBrowserWindow_get_SelectedPlaylist(This,iPlaylist)	\
    (This)->lpVtbl -> get_SelectedPlaylist(This,iPlaylist)

#define IITBrowserWindow_put_SelectedPlaylist(This,iPlaylist)	\
    (This)->lpVtbl -> put_SelectedPlaylist(This,iPlaylist)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_MiniPlayer_Proxy( 
    IITBrowserWindow * This,
    /* [retval][out] */ VARIANT_BOOL *isMiniPlayer);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_MiniPlayer_Proxy( 
    IITBrowserWindow * This,
    /* [in] */ VARIANT_BOOL shouldBeMiniPlayer);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedTracks_Proxy( 
    IITBrowserWindow * This,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedPlaylist_Proxy( 
    IITBrowserWindow * This,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_SelectedPlaylist_Proxy( 
    IITBrowserWindow * This,
    /* [in] */ VARIANT *iPlaylist);


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



#endif 	/* __IITBrowserWindow_INTERFACE_DEFINED__ */


#ifndef __IITWindowCollection_INTERFACE_DEFINED__
#define __IITWindowCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITWindowCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3D8DE381-6C0E-481f-A865-E2385F59FA43")
    IITWindowCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITWindow **iWindow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITWindow **iWindow) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITWindowCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITWindowCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITWindowCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITWindowCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITWindowCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITWindowCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITWindowCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITWindowCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITWindowCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITWindowCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITWindow **iWindow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITWindowCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITWindow **iWindow);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITWindowCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        END_INTERFACE
    } IITWindowCollectionVtbl;

    interface IITWindowCollection
    {
        CONST_VTBL struct IITWindowCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITWindowCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITWindowCollection_get_Item(This,index,iWindow)	\
    (This)->lpVtbl -> get_Item(This,index,iWindow)

#define IITWindowCollection_get_ItemByName(This,name,iWindow)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iWindow)

#define IITWindowCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Count_Proxy( 
    IITWindowCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Item_Proxy( 
    IITWindowCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITWindow **iWindow);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_ItemByName_Proxy( 
    IITWindowCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITWindow **iWindow);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get__NewEnum_Proxy( 
    IITWindowCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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



#endif 	/* __IITWindowCollection_INTERFACE_DEFINED__ */


#ifndef __IiTunes_INTERFACE_DEFINED__
#define __IiTunes_INTERFACE_DEFINED__

/* interface IiTunes */
/* [hidden][unique][helpstring][dual][uuid][object] */ 




EXTERN_C const IID IID_IiTunes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9DD6680B-3EDC-40db-A771-E6FE4832E34A")
    IiTunes : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BackTrack( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FastForward( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextTrack( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFile( 
            /* [in] */ BSTR filePath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayPause( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PreviousTrack( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rewind( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile( 
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles( 
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack( 
            /* [in] */ VARIANT *iTrackToConvert,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks( 
            /* [in] */ VARIANT *iTracksToConvert,
            /* [retval][out] */ IITOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckVersion( 
            /* [in] */ long majorVersion,
            /* [in] */ long minorVersion,
            /* [retval][out] */ VARIANT_BOOL *isCompatible) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectByID( 
            /* [in] */ long sourceID,
            /* [in] */ long playlistID,
            /* [in] */ long trackID,
            /* [in] */ long databaseID,
            /* [retval][out] */ IITObject **iObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( 
            /* [in] */ BSTR playlistName,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenURL( 
            /* [in] */ BSTR url) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GotoMusicStoreHomePage( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Authorize( 
            /* [in] */ long numElems,
            /* [size_is][in] */ VARIANT data[  ],
            /* [size_is][in] */ BSTR names[  ]) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Quit( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sources( 
            /* [retval][out] */ IITSourceCollection **iSourceCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Encoders( 
            /* [retval][out] */ IITEncoderCollection **iEncoderCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQPresets( 
            /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visuals( 
            /* [retval][out] */ IITVisualCollection **iVisualCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Windows( 
            /* [retval][out] */ IITWindowCollection **iWindowCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolume( 
            /* [retval][out] */ long *volume) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SoundVolume( 
            /* [in] */ long volume) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Mute( 
            /* [retval][out] */ VARIANT_BOOL *isMuted) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Mute( 
            /* [in] */ VARIANT_BOOL shouldMute) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerState( 
            /* [retval][out] */ ITPlayerState *playerState) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerPosition( 
            /* [retval][out] */ long *playerPos) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayerPosition( 
            /* [in] */ long playerPos) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEncoder( 
            /* [retval][out] */ IITEncoder **iEncoder) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEncoder( 
            /* [in] */ IITEncoder *iEncoder) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualsEnabled( 
            /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualsEnabled( 
            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenVisuals( 
            /* [retval][out] */ VARIANT_BOOL *isFullScreen) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenVisuals( 
            /* [in] */ VARIANT_BOOL shouldUseFullScreen) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualSize( 
            /* [retval][out] */ ITVisualSize *visualSize) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualSize( 
            /* [in] */ ITVisualSize visualSize) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentVisual( 
            /* [retval][out] */ IITVisual **iVisual) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentVisual( 
            /* [in] */ IITVisual *iVisual) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQEnabled( 
            /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQEnabled( 
            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEQPreset( 
            /* [retval][out] */ IITEQPreset **iEQPreset) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEQPreset( 
            /* [in] */ IITEQPreset *iEQPreset) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamTitle( 
            /* [retval][out] */ BSTR *streamTitle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamURL( 
            /* [retval][out] */ BSTR *streamURL) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BrowserWindow( 
            /* [retval][out] */ IITBrowserWindow **iBrowserWindow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQWindow( 
            /* [retval][out] */ IITWindow **iEQWindow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibrarySource( 
            /* [retval][out] */ IITSource **iLibrarySource) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryPlaylist( 
            /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTrack( 
            /* [retval][out] */ IITTrack **iTrack) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPlaylist( 
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *version) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOptions( 
            /* [in] */ long options) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile2( 
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles2( 
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack2( 
            /* [in] */ VARIANT *iTrackToConvert,
            /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks2( 
            /* [in] */ VARIANT *iTracksToConvert,
            /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AppCommandMessageProcessingEnabled( 
            /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AppCommandMessageProcessingEnabled( 
            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceToForegroundOnDialog( 
            /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForceToForegroundOnDialog( 
            /* [in] */ VARIANT_BOOL forceToForegroundOnDialog) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEQPreset( 
            /* [in] */ BSTR eqPresetName,
            /* [retval][out] */ IITEQPreset **iEQPreset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylistInSource( 
            /* [in] */ BSTR playlistName,
            /* [in] */ VARIANT *iSource,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPlayerButtonsState( 
            /* [out] */ VARIANT_BOOL *previousEnabled,
            /* [out] */ ITPlayButtonState *playPauseStopState,
            /* [out] */ VARIANT_BOOL *nextEnabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayerButtonClicked( 
            /* [in] */ ITPlayerButton playerButton,
            /* [in] */ long playerButtonModifierKeys) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetShuffle( 
            /* [in] */ VARIANT *iPlaylist,
            /* [retval][out] */ VARIANT_BOOL *canSetShuffle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetSongRepeat( 
            /* [in] */ VARIANT *iPlaylist,
            /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConvertOperationStatus( 
            /* [retval][out] */ IITConvertOperationStatus **iStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SubscribeToPodcast( 
            /* [in] */ BSTR url) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeeds( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
            /* [in] */ BSTR folderName,
            /* [retval][out] */ IITPlaylist **iFolder) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolderInSource( 
            /* [in] */ BSTR folderName,
            /* [in] */ VARIANT *iSource,
            /* [retval][out] */ IITPlaylist **iFolder) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolumeControlEnabled( 
            /* [retval][out] */ VARIANT_BOOL *isEnabled) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryXMLPath( 
            /* [retval][out] */ BSTR *filePath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ITObjectPersistentIDHigh( 
            /* [in] */ VARIANT *iObject,
            /* [retval][out] */ long *highID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ITObjectPersistentIDLow( 
            /* [in] */ VARIANT *iObject,
            /* [retval][out] */ long *lowID) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectPersistentIDs( 
            /* [in] */ VARIANT *iObject,
            /* [out] */ long *highID,
            /* [out] */ long *lowID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IiTunesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IiTunes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IiTunes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IiTunes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IiTunes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IiTunes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IiTunes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IiTunes * 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] */ HRESULT ( STDMETHODCALLTYPE *BackTrack )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FastForward )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NextTrack )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFile )( 
            IiTunes * This,
            /* [in] */ BSTR filePath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayPause )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PreviousTrack )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Resume )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Rewind )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFile )( 
            IiTunes * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFiles )( 
            IiTunes * This,
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTrack )( 
            IiTunes * This,
            /* [in] */ VARIANT *iTrackToConvert,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTracks )( 
            IiTunes * This,
            /* [in] */ VARIANT *iTracksToConvert,
            /* [retval][out] */ IITOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckVersion )( 
            IiTunes * This,
            /* [in] */ long majorVersion,
            /* [in] */ long minorVersion,
            /* [retval][out] */ VARIANT_BOOL *isCompatible);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectByID )( 
            IiTunes * This,
            /* [in] */ long sourceID,
            /* [in] */ long playlistID,
            /* [in] */ long trackID,
            /* [in] */ long databaseID,
            /* [retval][out] */ IITObject **iObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylist )( 
            IiTunes * This,
            /* [in] */ BSTR playlistName,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenURL )( 
            IiTunes * This,
            /* [in] */ BSTR url);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GotoMusicStoreHomePage )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateIPod )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Authorize )( 
            IiTunes * This,
            /* [in] */ long numElems,
            /* [size_is][in] */ VARIANT data[  ],
            /* [size_is][in] */ BSTR names[  ]);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Quit )( 
            IiTunes * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sources )( 
            IiTunes * This,
            /* [retval][out] */ IITSourceCollection **iSourceCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Encoders )( 
            IiTunes * This,
            /* [retval][out] */ IITEncoderCollection **iEncoderCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQPresets )( 
            IiTunes * This,
            /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visuals )( 
            IiTunes * This,
            /* [retval][out] */ IITVisualCollection **iVisualCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Windows )( 
            IiTunes * This,
            /* [retval][out] */ IITWindowCollection **iWindowCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoundVolume )( 
            IiTunes * This,
            /* [retval][out] */ long *volume);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SoundVolume )( 
            IiTunes * This,
            /* [in] */ long volume);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mute )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isMuted);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mute )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL shouldMute);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerState )( 
            IiTunes * This,
            /* [retval][out] */ ITPlayerState *playerState);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerPosition )( 
            IiTunes * This,
            /* [retval][out] */ long *playerPos);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayerPosition )( 
            IiTunes * This,
            /* [in] */ long playerPos);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentEncoder )( 
            IiTunes * This,
            /* [retval][out] */ IITEncoder **iEncoder);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentEncoder )( 
            IiTunes * This,
            /* [in] */ IITEncoder *iEncoder);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisualsEnabled )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisualsEnabled )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL shouldEnable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreenVisuals )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isFullScreen);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenVisuals )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL shouldUseFullScreen);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisualSize )( 
            IiTunes * This,
            /* [retval][out] */ ITVisualSize *visualSize);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisualSize )( 
            IiTunes * This,
            /* [in] */ ITVisualSize visualSize);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentVisual )( 
            IiTunes * This,
            /* [retval][out] */ IITVisual **iVisual);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentVisual )( 
            IiTunes * This,
            /* [in] */ IITVisual *iVisual);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQEnabled )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQEnabled )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL shouldEnable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentEQPreset )( 
            IiTunes * This,
            /* [retval][out] */ IITEQPreset **iEQPreset);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentEQPreset )( 
            IiTunes * This,
            /* [in] */ IITEQPreset *iEQPreset);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamTitle )( 
            IiTunes * This,
            /* [retval][out] */ BSTR *streamTitle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamURL )( 
            IiTunes * This,
            /* [retval][out] */ BSTR *streamURL);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserWindow )( 
            IiTunes * This,
            /* [retval][out] */ IITBrowserWindow **iBrowserWindow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQWindow )( 
            IiTunes * This,
            /* [retval][out] */ IITWindow **iEQWindow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibrarySource )( 
            IiTunes * This,
            /* [retval][out] */ IITSource **iLibrarySource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryPlaylist )( 
            IiTunes * This,
            /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTrack )( 
            IiTunes * This,
            /* [retval][out] */ IITTrack **iTrack);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPlaylist )( 
            IiTunes * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( 
            IiTunes * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IiTunes * This,
            /* [retval][out] */ BSTR *version);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetOptions )( 
            IiTunes * This,
            /* [in] */ long options);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFile2 )( 
            IiTunes * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITConvertOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertFiles2 )( 
            IiTunes * This,
            /* [in] */ VARIANT *filePaths,
            /* [retval][out] */ IITConvertOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTrack2 )( 
            IiTunes * This,
            /* [in] */ VARIANT *iTrackToConvert,
            /* [retval][out] */ IITConvertOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertTracks2 )( 
            IiTunes * This,
            /* [in] */ VARIANT *iTracksToConvert,
            /* [retval][out] */ IITConvertOperationStatus **iStatus);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AppCommandMessageProcessingEnabled )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AppCommandMessageProcessingEnabled )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL shouldEnable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceToForegroundOnDialog )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceToForegroundOnDialog )( 
            IiTunes * This,
            /* [in] */ VARIANT_BOOL forceToForegroundOnDialog);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateEQPreset )( 
            IiTunes * This,
            /* [in] */ BSTR eqPresetName,
            /* [retval][out] */ IITEQPreset **iEQPreset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePlaylistInSource )( 
            IiTunes * This,
            /* [in] */ BSTR playlistName,
            /* [in] */ VARIANT *iSource,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPlayerButtonsState )( 
            IiTunes * This,
            /* [out] */ VARIANT_BOOL *previousEnabled,
            /* [out] */ ITPlayButtonState *playPauseStopState,
            /* [out] */ VARIANT_BOOL *nextEnabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayerButtonClicked )( 
            IiTunes * This,
            /* [in] */ ITPlayerButton playerButton,
            /* [in] */ long playerButtonModifierKeys);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanSetShuffle )( 
            IiTunes * This,
            /* [in] */ VARIANT *iPlaylist,
            /* [retval][out] */ VARIANT_BOOL *canSetShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanSetSongRepeat )( 
            IiTunes * This,
            /* [in] */ VARIANT *iPlaylist,
            /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConvertOperationStatus )( 
            IiTunes * This,
            /* [retval][out] */ IITConvertOperationStatus **iStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SubscribeToPodcast )( 
            IiTunes * This,
            /* [in] */ BSTR url);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeeds )( 
            IiTunes * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )( 
            IiTunes * This,
            /* [in] */ BSTR folderName,
            /* [retval][out] */ IITPlaylist **iFolder);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFolderInSource )( 
            IiTunes * This,
            /* [in] */ BSTR folderName,
            /* [in] */ VARIANT *iSource,
            /* [retval][out] */ IITPlaylist **iFolder);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoundVolumeControlEnabled )( 
            IiTunes * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LibraryXMLPath )( 
            IiTunes * This,
            /* [retval][out] */ BSTR *filePath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ITObjectPersistentIDHigh )( 
            IiTunes * This,
            /* [in] */ VARIANT *iObject,
            /* [retval][out] */ long *highID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ITObjectPersistentIDLow )( 
            IiTunes * This,
            /* [in] */ VARIANT *iObject,
            /* [retval][out] */ long *lowID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectPersistentIDs )( 
            IiTunes * This,
            /* [in] */ VARIANT *iObject,
            /* [out] */ long *highID,
            /* [out] */ long *lowID);
        
        END_INTERFACE
    } IiTunesVtbl;

    interface IiTunes
    {
        CONST_VTBL struct IiTunesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IiTunes_BackTrack(This)	\
    (This)->lpVtbl -> BackTrack(This)

#define IiTunes_FastForward(This)	\
    (This)->lpVtbl -> FastForward(This)

#define IiTunes_NextTrack(This)	\
    (This)->lpVtbl -> NextTrack(This)

#define IiTunes_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IiTunes_Play(This)	\
    (This)->lpVtbl -> Play(This)

#define IiTunes_PlayFile(This,filePath)	\
    (This)->lpVtbl -> PlayFile(This,filePath)

#define IiTunes_PlayPause(This)	\
    (This)->lpVtbl -> PlayPause(This)

#define IiTunes_PreviousTrack(This)	\
    (This)->lpVtbl -> PreviousTrack(This)

#define IiTunes_Resume(This)	\
    (This)->lpVtbl -> Resume(This)

#define IiTunes_Rewind(This)	\
    (This)->lpVtbl -> Rewind(This)

#define IiTunes_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IiTunes_ConvertFile(This,filePath,iStatus)	\
    (This)->lpVtbl -> ConvertFile(This,filePath,iStatus)

#define IiTunes_ConvertFiles(This,filePaths,iStatus)	\
    (This)->lpVtbl -> ConvertFiles(This,filePaths,iStatus)

#define IiTunes_ConvertTrack(This,iTrackToConvert,iStatus)	\
    (This)->lpVtbl -> ConvertTrack(This,iTrackToConvert,iStatus)

#define IiTunes_ConvertTracks(This,iTracksToConvert,iStatus)	\
    (This)->lpVtbl -> ConvertTracks(This,iTracksToConvert,iStatus)

#define IiTunes_CheckVersion(This,majorVersion,minorVersion,isCompatible)	\
    (This)->lpVtbl -> CheckVersion(This,majorVersion,minorVersion,isCompatible)

#define IiTunes_GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject)	\
    (This)->lpVtbl -> GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject)

#define IiTunes_CreatePlaylist(This,playlistName,iPlaylist)	\
    (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist)

#define IiTunes_OpenURL(This,url)	\
    (This)->lpVtbl -> OpenURL(This,url)

#define IiTunes_GotoMusicStoreHomePage(This)	\
    (This)->lpVtbl -> GotoMusicStoreHomePage(This)

#define IiTunes_UpdateIPod(This)	\
    (This)->lpVtbl -> UpdateIPod(This)

#define IiTunes_Authorize(This,numElems,data,names)	\
    (This)->lpVtbl -> Authorize(This,numElems,data,names)

#define IiTunes_Quit(This)	\
    (This)->lpVtbl -> Quit(This)

#define IiTunes_get_Sources(This,iSourceCollection)	\
    (This)->lpVtbl -> get_Sources(This,iSourceCollection)

#define IiTunes_get_Encoders(This,iEncoderCollection)	\
    (This)->lpVtbl -> get_Encoders(This,iEncoderCollection)

#define IiTunes_get_EQPresets(This,iEQPresetCollection)	\
    (This)->lpVtbl -> get_EQPresets(This,iEQPresetCollection)

#define IiTunes_get_Visuals(This,iVisualCollection)	\
    (This)->lpVtbl -> get_Visuals(This,iVisualCollection)

#define IiTunes_get_Windows(This,iWindowCollection)	\
    (This)->lpVtbl -> get_Windows(This,iWindowCollection)

#define IiTunes_get_SoundVolume(This,volume)	\
    (This)->lpVtbl -> get_SoundVolume(This,volume)

#define IiTunes_put_SoundVolume(This,volume)	\
    (This)->lpVtbl -> put_SoundVolume(This,volume)

#define IiTunes_get_Mute(This,isMuted)	\
    (This)->lpVtbl -> get_Mute(This,isMuted)

#define IiTunes_put_Mute(This,shouldMute)	\
    (This)->lpVtbl -> put_Mute(This,shouldMute)

#define IiTunes_get_PlayerState(This,playerState)	\
    (This)->lpVtbl -> get_PlayerState(This,playerState)

#define IiTunes_get_PlayerPosition(This,playerPos)	\
    (This)->lpVtbl -> get_PlayerPosition(This,playerPos)

#define IiTunes_put_PlayerPosition(This,playerPos)	\
    (This)->lpVtbl -> put_PlayerPosition(This,playerPos)

#define IiTunes_get_CurrentEncoder(This,iEncoder)	\
    (This)->lpVtbl -> get_CurrentEncoder(This,iEncoder)

#define IiTunes_put_CurrentEncoder(This,iEncoder)	\
    (This)->lpVtbl -> put_CurrentEncoder(This,iEncoder)

#define IiTunes_get_VisualsEnabled(This,isEnabled)	\
    (This)->lpVtbl -> get_VisualsEnabled(This,isEnabled)

#define IiTunes_put_VisualsEnabled(This,shouldEnable)	\
    (This)->lpVtbl -> put_VisualsEnabled(This,shouldEnable)

#define IiTunes_get_FullScreenVisuals(This,isFullScreen)	\
    (This)->lpVtbl -> get_FullScreenVisuals(This,isFullScreen)

#define IiTunes_put_FullScreenVisuals(This,shouldUseFullScreen)	\
    (This)->lpVtbl -> put_FullScreenVisuals(This,shouldUseFullScreen)

#define IiTunes_get_VisualSize(This,visualSize)	\
    (This)->lpVtbl -> get_VisualSize(This,visualSize)

#define IiTunes_put_VisualSize(This,visualSize)	\
    (This)->lpVtbl -> put_VisualSize(This,visualSize)

#define IiTunes_get_CurrentVisual(This,iVisual)	\
    (This)->lpVtbl -> get_CurrentVisual(This,iVisual)

#define IiTunes_put_CurrentVisual(This,iVisual)	\
    (This)->lpVtbl -> put_CurrentVisual(This,iVisual)

#define IiTunes_get_EQEnabled(This,isEnabled)	\
    (This)->lpVtbl -> get_EQEnabled(This,isEnabled)

#define IiTunes_put_EQEnabled(This,shouldEnable)	\
    (This)->lpVtbl -> put_EQEnabled(This,shouldEnable)

#define IiTunes_get_CurrentEQPreset(This,iEQPreset)	\
    (This)->lpVtbl -> get_CurrentEQPreset(This,iEQPreset)

#define IiTunes_put_CurrentEQPreset(This,iEQPreset)	\
    (This)->lpVtbl -> put_CurrentEQPreset(This,iEQPreset)

#define IiTunes_get_CurrentStreamTitle(This,streamTitle)	\
    (This)->lpVtbl -> get_CurrentStreamTitle(This,streamTitle)

#define IiTunes_get_CurrentStreamURL(This,streamURL)	\
    (This)->lpVtbl -> get_CurrentStreamURL(This,streamURL)

#define IiTunes_get_BrowserWindow(This,iBrowserWindow)	\
    (This)->lpVtbl -> get_BrowserWindow(This,iBrowserWindow)

#define IiTunes_get_EQWindow(This,iEQWindow)	\
    (This)->lpVtbl -> get_EQWindow(This,iEQWindow)

#define IiTunes_get_LibrarySource(This,iLibrarySource)	\
    (This)->lpVtbl -> get_LibrarySource(This,iLibrarySource)

#define IiTunes_get_LibraryPlaylist(This,iLibraryPlaylist)	\
    (This)->lpVtbl -> get_LibraryPlaylist(This,iLibraryPlaylist)

#define IiTunes_get_CurrentTrack(This,iTrack)	\
    (This)->lpVtbl -> get_CurrentTrack(This,iTrack)

#define IiTunes_get_CurrentPlaylist(This,iPlaylist)	\
    (This)->lpVtbl -> get_CurrentPlaylist(This,iPlaylist)

#define IiTunes_get_SelectedTracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)

#define IiTunes_get_Version(This,version)	\
    (This)->lpVtbl -> get_Version(This,version)

#define IiTunes_SetOptions(This,options)	\
    (This)->lpVtbl -> SetOptions(This,options)

#define IiTunes_ConvertFile2(This,filePath,iStatus)	\
    (This)->lpVtbl -> ConvertFile2(This,filePath,iStatus)

#define IiTunes_ConvertFiles2(This,filePaths,iStatus)	\
    (This)->lpVtbl -> ConvertFiles2(This,filePaths,iStatus)

#define IiTunes_ConvertTrack2(This,iTrackToConvert,iStatus)	\
    (This)->lpVtbl -> ConvertTrack2(This,iTrackToConvert,iStatus)

#define IiTunes_ConvertTracks2(This,iTracksToConvert,iStatus)	\
    (This)->lpVtbl -> ConvertTracks2(This,iTracksToConvert,iStatus)

#define IiTunes_get_AppCommandMessageProcessingEnabled(This,isEnabled)	\
    (This)->lpVtbl -> get_AppCommandMessageProcessingEnabled(This,isEnabled)

#define IiTunes_put_AppCommandMessageProcessingEnabled(This,shouldEnable)	\
    (This)->lpVtbl -> put_AppCommandMessageProcessingEnabled(This,shouldEnable)

#define IiTunes_get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)	\
    (This)->lpVtbl -> get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)

#define IiTunes_put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)	\
    (This)->lpVtbl -> put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)

#define IiTunes_CreateEQPreset(This,eqPresetName,iEQPreset)	\
    (This)->lpVtbl -> CreateEQPreset(This,eqPresetName,iEQPreset)

#define IiTunes_CreatePlaylistInSource(This,playlistName,iSource,iPlaylist)	\
    (This)->lpVtbl -> CreatePlaylistInSource(This,playlistName,iSource,iPlaylist)

#define IiTunes_GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled)	\
    (This)->lpVtbl -> GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled)

#define IiTunes_PlayerButtonClicked(This,playerButton,playerButtonModifierKeys)	\
    (This)->lpVtbl -> PlayerButtonClicked(This,playerButton,playerButtonModifierKeys)

#define IiTunes_get_CanSetShuffle(This,iPlaylist,canSetShuffle)	\
    (This)->lpVtbl -> get_CanSetShuffle(This,iPlaylist,canSetShuffle)

#define IiTunes_get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat)	\
    (This)->lpVtbl -> get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat)

#define IiTunes_get_ConvertOperationStatus(This,iStatus)	\
    (This)->lpVtbl -> get_ConvertOperationStatus(This,iStatus)

#define IiTunes_SubscribeToPodcast(This,url)	\
    (This)->lpVtbl -> SubscribeToPodcast(This,url)

#define IiTunes_UpdatePodcastFeeds(This)	\
    (This)->lpVtbl -> UpdatePodcastFeeds(This)

#define IiTunes_CreateFolder(This,folderName,iFolder)	\
    (This)->lpVtbl -> CreateFolder(This,folderName,iFolder)

#define IiTunes_CreateFolderInSource(This,folderName,iSource,iFolder)	\
    (This)->lpVtbl -> CreateFolderInSource(This,folderName,iSource,iFolder)

#define IiTunes_get_SoundVolumeControlEnabled(This,isEnabled)	\
    (This)->lpVtbl -> get_SoundVolumeControlEnabled(This,isEnabled)

#define IiTunes_get_LibraryXMLPath(This,filePath)	\
    (This)->lpVtbl -> get_LibraryXMLPath(This,filePath)

#define IiTunes_get_ITObjectPersistentIDHigh(This,iObject,highID)	\
    (This)->lpVtbl -> get_ITObjectPersistentIDHigh(This,iObject,highID)

#define IiTunes_get_ITObjectPersistentIDLow(This,iObject,lowID)	\
    (This)->lpVtbl -> get_ITObjectPersistentIDLow(This,iObject,lowID)

#define IiTunes_GetITObjectPersistentIDs(This,iObject,highID,lowID)	\
    (This)->lpVtbl -> GetITObjectPersistentIDs(This,iObject,highID,lowID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_BackTrack_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_FastForward_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_NextTrack_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Pause_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Play_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayFile_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR filePath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayPause_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PreviousTrack_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Resume_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Rewind_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Stop_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR filePath,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *filePaths,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iTrackToConvert,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iTracksToConvert,
    /* [retval][out] */ IITOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CheckVersion_Proxy( 
    IiTunes * This,
    /* [in] */ long majorVersion,
    /* [in] */ long minorVersion,
    /* [retval][out] */ VARIANT_BOOL *isCompatible);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetITObjectByID_Proxy( 
    IiTunes * This,
    /* [in] */ long sourceID,
    /* [in] */ long playlistID,
    /* [in] */ long trackID,
    /* [in] */ long databaseID,
    /* [retval][out] */ IITObject **iObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylist_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR playlistName,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_OpenURL_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR url);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GotoMusicStoreHomePage_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdateIPod_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Authorize_Proxy( 
    IiTunes * This,
    /* [in] */ long numElems,
    /* [size_is][in] */ VARIANT data[  ],
    /* [size_is][in] */ BSTR names[  ]);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Quit_Proxy( 
    IiTunes * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Sources_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITSourceCollection **iSourceCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Encoders_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITEncoderCollection **iEncoderCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQPresets_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITEQPresetCollection **iEQPresetCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Visuals_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITVisualCollection **iVisualCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Windows_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITWindowCollection **iWindowCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolume_Proxy( 
    IiTunes * This,
    /* [retval][out] */ long *volume);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_SoundVolume_Proxy( 
    IiTunes * This,
    /* [in] */ long volume);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Mute_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isMuted);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_Mute_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL shouldMute);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerState_Proxy( 
    IiTunes * This,
    /* [retval][out] */ ITPlayerState *playerState);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerPosition_Proxy( 
    IiTunes * This,
    /* [retval][out] */ long *playerPos);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_PlayerPosition_Proxy( 
    IiTunes * This,
    /* [in] */ long playerPos);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEncoder_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITEncoder **iEncoder);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEncoder_Proxy( 
    IiTunes * This,
    /* [in] */ IITEncoder *iEncoder);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualsEnabled_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isEnabled);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualsEnabled_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL shouldEnable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_FullScreenVisuals_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isFullScreen);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_FullScreenVisuals_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL shouldUseFullScreen);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualSize_Proxy( 
    IiTunes * This,
    /* [retval][out] */ ITVisualSize *visualSize);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualSize_Proxy( 
    IiTunes * This,
    /* [in] */ ITVisualSize visualSize);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentVisual_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITVisual **iVisual);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentVisual_Proxy( 
    IiTunes * This,
    /* [in] */ IITVisual *iVisual);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQEnabled_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isEnabled);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_EQEnabled_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL shouldEnable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEQPreset_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITEQPreset **iEQPreset);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEQPreset_Proxy( 
    IiTunes * This,
    /* [in] */ IITEQPreset *iEQPreset);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamTitle_Proxy( 
    IiTunes * This,
    /* [retval][out] */ BSTR *streamTitle);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamURL_Proxy( 
    IiTunes * This,
    /* [retval][out] */ BSTR *streamURL);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_BrowserWindow_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITBrowserWindow **iBrowserWindow);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQWindow_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITWindow **iEQWindow);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibrarySource_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITSource **iLibrarySource);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibraryPlaylist_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITLibraryPlaylist **iLibraryPlaylist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentTrack_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITTrack **iTrack);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentPlaylist_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SelectedTracks_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Version_Proxy( 
    IiTunes * This,
    /* [retval][out] */ BSTR *version);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SetOptions_Proxy( 
    IiTunes * This,
    /* [in] */ long options);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile2_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR filePath,
    /* [retval][out] */ IITConvertOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles2_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *filePaths,
    /* [retval][out] */ IITConvertOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack2_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iTrackToConvert,
    /* [retval][out] */ IITConvertOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks2_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iTracksToConvert,
    /* [retval][out] */ IITConvertOperationStatus **iStatus);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_AppCommandMessageProcessingEnabled_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isEnabled);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_AppCommandMessageProcessingEnabled_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL shouldEnable);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ForceToForegroundOnDialog_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *forceToForegroundOnDialog);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_ForceToForegroundOnDialog_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT_BOOL forceToForegroundOnDialog);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateEQPreset_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR eqPresetName,
    /* [retval][out] */ IITEQPreset **iEQPreset);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylistInSource_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR playlistName,
    /* [in] */ VARIANT *iSource,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetPlayerButtonsState_Proxy( 
    IiTunes * This,
    /* [out] */ VARIANT_BOOL *previousEnabled,
    /* [out] */ ITPlayButtonState *playPauseStopState,
    /* [out] */ VARIANT_BOOL *nextEnabled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayerButtonClicked_Proxy( 
    IiTunes * This,
    /* [in] */ ITPlayerButton playerButton,
    /* [in] */ long playerButtonModifierKeys);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetShuffle_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iPlaylist,
    /* [retval][out] */ VARIANT_BOOL *canSetShuffle);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetSongRepeat_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iPlaylist,
    /* [retval][out] */ VARIANT_BOOL *canSetSongRepeat);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ConvertOperationStatus_Proxy( 
    IiTunes * This,
    /* [retval][out] */ IITConvertOperationStatus **iStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SubscribeToPodcast_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR url);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdatePodcastFeeds_Proxy( 
    IiTunes * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolder_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR folderName,
    /* [retval][out] */ IITPlaylist **iFolder);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolderInSource_Proxy( 
    IiTunes * This,
    /* [in] */ BSTR folderName,
    /* [in] */ VARIANT *iSource,
    /* [retval][out] */ IITPlaylist **iFolder);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolumeControlEnabled_Proxy( 
    IiTunes * This,
    /* [retval][out] */ VARIANT_BOOL *isEnabled);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibraryXMLPath_Proxy( 
    IiTunes * This,
    /* [retval][out] */ BSTR *filePath);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ITObjectPersistentIDHigh_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iObject,
    /* [retval][out] */ long *highID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ITObjectPersistentIDLow_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iObject,
    /* [retval][out] */ long *lowID);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetITObjectPersistentIDs_Proxy( 
    IiTunes * This,
    /* [in] */ VARIANT *iObject,
    /* [out] */ long *highID,
    /* [out] */ long *lowID);


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



#endif 	/* __IiTunes_INTERFACE_DEFINED__ */


#ifndef ___IiTunesEvents_DISPINTERFACE_DEFINED__
#define ___IiTunesEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IiTunesEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IiTunesEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("5846EB78-317E-4b6f-B0C3-11EE8C8FEEF2")
    _IiTunesEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IiTunesEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IiTunesEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IiTunesEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IiTunesEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IiTunesEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IiTunesEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IiTunesEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IiTunesEvents * 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
    } _IiTunesEventsVtbl;

    interface _IiTunesEvents
    {
        CONST_VTBL struct _IiTunesEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define _IiTunesEvents_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 	/* ___IiTunesEvents_DISPINTERFACE_DEFINED__ */


#ifndef ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__
#define ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IITConvertOperationStatusEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IITConvertOperationStatusEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("5C47A705-8E8A-45a1-9EED-71C993F0BF60")
    _IITConvertOperationStatusEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IITConvertOperationStatusEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IITConvertOperationStatusEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IITConvertOperationStatusEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IITConvertOperationStatusEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IITConvertOperationStatusEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IITConvertOperationStatusEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IITConvertOperationStatusEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IITConvertOperationStatusEvents * 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
    } _IITConvertOperationStatusEventsVtbl;

    interface _IITConvertOperationStatusEvents
    {
        CONST_VTBL struct _IITConvertOperationStatusEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define _IITConvertOperationStatusEvents_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 	/* ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_iTunesApp;

#ifdef __cplusplus

class DECLSPEC_UUID("DC0C2640-1415-4644-875C-6F4D769839BA")
iTunesApp;
#endif

EXTERN_C const CLSID CLSID_iTunesConvertOperationStatus;

#ifdef __cplusplus

class DECLSPEC_UUID("D06596AD-C900-41b2-BC68-1B486450FC56")
iTunesConvertOperationStatus;
#endif

#ifndef __IITArtwork_INTERFACE_DEFINED__
#define __IITArtwork_INTERFACE_DEFINED__

/* interface IITArtwork */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITArtwork;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D0A6C1F8-BF3D-4cd8-AC47-FE32BDD17257")
    IITArtwork : public IDispatch
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetArtworkFromFile( 
            /* [in] */ BSTR filePath) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveArtworkToFile( 
            /* [in] */ BSTR filePath) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ ITArtworkFormat *format) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsDownloadedArtwork( 
            /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *description) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR description) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITArtworkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITArtwork * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITArtwork * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITArtwork * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITArtwork * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITArtwork * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITArtwork * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITArtwork * 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] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITArtwork * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetArtworkFromFile )( 
            IITArtwork * This,
            /* [in] */ BSTR filePath);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveArtworkToFile )( 
            IITArtwork * This,
            /* [in] */ BSTR filePath);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IITArtwork * This,
            /* [retval][out] */ ITArtworkFormat *format);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloadedArtwork )( 
            IITArtwork * This,
            /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IITArtwork * This,
            /* [retval][out] */ BSTR *description);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IITArtwork * This,
            /* [in] */ BSTR description);
        
        END_INTERFACE
    } IITArtworkVtbl;

    interface IITArtwork
    {
        CONST_VTBL struct IITArtworkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITArtwork_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITArtwork_SetArtworkFromFile(This,filePath)	\
    (This)->lpVtbl -> SetArtworkFromFile(This,filePath)

#define IITArtwork_SaveArtworkToFile(This,filePath)	\
    (This)->lpVtbl -> SaveArtworkToFile(This,filePath)

#define IITArtwork_get_Format(This,format)	\
    (This)->lpVtbl -> get_Format(This,format)

#define IITArtwork_get_IsDownloadedArtwork(This,isDownloadedArtwork)	\
    (This)->lpVtbl -> get_IsDownloadedArtwork(This,isDownloadedArtwork)

#define IITArtwork_get_Description(This,description)	\
    (This)->lpVtbl -> get_Description(This,description)

#define IITArtwork_put_Description(This,description)	\
    (This)->lpVtbl -> put_Description(This,description)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_Delete_Proxy( 
    IITArtwork * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SetArtworkFromFile_Proxy( 
    IITArtwork * This,
    /* [in] */ BSTR filePath);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SaveArtworkToFile_Proxy( 
    IITArtwork * This,
    /* [in] */ BSTR filePath);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_Format_Proxy( 
    IITArtwork * This,
    /* [retval][out] */ ITArtworkFormat *format);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_IsDownloadedArtwork_Proxy( 
    IITArtwork * This,
    /* [retval][out] */ VARIANT_BOOL *isDownloadedArtwork);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_Description_Proxy( 
    IITArtwork * This,
    /* [retval][out] */ BSTR *description);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITArtwork_put_Description_Proxy( 
    IITArtwork * This,
    /* [in] */ BSTR description);


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



#endif 	/* __IITArtwork_INTERFACE_DEFINED__ */


#ifndef __IITArtworkCollection_INTERFACE_DEFINED__
#define __IITArtworkCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITArtworkCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BF2742D7-418C-4858-9AF9-2981B062D23E")
    IITArtworkCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITArtwork **iArtwork) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITArtworkCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITArtworkCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITArtworkCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITArtworkCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITArtworkCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITArtworkCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITArtworkCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITArtworkCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITArtworkCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITArtworkCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITArtwork **iArtwork);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITArtworkCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        END_INTERFACE
    } IITArtworkCollectionVtbl;

    interface IITArtworkCollection
    {
        CONST_VTBL struct IITArtworkCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITArtworkCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITArtworkCollection_get_Item(This,index,iArtwork)	\
    (This)->lpVtbl -> get_Item(This,index,iArtwork)

#define IITArtworkCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Count_Proxy( 
    IITArtworkCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Item_Proxy( 
    IITArtworkCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITArtwork **iArtwork);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get__NewEnum_Proxy( 
    IITArtworkCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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



#endif 	/* __IITArtworkCollection_INTERFACE_DEFINED__ */


#ifndef __IITURLTrack_INTERFACE_DEFINED__
#define __IITURLTrack_INTERFACE_DEFINED__

/* interface IITURLTrack */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITURLTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1116E3B5-29FD-4393-A7BD-454E5E327900")
    IITURLTrack : public IITTrack
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *url) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR url) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( 
            /* [retval][out] */ VARIANT_BOOL *isPodcast) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DownloadPodcastEpisode( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
            /* [retval][out] */ BSTR *category) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( 
            /* [in] */ BSTR category) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *description) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR description) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( 
            /* [retval][out] */ BSTR *longDescription) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( 
            /* [in] */ BSTR longDescription) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRating( 
            /* [retval][out] */ long *rating) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumRating( 
            /* [in] */ long rating) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRatingKind( 
            /* [retval][out] */ ITRatingKind *ratingKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RatingKind( 
            /* [retval][out] */ ITRatingKind *ratingKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( 
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITURLTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITURLTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITURLTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITURLTrack * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITURLTrack * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITURLTrack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITURLTrack * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITURLTrack * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITURLTrack * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITURLTrack * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITURLTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITURLTrack * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITURLTrack * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITURLTrack * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITURLTrack * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITURLTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IITURLTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( 
            IITURLTrack * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITArtwork **iArtwork);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITURLTrack * This,
            /* [retval][out] */ ITTrackKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( 
            IITURLTrack * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *album);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( 
            IITURLTrack * This,
            /* [in] */ BSTR album);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *artist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( 
            IITURLTrack * This,
            /* [in] */ BSTR artist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
            IITURLTrack * This,
            /* [retval][out] */ long *bitrate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( 
            IITURLTrack * This,
            /* [retval][out] */ long *beatsPerMinute);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( 
            IITURLTrack * This,
            /* [in] */ long beatsPerMinute);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *comment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IITURLTrack * This,
            /* [in] */ BSTR comment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( 
            IITURLTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isCompilation);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( 
            IITURLTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeCompilation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *composer);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( 
            IITURLTrack * This,
            /* [in] */ BSTR composer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( 
            IITURLTrack * This,
            /* [retval][out] */ DATE *dateAdded);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( 
            IITURLTrack * This,
            /* [retval][out] */ long *discCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( 
            IITURLTrack * This,
            /* [in] */ long discCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( 
            IITURLTrack * This,
            /* [retval][out] */ long *discNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( 
            IITURLTrack * This,
            /* [in] */ long discNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITURLTrack * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IITURLTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IITURLTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeEnabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( 
            IITURLTrack * This,
            /* [in] */ BSTR eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( 
            IITURLTrack * This,
            /* [in] */ long finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( 
            IITURLTrack * This,
            /* [retval][out] */ long *finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *genre);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( 
            IITURLTrack * This,
            /* [in] */ BSTR genre);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *grouping);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( 
            IITURLTrack * This,
            /* [in] */ BSTR grouping);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( 
            IITURLTrack * This,
            /* [retval][out] */ DATE *dateModified);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( 
            IITURLTrack * This,
            /* [retval][out] */ long *playedCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( 
            IITURLTrack * This,
            /* [in] */ long playedCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( 
            IITURLTrack * This,
            /* [retval][out] */ DATE *playedDate);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( 
            IITURLTrack * This,
            /* [in] */ DATE playedDate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( 
            IITURLTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( 
            IITURLTrack * This,
            /* [retval][out] */ long *rating);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( 
            IITURLTrack * This,
            /* [in] */ long rating);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( 
            IITURLTrack * This,
            /* [retval][out] */ long *sampleRate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITURLTrack * This,
            /* [retval][out] */ long *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( 
            IITURLTrack * This,
            /* [retval][out] */ long *start);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( 
            IITURLTrack * This,
            /* [in] */ long start);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( 
            IITURLTrack * This,
            /* [retval][out] */ long *trackCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( 
            IITURLTrack * This,
            /* [in] */ long trackCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( 
            IITURLTrack * This,
            /* [retval][out] */ long *trackNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( 
            IITURLTrack * This,
            /* [in] */ long trackNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( 
            IITURLTrack * This,
            /* [retval][out] */ long *volumeAdjustment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( 
            IITURLTrack * This,
            /* [in] */ long volumeAdjustment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( 
            IITURLTrack * This,
            /* [retval][out] */ long *year);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( 
            IITURLTrack * This,
            /* [in] */ long year);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( 
            IITURLTrack * This,
            /* [retval][out] */ IITArtworkCollection **iArtworkCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *url);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IITURLTrack * This,
            /* [in] */ BSTR url);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Podcast )( 
            IITURLTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isPodcast);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeed )( 
            IITURLTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DownloadPodcastEpisode )( 
            IITURLTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *category);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Category )( 
            IITURLTrack * This,
            /* [in] */ BSTR category);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *description);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IITURLTrack * This,
            /* [in] */ BSTR description);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongDescription )( 
            IITURLTrack * This,
            /* [retval][out] */ BSTR *longDescription);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LongDescription )( 
            IITURLTrack * This,
            /* [in] */ BSTR longDescription);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( 
            IITURLTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRating )( 
            IITURLTrack * This,
            /* [retval][out] */ long *rating);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumRating )( 
            IITURLTrack * This,
            /* [in] */ long rating);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRatingKind )( 
            IITURLTrack * This,
            /* [retval][out] */ ITRatingKind *ratingKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RatingKind )( 
            IITURLTrack * This,
            /* [retval][out] */ ITRatingKind *ratingKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( 
            IITURLTrack * This,
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);
        
        END_INTERFACE
    } IITURLTrackVtbl;

    interface IITURLTrack
    {
        CONST_VTBL struct IITURLTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITURLTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITURLTrack_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITURLTrack_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITURLTrack_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITURLTrack_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITURLTrack_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITURLTrack_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITURLTrack_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITURLTrack_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITURLTrack_Play(This)	\
    (This)->lpVtbl -> Play(This)

#define IITURLTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)

#define IITURLTrack_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITURLTrack_get_Playlist(This,iPlaylist)	\
    (This)->lpVtbl -> get_Playlist(This,iPlaylist)

#define IITURLTrack_get_Album(This,album)	\
    (This)->lpVtbl -> get_Album(This,album)

#define IITURLTrack_put_Album(This,album)	\
    (This)->lpVtbl -> put_Album(This,album)

#define IITURLTrack_get_Artist(This,artist)	\
    (This)->lpVtbl -> get_Artist(This,artist)

#define IITURLTrack_put_Artist(This,artist)	\
    (This)->lpVtbl -> put_Artist(This,artist)

#define IITURLTrack_get_BitRate(This,bitrate)	\
    (This)->lpVtbl -> get_BitRate(This,bitrate)

#define IITURLTrack_get_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)

#define IITURLTrack_put_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)

#define IITURLTrack_get_Comment(This,comment)	\
    (This)->lpVtbl -> get_Comment(This,comment)

#define IITURLTrack_put_Comment(This,comment)	\
    (This)->lpVtbl -> put_Comment(This,comment)

#define IITURLTrack_get_Compilation(This,isCompilation)	\
    (This)->lpVtbl -> get_Compilation(This,isCompilation)

#define IITURLTrack_put_Compilation(This,shouldBeCompilation)	\
    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)

#define IITURLTrack_get_Composer(This,composer)	\
    (This)->lpVtbl -> get_Composer(This,composer)

#define IITURLTrack_put_Composer(This,composer)	\
    (This)->lpVtbl -> put_Composer(This,composer)

#define IITURLTrack_get_DateAdded(This,dateAdded)	\
    (This)->lpVtbl -> get_DateAdded(This,dateAdded)

#define IITURLTrack_get_DiscCount(This,discCount)	\
    (This)->lpVtbl -> get_DiscCount(This,discCount)

#define IITURLTrack_put_DiscCount(This,discCount)	\
    (This)->lpVtbl -> put_DiscCount(This,discCount)

#define IITURLTrack_get_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> get_DiscNumber(This,discNumber)

#define IITURLTrack_put_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> put_DiscNumber(This,discNumber)

#define IITURLTrack_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITURLTrack_get_Enabled(This,isEnabled)	\
    (This)->lpVtbl -> get_Enabled(This,isEnabled)

#define IITURLTrack_put_Enabled(This,shouldBeEnabled)	\
    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)

#define IITURLTrack_get_EQ(This,eq)	\
    (This)->lpVtbl -> get_EQ(This,eq)

#define IITURLTrack_put_EQ(This,eq)	\
    (This)->lpVtbl -> put_EQ(This,eq)

#define IITURLTrack_put_Finish(This,finish)	\
    (This)->lpVtbl -> put_Finish(This,finish)

#define IITURLTrack_get_Finish(This,finish)	\
    (This)->lpVtbl -> get_Finish(This,finish)

#define IITURLTrack_get_Genre(This,genre)	\
    (This)->lpVtbl -> get_Genre(This,genre)

#define IITURLTrack_put_Genre(This,genre)	\
    (This)->lpVtbl -> put_Genre(This,genre)

#define IITURLTrack_get_Grouping(This,grouping)	\
    (This)->lpVtbl -> get_Grouping(This,grouping)

#define IITURLTrack_put_Grouping(This,grouping)	\
    (This)->lpVtbl -> put_Grouping(This,grouping)

#define IITURLTrack_get_KindAsString(This,kind)	\
    (This)->lpVtbl -> get_KindAsString(This,kind)

#define IITURLTrack_get_ModificationDate(This,dateModified)	\
    (This)->lpVtbl -> get_ModificationDate(This,dateModified)

#define IITURLTrack_get_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> get_PlayedCount(This,playedCount)

#define IITURLTrack_put_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> put_PlayedCount(This,playedCount)

#define IITURLTrack_get_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> get_PlayedDate(This,playedDate)

#define IITURLTrack_put_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> put_PlayedDate(This,playedDate)

#define IITURLTrack_get_PlayOrderIndex(This,index)	\
    (This)->lpVtbl -> get_PlayOrderIndex(This,index)

#define IITURLTrack_get_Rating(This,rating)	\
    (This)->lpVtbl -> get_Rating(This,rating)

#define IITURLTrack_put_Rating(This,rating)	\
    (This)->lpVtbl -> put_Rating(This,rating)

#define IITURLTrack_get_SampleRate(This,sampleRate)	\
    (This)->lpVtbl -> get_SampleRate(This,sampleRate)

#define IITURLTrack_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITURLTrack_get_Start(This,start)	\
    (This)->lpVtbl -> get_Start(This,start)

#define IITURLTrack_put_Start(This,start)	\
    (This)->lpVtbl -> put_Start(This,start)

#define IITURLTrack_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITURLTrack_get_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> get_TrackCount(This,trackCount)

#define IITURLTrack_put_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> put_TrackCount(This,trackCount)

#define IITURLTrack_get_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)

#define IITURLTrack_put_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)

#define IITURLTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)

#define IITURLTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)

#define IITURLTrack_get_Year(This,year)	\
    (This)->lpVtbl -> get_Year(This,year)

#define IITURLTrack_put_Year(This,year)	\
    (This)->lpVtbl -> put_Year(This,year)

#define IITURLTrack_get_Artwork(This,iArtworkCollection)	\
    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)


#define IITURLTrack_get_URL(This,url)	\
    (This)->lpVtbl -> get_URL(This,url)

#define IITURLTrack_put_URL(This,url)	\
    (This)->lpVtbl -> put_URL(This,url)

#define IITURLTrack_get_Podcast(This,isPodcast)	\
    (This)->lpVtbl -> get_Podcast(This,isPodcast)

#define IITURLTrack_UpdatePodcastFeed(This)	\
    (This)->lpVtbl -> UpdatePodcastFeed(This)

#define IITURLTrack_DownloadPodcastEpisode(This)	\
    (This)->lpVtbl -> DownloadPodcastEpisode(This)

#define IITURLTrack_get_Category(This,category)	\
    (This)->lpVtbl -> get_Category(This,category)

#define IITURLTrack_put_Category(This,category)	\
    (This)->lpVtbl -> put_Category(This,category)

#define IITURLTrack_get_Description(This,description)	\
    (This)->lpVtbl -> get_Description(This,description)

#define IITURLTrack_put_Description(This,description)	\
    (This)->lpVtbl -> put_Description(This,description)

#define IITURLTrack_get_LongDescription(This,longDescription)	\
    (This)->lpVtbl -> get_LongDescription(This,longDescription)

#define IITURLTrack_put_LongDescription(This,longDescription)	\
    (This)->lpVtbl -> put_LongDescription(This,longDescription)

#define IITURLTrack_Reveal(This)	\
    (This)->lpVtbl -> Reveal(This)

#define IITURLTrack_get_AlbumRating(This,rating)	\
    (This)->lpVtbl -> get_AlbumRating(This,rating)

#define IITURLTrack_put_AlbumRating(This,rating)	\
    (This)->lpVtbl -> put_AlbumRating(This,rating)

#define IITURLTrack_get_AlbumRatingKind(This,ratingKind)	\
    (This)->lpVtbl -> get_AlbumRatingKind(This,ratingKind)

#define IITURLTrack_get_RatingKind(This,ratingKind)	\
    (This)->lpVtbl -> get_RatingKind(This,ratingKind)

#define IITURLTrack_get_Playlists(This,iPlaylistCollection)	\
    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_URL_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ BSTR *url);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_URL_Proxy( 
    IITURLTrack * This,
    /* [in] */ BSTR url);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Podcast_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ VARIANT_BOOL *isPodcast);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_UpdatePodcastFeed_Proxy( 
    IITURLTrack * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_DownloadPodcastEpisode_Proxy( 
    IITURLTrack * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Category_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ BSTR *category);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Category_Proxy( 
    IITURLTrack * This,
    /* [in] */ BSTR category);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Description_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ BSTR *description);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Description_Proxy( 
    IITURLTrack * This,
    /* [in] */ BSTR description);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_LongDescription_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ BSTR *longDescription);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_LongDescription_Proxy( 
    IITURLTrack * This,
    /* [in] */ BSTR longDescription);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_Reveal_Proxy( 
    IITURLTrack * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_AlbumRating_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ long *rating);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_AlbumRating_Proxy( 
    IITURLTrack * This,
    /* [in] */ long rating);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_AlbumRatingKind_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ ITRatingKind *ratingKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_RatingKind_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ ITRatingKind *ratingKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Playlists_Proxy( 
    IITURLTrack * This,
    /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);


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



#endif 	/* __IITURLTrack_INTERFACE_DEFINED__ */


#ifndef __IITAudioCDPlaylist_INTERFACE_DEFINED__
#define __IITAudioCDPlaylist_INTERFACE_DEFINED__

/* interface IITAudioCDPlaylist */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITAudioCDPlaylist;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CF496DF3-0FED-4d7d-9BD8-529B6E8A082E")
    IITAudioCDPlaylist : public IITPlaylist
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( 
            /* [retval][out] */ BSTR *artist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( 
            /* [retval][out] */ VARIANT_BOOL *isCompiliation) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( 
            /* [retval][out] */ BSTR *composer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( 
            /* [retval][out] */ long *discCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( 
            /* [retval][out] */ long *discNumber) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( 
            /* [retval][out] */ BSTR *genre) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( 
            /* [retval][out] */ long *year) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITAudioCDPlaylistVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITAudioCDPlaylist * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITAudioCDPlaylist * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITAudioCDPlaylist * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITAudioCDPlaylist * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITAudioCDPlaylist * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITAudioCDPlaylist * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITAudioCDPlaylist * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITAudioCDPlaylist * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITAudioCDPlaylist * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITAudioCDPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayFirstTrack )( 
            IITAudioCDPlaylist * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Print )( 
            IITAudioCDPlaylist * This,
            /* [in] */ VARIANT_BOOL showPrintDialog,
            /* [in] */ ITPlaylistPrintKind printKind,
            /* [in] */ BSTR theme);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Search )( 
            IITAudioCDPlaylist * This,
            /* [in] */ BSTR searchText,
            /* [in] */ ITPlaylistSearchField searchFields,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ ITPlaylistKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ IITSource **iSource);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shuffle )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isShuffle);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Shuffle )( 
            IITAudioCDPlaylist * This,
            /* [in] */ VARIANT_BOOL shouldShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ double *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SongRepeat )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ ITPlaylistRepeatMode *repeatMode);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SongRepeat )( 
            IITAudioCDPlaylist * This,
            /* [in] */ ITPlaylistRepeatMode repeatMode);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tracks )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ BSTR *artist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ VARIANT_BOOL *isCompiliation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ BSTR *composer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *discCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *discNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ BSTR *genre);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( 
            IITAudioCDPlaylist * This,
            /* [retval][out] */ long *year);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( 
            IITAudioCDPlaylist * This);
        
        END_INTERFACE
    } IITAudioCDPlaylistVtbl;

    interface IITAudioCDPlaylist
    {
        CONST_VTBL struct IITAudioCDPlaylistVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITAudioCDPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITAudioCDPlaylist_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITAudioCDPlaylist_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITAudioCDPlaylist_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITAudioCDPlaylist_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITAudioCDPlaylist_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITAudioCDPlaylist_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITAudioCDPlaylist_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITAudioCDPlaylist_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITAudioCDPlaylist_PlayFirstTrack(This)	\
    (This)->lpVtbl -> PlayFirstTrack(This)

#define IITAudioCDPlaylist_Print(This,showPrintDialog,printKind,theme)	\
    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)

#define IITAudioCDPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)

#define IITAudioCDPlaylist_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITAudioCDPlaylist_get_Source(This,iSource)	\
    (This)->lpVtbl -> get_Source(This,iSource)

#define IITAudioCDPlaylist_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITAudioCDPlaylist_get_Shuffle(This,isShuffle)	\
    (This)->lpVtbl -> get_Shuffle(This,isShuffle)

#define IITAudioCDPlaylist_put_Shuffle(This,shouldShuffle)	\
    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)

#define IITAudioCDPlaylist_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITAudioCDPlaylist_get_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)

#define IITAudioCDPlaylist_put_SongRepeat(This,repeatMode)	\
    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)

#define IITAudioCDPlaylist_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITAudioCDPlaylist_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITAudioCDPlaylist_get_Tracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)


#define IITAudioCDPlaylist_get_Artist(This,artist)	\
    (This)->lpVtbl -> get_Artist(This,artist)

#define IITAudioCDPlaylist_get_Compilation(This,isCompiliation)	\
    (This)->lpVtbl -> get_Compilation(This,isCompiliation)

#define IITAudioCDPlaylist_get_Composer(This,composer)	\
    (This)->lpVtbl -> get_Composer(This,composer)

#define IITAudioCDPlaylist_get_DiscCount(This,discCount)	\
    (This)->lpVtbl -> get_DiscCount(This,discCount)

#define IITAudioCDPlaylist_get_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> get_DiscNumber(This,discNumber)

#define IITAudioCDPlaylist_get_Genre(This,genre)	\
    (This)->lpVtbl -> get_Genre(This,genre)

#define IITAudioCDPlaylist_get_Year(This,year)	\
    (This)->lpVtbl -> get_Year(This,year)

#define IITAudioCDPlaylist_Reveal(This)	\
    (This)->lpVtbl -> Reveal(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Artist_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ BSTR *artist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Compilation_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ VARIANT_BOOL *isCompiliation);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Composer_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ BSTR *composer);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscCount_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ long *discCount);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscNumber_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ long *discNumber);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Genre_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ BSTR *genre);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Year_Proxy( 
    IITAudioCDPlaylist * This,
    /* [retval][out] */ long *year);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_Reveal_Proxy( 
    IITAudioCDPlaylist * This);


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



#endif 	/* __IITAudioCDPlaylist_INTERFACE_DEFINED__ */


#ifndef __IITPlaylistCollection_INTERFACE_DEFINED__
#define __IITPlaylistCollection_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IITPlaylistCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FF194254-909D-4437-9C50-3AAC2AE6305C")
    IITPlaylistCollection : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long index,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
            /* [in] */ BSTR name,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **iEnumerator) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPersistentID( 
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITPlaylistCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITPlaylistCollection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITPlaylistCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITPlaylistCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITPlaylistCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITPlaylistCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITPlaylistCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITPlaylistCollection * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IITPlaylistCollection * This,
            /* [retval][out] */ long *count);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IITPlaylistCollection * This,
            /* [in] */ long index,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByName )( 
            IITPlaylistCollection * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IITPlaylistCollection * This,
            /* [retval][out] */ IUnknown **iEnumerator);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemByPersistentID )( 
            IITPlaylistCollection * This,
            /* [in] */ long highID,
            /* [in] */ long lowID,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        END_INTERFACE
    } IITPlaylistCollectionVtbl;

    interface IITPlaylistCollection
    {
        CONST_VTBL struct IITPlaylistCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITPlaylistCollection_get_Count(This,count)	\
    (This)->lpVtbl -> get_Count(This,count)

#define IITPlaylistCollection_get_Item(This,index,iPlaylist)	\
    (This)->lpVtbl -> get_Item(This,index,iPlaylist)

#define IITPlaylistCollection_get_ItemByName(This,name,iPlaylist)	\
    (This)->lpVtbl -> get_ItemByName(This,name,iPlaylist)

#define IITPlaylistCollection_get__NewEnum(This,iEnumerator)	\
    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)

#define IITPlaylistCollection_get_ItemByPersistentID(This,highID,lowID,iPlaylist)	\
    (This)->lpVtbl -> get_ItemByPersistentID(This,highID,lowID,iPlaylist)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Count_Proxy( 
    IITPlaylistCollection * This,
    /* [retval][out] */ long *count);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Item_Proxy( 
    IITPlaylistCollection * This,
    /* [in] */ long index,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_ItemByName_Proxy( 
    IITPlaylistCollection * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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


/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get__NewEnum_Proxy( 
    IITPlaylistCollection * This,
    /* [retval][out] */ IUnknown **iEnumerator);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_ItemByPersistentID_Proxy( 
    IITPlaylistCollection * This,
    /* [in] */ long highID,
    /* [in] */ long lowID,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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



#endif 	/* __IITPlaylistCollection_INTERFACE_DEFINED__ */


#ifndef __IITIPodSource_INTERFACE_DEFINED__
#define __IITIPodSource_INTERFACE_DEFINED__

/* interface IITIPodSource */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITIPodSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CF4D8ACE-1720-4fb9-B0AE-9877249E89B0")
    IITIPodSource : public IITSource
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EjectIPod( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoftwareVersion( 
            /* [retval][out] */ BSTR *softwareVersion) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITIPodSourceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITIPodSource * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITIPodSource * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITIPodSource * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITIPodSource * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITIPodSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITIPodSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITIPodSource * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITIPodSource * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITIPodSource * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITIPodSource * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITIPodSource * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITIPodSource * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITIPodSource * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITIPodSource * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITIPodSource * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITIPodSource * This,
            /* [retval][out] */ ITSourceKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capacity )( 
            IITIPodSource * This,
            /* [retval][out] */ double *capacity);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSpace )( 
            IITIPodSource * This,
            /* [retval][out] */ double *freespace);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( 
            IITIPodSource * This,
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateIPod )( 
            IITIPodSource * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EjectIPod )( 
            IITIPodSource * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoftwareVersion )( 
            IITIPodSource * This,
            /* [retval][out] */ BSTR *softwareVersion);
        
        END_INTERFACE
    } IITIPodSourceVtbl;

    interface IITIPodSource
    {
        CONST_VTBL struct IITIPodSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITIPodSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITIPodSource_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITIPodSource_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITIPodSource_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITIPodSource_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITIPodSource_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITIPodSource_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITIPodSource_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITIPodSource_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITIPodSource_get_Capacity(This,capacity)	\
    (This)->lpVtbl -> get_Capacity(This,capacity)

#define IITIPodSource_get_FreeSpace(This,freespace)	\
    (This)->lpVtbl -> get_FreeSpace(This,freespace)

#define IITIPodSource_get_Playlists(This,iPlaylistCollection)	\
    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)


#define IITIPodSource_UpdateIPod(This)	\
    (This)->lpVtbl -> UpdateIPod(This)

#define IITIPodSource_EjectIPod(This)	\
    (This)->lpVtbl -> EjectIPod(This)

#define IITIPodSource_get_SoftwareVersion(This,softwareVersion)	\
    (This)->lpVtbl -> get_SoftwareVersion(This,softwareVersion)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_UpdateIPod_Proxy( 
    IITIPodSource * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_EjectIPod_Proxy( 
    IITIPodSource * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITIPodSource_get_SoftwareVersion_Proxy( 
    IITIPodSource * This,
    /* [retval][out] */ BSTR *softwareVersion);


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



#endif 	/* __IITIPodSource_INTERFACE_DEFINED__ */


#ifndef __IITFileOrCDTrack_INTERFACE_DEFINED__
#define __IITFileOrCDTrack_INTERFACE_DEFINED__

/* interface IITFileOrCDTrack */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITFileOrCDTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00D7FE99-7868-4cc7-AD9E-ACFD70D09566")
    IITFileOrCDTrack : public IITTrack
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ BSTR *location) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateInfoFromFile( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( 
            /* [retval][out] */ VARIANT_BOOL *isPodcast) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RememberBookmark( 
            /* [retval][out] */ VARIANT_BOOL *rememberBookmark) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RememberBookmark( 
            /* [in] */ VARIANT_BOOL shouldRememberBookmark) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExcludeFromShuffle( 
            /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExcludeFromShuffle( 
            /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Lyrics( 
            /* [retval][out] */ BSTR *lyrics) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Lyrics( 
            /* [in] */ BSTR lyrics) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
            /* [retval][out] */ BSTR *category) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( 
            /* [in] */ BSTR category) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *description) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR description) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( 
            /* [retval][out] */ BSTR *longDescription) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( 
            /* [in] */ BSTR longDescription) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BookmarkTime( 
            /* [retval][out] */ long *bookmarkTime) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BookmarkTime( 
            /* [in] */ long bookmarkTime) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VideoKind( 
            /* [retval][out] */ ITVideoKind *videoKind) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VideoKind( 
            /* [in] */ ITVideoKind videoKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SkippedCount( 
            /* [retval][out] */ long *skippedCount) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SkippedCount( 
            /* [in] */ long skippedCount) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SkippedDate( 
            /* [retval][out] */ DATE *skippedDate) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SkippedDate( 
            /* [in] */ DATE skippedDate) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PartOfGaplessAlbum( 
            /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PartOfGaplessAlbum( 
            /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumArtist( 
            /* [retval][out] */ BSTR *albumArtist) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumArtist( 
            /* [in] */ BSTR albumArtist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Show( 
            /* [retval][out] */ BSTR *showName) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Show( 
            /* [in] */ BSTR showName) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SeasonNumber( 
            /* [retval][out] */ long *seasonNumber) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SeasonNumber( 
            /* [in] */ long seasonNumber) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EpisodeID( 
            /* [retval][out] */ BSTR *episodeID) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EpisodeID( 
            /* [in] */ BSTR episodeID) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EpisodeNumber( 
            /* [retval][out] */ long *episodeNumber) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EpisodeNumber( 
            /* [in] */ long episodeNumber) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size64High( 
            /* [retval][out] */ long *sizeHigh) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size64Low( 
            /* [retval][out] */ long *sizeLow) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Unplayed( 
            /* [retval][out] */ VARIANT_BOOL *isUnplayed) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Unplayed( 
            /* [in] */ VARIANT_BOOL shouldBeUnplayed) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortAlbum( 
            /* [retval][out] */ BSTR *album) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortAlbum( 
            /* [in] */ BSTR album) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortAlbumArtist( 
            /* [retval][out] */ BSTR *albumArtist) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortAlbumArtist( 
            /* [in] */ BSTR albumArtist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortArtist( 
            /* [retval][out] */ BSTR *artist) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortArtist( 
            /* [in] */ BSTR artist) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortComposer( 
            /* [retval][out] */ BSTR *composer) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortComposer( 
            /* [in] */ BSTR composer) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortName( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortName( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SortShow( 
            /* [retval][out] */ BSTR *showName) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SortShow( 
            /* [in] */ BSTR showName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reveal( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRating( 
            /* [retval][out] */ long *rating) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlbumRating( 
            /* [in] */ long rating) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlbumRatingKind( 
            /* [retval][out] */ ITRatingKind *ratingKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RatingKind( 
            /* [retval][out] */ ITRatingKind *ratingKind) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( 
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Location( 
            /* [in] */ BSTR location) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ReleaseDate( 
            /* [retval][out] */ DATE *releaseDate) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITFileOrCDTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITFileOrCDTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITFileOrCDTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITFileOrCDTrack * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITFileOrCDTrack * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITFileOrCDTrack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITFileOrCDTrack * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITFileOrCDTrack * 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] */ HRESULT ( STDMETHODCALLTYPE *GetITObjectIDs )( 
            IITFileOrCDTrack * This,
            /* [out] */ long *sourceID,
            /* [out] */ long *playlistID,
            /* [out] */ long *trackID,
            /* [out] */ long *databaseID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceID )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *sourceID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaylistID )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *playlistID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackID )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *trackID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackDatabaseID )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *databaseID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IITFileOrCDTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IITFileOrCDTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddArtworkFromFile )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR filePath,
            /* [retval][out] */ IITArtwork **iArtwork);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ ITTrackKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Album )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *album);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Album )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR album);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artist )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *artist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Artist )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR artist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *bitrate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BPM )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *beatsPerMinute);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BPM )( 
            IITFileOrCDTrack * This,
            /* [in] */ long beatsPerMinute);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *comment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR comment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compilation )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isCompilation);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compilation )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeCompilation);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composer )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *composer);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Composer )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR composer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateAdded )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ DATE *dateAdded);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscCount )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *discCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscCount )( 
            IITFileOrCDTrack * This,
            /* [in] */ long discCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscNumber )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *discNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiscNumber )( 
            IITFileOrCDTrack * This,
            /* [in] */ long discNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *duration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isEnabled);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeEnabled);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EQ )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EQ )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR eq);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Finish )( 
            IITFileOrCDTrack * This,
            /* [in] */ long finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Finish )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *finish);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Genre )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *genre);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Genre )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR genre);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *grouping);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR grouping);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KindAsString )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationDate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ DATE *dateModified);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedCount )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *playedCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedCount )( 
            IITFileOrCDTrack * This,
            /* [in] */ long playedCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayedDate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ DATE *playedDate);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayedDate )( 
            IITFileOrCDTrack * This,
            /* [in] */ DATE playedDate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayOrderIndex )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *index);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rating )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *rating);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rating )( 
            IITFileOrCDTrack * This,
            /* [in] */ long rating);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *sampleRate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *size);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *start);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Start )( 
            IITFileOrCDTrack * This,
            /* [in] */ long start);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *time);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCount )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *trackCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackCount )( 
            IITFileOrCDTrack * This,
            /* [in] */ long trackCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackNumber )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *trackNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackNumber )( 
            IITFileOrCDTrack * This,
            /* [in] */ long trackNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumeAdjustment )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *volumeAdjustment);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VolumeAdjustment )( 
            IITFileOrCDTrack * This,
            /* [in] */ long volumeAdjustment);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Year )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *year);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Year )( 
            IITFileOrCDTrack * This,
            /* [in] */ long year);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Artwork )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ IITArtworkCollection **iArtworkCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *location);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateInfoFromFile )( 
            IITFileOrCDTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Podcast )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isPodcast);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdatePodcastFeed )( 
            IITFileOrCDTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RememberBookmark )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *rememberBookmark);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RememberBookmark )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldRememberBookmark);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExcludeFromShuffle )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExcludeFromShuffle )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lyrics )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *lyrics);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Lyrics )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR lyrics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *category);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Category )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR category);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *description);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR description);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongDescription )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *longDescription);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LongDescription )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR longDescription);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookmarkTime )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *bookmarkTime);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BookmarkTime )( 
            IITFileOrCDTrack * This,
            /* [in] */ long bookmarkTime);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoKind )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ ITVideoKind *videoKind);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoKind )( 
            IITFileOrCDTrack * This,
            /* [in] */ ITVideoKind videoKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SkippedCount )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *skippedCount);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SkippedCount )( 
            IITFileOrCDTrack * This,
            /* [in] */ long skippedCount);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SkippedDate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ DATE *skippedDate);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SkippedDate )( 
            IITFileOrCDTrack * This,
            /* [in] */ DATE skippedDate);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfGaplessAlbum )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PartOfGaplessAlbum )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumArtist )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *albumArtist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumArtist )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR albumArtist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Show )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *showName);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Show )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR showName);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SeasonNumber )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *seasonNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SeasonNumber )( 
            IITFileOrCDTrack * This,
            /* [in] */ long seasonNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EpisodeID )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *episodeID);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EpisodeID )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR episodeID);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EpisodeNumber )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *episodeNumber);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EpisodeNumber )( 
            IITFileOrCDTrack * This,
            /* [in] */ long episodeNumber);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size64High )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *sizeHigh);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size64Low )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *sizeLow);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unplayed )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ VARIANT_BOOL *isUnplayed);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Unplayed )( 
            IITFileOrCDTrack * This,
            /* [in] */ VARIANT_BOOL shouldBeUnplayed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortAlbum )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *album);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortAlbum )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR album);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortAlbumArtist )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *albumArtist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortAlbumArtist )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR albumArtist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortArtist )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *artist);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortArtist )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR artist);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortComposer )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *composer);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortComposer )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR composer);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortName )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortName )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortShow )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ BSTR *showName);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortShow )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR showName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reveal )( 
            IITFileOrCDTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRating )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ long *rating);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlbumRating )( 
            IITFileOrCDTrack * This,
            /* [in] */ long rating);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlbumRatingKind )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ ITRatingKind *ratingKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RatingKind )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ ITRatingKind *ratingKind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlists )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Location )( 
            IITFileOrCDTrack * This,
            /* [in] */ BSTR location);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseDate )( 
            IITFileOrCDTrack * This,
            /* [retval][out] */ DATE *releaseDate);
        
        END_INTERFACE
    } IITFileOrCDTrackVtbl;

    interface IITFileOrCDTrack
    {
        CONST_VTBL struct IITFileOrCDTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITFileOrCDTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)

#define IITFileOrCDTrack_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITFileOrCDTrack_put_Name(This,name)	\
    (This)->lpVtbl -> put_Name(This,name)

#define IITFileOrCDTrack_get_Index(This,index)	\
    (This)->lpVtbl -> get_Index(This,index)

#define IITFileOrCDTrack_get_SourceID(This,sourceID)	\
    (This)->lpVtbl -> get_SourceID(This,sourceID)

#define IITFileOrCDTrack_get_PlaylistID(This,playlistID)	\
    (This)->lpVtbl -> get_PlaylistID(This,playlistID)

#define IITFileOrCDTrack_get_TrackID(This,trackID)	\
    (This)->lpVtbl -> get_TrackID(This,trackID)

#define IITFileOrCDTrack_get_TrackDatabaseID(This,databaseID)	\
    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)


#define IITFileOrCDTrack_Delete(This)	\
    (This)->lpVtbl -> Delete(This)

#define IITFileOrCDTrack_Play(This)	\
    (This)->lpVtbl -> Play(This)

#define IITFileOrCDTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)

#define IITFileOrCDTrack_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITFileOrCDTrack_get_Playlist(This,iPlaylist)	\
    (This)->lpVtbl -> get_Playlist(This,iPlaylist)

#define IITFileOrCDTrack_get_Album(This,album)	\
    (This)->lpVtbl -> get_Album(This,album)

#define IITFileOrCDTrack_put_Album(This,album)	\
    (This)->lpVtbl -> put_Album(This,album)

#define IITFileOrCDTrack_get_Artist(This,artist)	\
    (This)->lpVtbl -> get_Artist(This,artist)

#define IITFileOrCDTrack_put_Artist(This,artist)	\
    (This)->lpVtbl -> put_Artist(This,artist)

#define IITFileOrCDTrack_get_BitRate(This,bitrate)	\
    (This)->lpVtbl -> get_BitRate(This,bitrate)

#define IITFileOrCDTrack_get_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)

#define IITFileOrCDTrack_put_BPM(This,beatsPerMinute)	\
    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)

#define IITFileOrCDTrack_get_Comment(This,comment)	\
    (This)->lpVtbl -> get_Comment(This,comment)

#define IITFileOrCDTrack_put_Comment(This,comment)	\
    (This)->lpVtbl -> put_Comment(This,comment)

#define IITFileOrCDTrack_get_Compilation(This,isCompilation)	\
    (This)->lpVtbl -> get_Compilation(This,isCompilation)

#define IITFileOrCDTrack_put_Compilation(This,shouldBeCompilation)	\
    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)

#define IITFileOrCDTrack_get_Composer(This,composer)	\
    (This)->lpVtbl -> get_Composer(This,composer)

#define IITFileOrCDTrack_put_Composer(This,composer)	\
    (This)->lpVtbl -> put_Composer(This,composer)

#define IITFileOrCDTrack_get_DateAdded(This,dateAdded)	\
    (This)->lpVtbl -> get_DateAdded(This,dateAdded)

#define IITFileOrCDTrack_get_DiscCount(This,discCount)	\
    (This)->lpVtbl -> get_DiscCount(This,discCount)

#define IITFileOrCDTrack_put_DiscCount(This,discCount)	\
    (This)->lpVtbl -> put_DiscCount(This,discCount)

#define IITFileOrCDTrack_get_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> get_DiscNumber(This,discNumber)

#define IITFileOrCDTrack_put_DiscNumber(This,discNumber)	\
    (This)->lpVtbl -> put_DiscNumber(This,discNumber)

#define IITFileOrCDTrack_get_Duration(This,duration)	\
    (This)->lpVtbl -> get_Duration(This,duration)

#define IITFileOrCDTrack_get_Enabled(This,isEnabled)	\
    (This)->lpVtbl -> get_Enabled(This,isEnabled)

#define IITFileOrCDTrack_put_Enabled(This,shouldBeEnabled)	\
    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)

#define IITFileOrCDTrack_get_EQ(This,eq)	\
    (This)->lpVtbl -> get_EQ(This,eq)

#define IITFileOrCDTrack_put_EQ(This,eq)	\
    (This)->lpVtbl -> put_EQ(This,eq)

#define IITFileOrCDTrack_put_Finish(This,finish)	\
    (This)->lpVtbl -> put_Finish(This,finish)

#define IITFileOrCDTrack_get_Finish(This,finish)	\
    (This)->lpVtbl -> get_Finish(This,finish)

#define IITFileOrCDTrack_get_Genre(This,genre)	\
    (This)->lpVtbl -> get_Genre(This,genre)

#define IITFileOrCDTrack_put_Genre(This,genre)	\
    (This)->lpVtbl -> put_Genre(This,genre)

#define IITFileOrCDTrack_get_Grouping(This,grouping)	\
    (This)->lpVtbl -> get_Grouping(This,grouping)

#define IITFileOrCDTrack_put_Grouping(This,grouping)	\
    (This)->lpVtbl -> put_Grouping(This,grouping)

#define IITFileOrCDTrack_get_KindAsString(This,kind)	\
    (This)->lpVtbl -> get_KindAsString(This,kind)

#define IITFileOrCDTrack_get_ModificationDate(This,dateModified)	\
    (This)->lpVtbl -> get_ModificationDate(This,dateModified)

#define IITFileOrCDTrack_get_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> get_PlayedCount(This,playedCount)

#define IITFileOrCDTrack_put_PlayedCount(This,playedCount)	\
    (This)->lpVtbl -> put_PlayedCount(This,playedCount)

#define IITFileOrCDTrack_get_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> get_PlayedDate(This,playedDate)

#define IITFileOrCDTrack_put_PlayedDate(This,playedDate)	\
    (This)->lpVtbl -> put_PlayedDate(This,playedDate)

#define IITFileOrCDTrack_get_PlayOrderIndex(This,index)	\
    (This)->lpVtbl -> get_PlayOrderIndex(This,index)

#define IITFileOrCDTrack_get_Rating(This,rating)	\
    (This)->lpVtbl -> get_Rating(This,rating)

#define IITFileOrCDTrack_put_Rating(This,rating)	\
    (This)->lpVtbl -> put_Rating(This,rating)

#define IITFileOrCDTrack_get_SampleRate(This,sampleRate)	\
    (This)->lpVtbl -> get_SampleRate(This,sampleRate)

#define IITFileOrCDTrack_get_Size(This,size)	\
    (This)->lpVtbl -> get_Size(This,size)

#define IITFileOrCDTrack_get_Start(This,start)	\
    (This)->lpVtbl -> get_Start(This,start)

#define IITFileOrCDTrack_put_Start(This,start)	\
    (This)->lpVtbl -> put_Start(This,start)

#define IITFileOrCDTrack_get_Time(This,time)	\
    (This)->lpVtbl -> get_Time(This,time)

#define IITFileOrCDTrack_get_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> get_TrackCount(This,trackCount)

#define IITFileOrCDTrack_put_TrackCount(This,trackCount)	\
    (This)->lpVtbl -> put_TrackCount(This,trackCount)

#define IITFileOrCDTrack_get_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)

#define IITFileOrCDTrack_put_TrackNumber(This,trackNumber)	\
    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)

#define IITFileOrCDTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)

#define IITFileOrCDTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)

#define IITFileOrCDTrack_get_Year(This,year)	\
    (This)->lpVtbl -> get_Year(This,year)

#define IITFileOrCDTrack_put_Year(This,year)	\
    (This)->lpVtbl -> put_Year(This,year)

#define IITFileOrCDTrack_get_Artwork(This,iArtworkCollection)	\
    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)


#define IITFileOrCDTrack_get_Location(This,location)	\
    (This)->lpVtbl -> get_Location(This,location)

#define IITFileOrCDTrack_UpdateInfoFromFile(This)	\
    (This)->lpVtbl -> UpdateInfoFromFile(This)

#define IITFileOrCDTrack_get_Podcast(This,isPodcast)	\
    (This)->lpVtbl -> get_Podcast(This,isPodcast)

#define IITFileOrCDTrack_UpdatePodcastFeed(This)	\
    (This)->lpVtbl -> UpdatePodcastFeed(This)

#define IITFileOrCDTrack_get_RememberBookmark(This,rememberBookmark)	\
    (This)->lpVtbl -> get_RememberBookmark(This,rememberBookmark)

#define IITFileOrCDTrack_put_RememberBookmark(This,shouldRememberBookmark)	\
    (This)->lpVtbl -> put_RememberBookmark(This,shouldRememberBookmark)

#define IITFileOrCDTrack_get_ExcludeFromShuffle(This,excludeFromShuffle)	\
    (This)->lpVtbl -> get_ExcludeFromShuffle(This,excludeFromShuffle)

#define IITFileOrCDTrack_put_ExcludeFromShuffle(This,shouldExcludeFromShuffle)	\
    (This)->lpVtbl -> put_ExcludeFromShuffle(This,shouldExcludeFromShuffle)

#define IITFileOrCDTrack_get_Lyrics(This,lyrics)	\
    (This)->lpVtbl -> get_Lyrics(This,lyrics)

#define IITFileOrCDTrack_put_Lyrics(This,lyrics)	\
    (This)->lpVtbl -> put_Lyrics(This,lyrics)

#define IITFileOrCDTrack_get_Category(This,category)	\
    (This)->lpVtbl -> get_Category(This,category)

#define IITFileOrCDTrack_put_Category(This,category)	\
    (This)->lpVtbl -> put_Category(This,category)

#define IITFileOrCDTrack_get_Description(This,description)	\
    (This)->lpVtbl -> get_Description(This,description)

#define IITFileOrCDTrack_put_Description(This,description)	\
    (This)->lpVtbl -> put_Description(This,description)

#define IITFileOrCDTrack_get_LongDescription(This,longDescription)	\
    (This)->lpVtbl -> get_LongDescription(This,longDescription)

#define IITFileOrCDTrack_put_LongDescription(This,longDescription)	\
    (This)->lpVtbl -> put_LongDescription(This,longDescription)

#define IITFileOrCDTrack_get_BookmarkTime(This,bookmarkTime)	\
    (This)->lpVtbl -> get_BookmarkTime(This,bookmarkTime)

#define IITFileOrCDTrack_put_BookmarkTime(This,bookmarkTime)	\
    (This)->lpVtbl -> put_BookmarkTime(This,bookmarkTime)

#define IITFileOrCDTrack_get_VideoKind(This,videoKind)	\
    (This)->lpVtbl -> get_VideoKind(This,videoKind)

#define IITFileOrCDTrack_put_VideoKind(This,videoKind)	\
    (This)->lpVtbl -> put_VideoKind(This,videoKind)

#define IITFileOrCDTrack_get_SkippedCount(This,skippedCount)	\
    (This)->lpVtbl -> get_SkippedCount(This,skippedCount)

#define IITFileOrCDTrack_put_SkippedCount(This,skippedCount)	\
    (This)->lpVtbl -> put_SkippedCount(This,skippedCount)

#define IITFileOrCDTrack_get_SkippedDate(This,skippedDate)	\
    (This)->lpVtbl -> get_SkippedDate(This,skippedDate)

#define IITFileOrCDTrack_put_SkippedDate(This,skippedDate)	\
    (This)->lpVtbl -> put_SkippedDate(This,skippedDate)

#define IITFileOrCDTrack_get_PartOfGaplessAlbum(This,partOfGaplessAlbum)	\
    (This)->lpVtbl -> get_PartOfGaplessAlbum(This,partOfGaplessAlbum)

#define IITFileOrCDTrack_put_PartOfGaplessAlbum(This,shouldBePartOfGaplessAlbum)	\
    (This)->lpVtbl -> put_PartOfGaplessAlbum(This,shouldBePartOfGaplessAlbum)

#define IITFileOrCDTrack_get_AlbumArtist(This,albumArtist)	\
    (This)->lpVtbl -> get_AlbumArtist(This,albumArtist)

#define IITFileOrCDTrack_put_AlbumArtist(This,albumArtist)	\
    (This)->lpVtbl -> put_AlbumArtist(This,albumArtist)

#define IITFileOrCDTrack_get_Show(This,showName)	\
    (This)->lpVtbl -> get_Show(This,showName)

#define IITFileOrCDTrack_put_Show(This,showName)	\
    (This)->lpVtbl -> put_Show(This,showName)

#define IITFileOrCDTrack_get_SeasonNumber(This,seasonNumber)	\
    (This)->lpVtbl -> get_SeasonNumber(This,seasonNumber)

#define IITFileOrCDTrack_put_SeasonNumber(This,seasonNumber)	\
    (This)->lpVtbl -> put_SeasonNumber(This,seasonNumber)

#define IITFileOrCDTrack_get_EpisodeID(This,episodeID)	\
    (This)->lpVtbl -> get_EpisodeID(This,episodeID)

#define IITFileOrCDTrack_put_EpisodeID(This,episodeID)	\
    (This)->lpVtbl -> put_EpisodeID(This,episodeID)

#define IITFileOrCDTrack_get_EpisodeNumber(This,episodeNumber)	\
    (This)->lpVtbl -> get_EpisodeNumber(This,episodeNumber)

#define IITFileOrCDTrack_put_EpisodeNumber(This,episodeNumber)	\
    (This)->lpVtbl -> put_EpisodeNumber(This,episodeNumber)

#define IITFileOrCDTrack_get_Size64High(This,sizeHigh)	\
    (This)->lpVtbl -> get_Size64High(This,sizeHigh)

#define IITFileOrCDTrack_get_Size64Low(This,sizeLow)	\
    (This)->lpVtbl -> get_Size64Low(This,sizeLow)

#define IITFileOrCDTrack_get_Unplayed(This,isUnplayed)	\
    (This)->lpVtbl -> get_Unplayed(This,isUnplayed)

#define IITFileOrCDTrack_put_Unplayed(This,shouldBeUnplayed)	\
    (This)->lpVtbl -> put_Unplayed(This,shouldBeUnplayed)

#define IITFileOrCDTrack_get_SortAlbum(This,album)	\
    (This)->lpVtbl -> get_SortAlbum(This,album)

#define IITFileOrCDTrack_put_SortAlbum(This,album)	\
    (This)->lpVtbl -> put_SortAlbum(This,album)

#define IITFileOrCDTrack_get_SortAlbumArtist(This,albumArtist)	\
    (This)->lpVtbl -> get_SortAlbumArtist(This,albumArtist)

#define IITFileOrCDTrack_put_SortAlbumArtist(This,albumArtist)	\
    (This)->lpVtbl -> put_SortAlbumArtist(This,albumArtist)

#define IITFileOrCDTrack_get_SortArtist(This,artist)	\
    (This)->lpVtbl -> get_SortArtist(This,artist)

#define IITFileOrCDTrack_put_SortArtist(This,artist)	\
    (This)->lpVtbl -> put_SortArtist(This,artist)

#define IITFileOrCDTrack_get_SortComposer(This,composer)	\
    (This)->lpVtbl -> get_SortComposer(This,composer)

#define IITFileOrCDTrack_put_SortComposer(This,composer)	\
    (This)->lpVtbl -> put_SortComposer(This,composer)

#define IITFileOrCDTrack_get_SortName(This,name)	\
    (This)->lpVtbl -> get_SortName(This,name)

#define IITFileOrCDTrack_put_SortName(This,name)	\
    (This)->lpVtbl -> put_SortName(This,name)

#define IITFileOrCDTrack_get_SortShow(This,showName)	\
    (This)->lpVtbl -> get_SortShow(This,showName)

#define IITFileOrCDTrack_put_SortShow(This,showName)	\
    (This)->lpVtbl -> put_SortShow(This,showName)

#define IITFileOrCDTrack_Reveal(This)	\
    (This)->lpVtbl -> Reveal(This)

#define IITFileOrCDTrack_get_AlbumRating(This,rating)	\
    (This)->lpVtbl -> get_AlbumRating(This,rating)

#define IITFileOrCDTrack_put_AlbumRating(This,rating)	\
    (This)->lpVtbl -> put_AlbumRating(This,rating)

#define IITFileOrCDTrack_get_AlbumRatingKind(This,ratingKind)	\
    (This)->lpVtbl -> get_AlbumRatingKind(This,ratingKind)

#define IITFileOrCDTrack_get_RatingKind(This,ratingKind)	\
    (This)->lpVtbl -> get_RatingKind(This,ratingKind)

#define IITFileOrCDTrack_get_Playlists(This,iPlaylistCollection)	\
    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)

#define IITFileOrCDTrack_put_Location(This,location)	\
    (This)->lpVtbl -> put_Location(This,location)

#define IITFileOrCDTrack_get_ReleaseDate(This,releaseDate)	\
    (This)->lpVtbl -> get_ReleaseDate(This,releaseDate)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Location_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *location);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdateInfoFromFile_Proxy( 
    IITFileOrCDTrack * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Podcast_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ VARIANT_BOOL *isPodcast);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdatePodcastFeed_Proxy( 
    IITFileOrCDTrack * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_RememberBookmark_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ VARIANT_BOOL *rememberBookmark);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_RememberBookmark_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ VARIANT_BOOL shouldRememberBookmark);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_ExcludeFromShuffle_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ VARIANT_BOOL *excludeFromShuffle);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_ExcludeFromShuffle_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Lyrics_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *lyrics);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Lyrics_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR lyrics);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Category_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *category);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Category_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR category);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Description_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *description);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Description_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR description);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_LongDescription_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *longDescription);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_LongDescription_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR longDescription);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_BookmarkTime_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *bookmarkTime);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_BookmarkTime_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ long bookmarkTime);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_VideoKind_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ ITVideoKind *videoKind);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_VideoKind_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ ITVideoKind videoKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SkippedCount_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *skippedCount);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SkippedCount_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ long skippedCount);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SkippedDate_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ DATE *skippedDate);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SkippedDate_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ DATE skippedDate);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_PartOfGaplessAlbum_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ VARIANT_BOOL *partOfGaplessAlbum);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_PartOfGaplessAlbum_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ VARIANT_BOOL shouldBePartOfGaplessAlbum);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *albumArtist);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_AlbumArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR albumArtist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Show_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *showName);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Show_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR showName);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SeasonNumber_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *seasonNumber);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SeasonNumber_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ long seasonNumber);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_EpisodeID_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *episodeID);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_EpisodeID_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR episodeID);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_EpisodeNumber_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *episodeNumber);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_EpisodeNumber_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ long episodeNumber);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Size64High_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *sizeHigh);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Size64Low_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *sizeLow);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Unplayed_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ VARIANT_BOOL *isUnplayed);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Unplayed_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ VARIANT_BOOL shouldBeUnplayed);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortAlbum_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *album);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortAlbum_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR album);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortAlbumArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *albumArtist);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortAlbumArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR albumArtist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *artist);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortArtist_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR artist);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortComposer_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *composer);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortComposer_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR composer);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortName_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *name);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortName_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR name);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_SortShow_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ BSTR *showName);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_SortShow_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR showName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_Reveal_Proxy( 
    IITFileOrCDTrack * This);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumRating_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ long *rating);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_AlbumRating_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ long rating);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_AlbumRatingKind_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ ITRatingKind *ratingKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_RatingKind_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ ITRatingKind *ratingKind);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Playlists_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ IITPlaylistCollection **iPlaylistCollection);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Location_Proxy( 
    IITFileOrCDTrack * This,
    /* [in] */ BSTR location);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_ReleaseDate_Proxy( 
    IITFileOrCDTrack * This,
    /* [retval][out] */ DATE *releaseDate);


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



#endif 	/* __IITFileOrCDTrack_INTERFACE_DEFINED__ */


#ifndef __IITPlaylistWindow_INTERFACE_DEFINED__
#define __IITPlaylistWindow_INTERFACE_DEFINED__

/* interface IITPlaylistWindow */
/* [hidden][unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IITPlaylistWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("349CBB45-2E5A-4822-8E4A-A75555A186F7")
    IITPlaylistWindow : public IITWindow
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
            /* [retval][out] */ IITTrackCollection **iTrackCollection) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( 
            /* [retval][out] */ IITPlaylist **iPlaylist) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IITPlaylistWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IITPlaylistWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IITPlaylistWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IITPlaylistWindow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IITPlaylistWindow * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IITPlaylistWindow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IITPlaylistWindow * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IITPlaylistWindow * 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] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ ITWindowKind *kind);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isVisible);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IITPlaylistWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeVisible);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isResizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimized )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMinimized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Minimized )( 
            IITPlaylistWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMinimized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximizable )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximizable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximized )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isMaximized);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Maximized )( 
            IITPlaylistWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeMaximized);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomable )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomable);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Zoomed )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ VARIANT_BOOL *isZoomed);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Zoomed )( 
            IITPlaylistWindow * This,
            /* [in] */ VARIANT_BOOL shouldBeZoomed);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *top);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IITPlaylistWindow * This,
            /* [in] */ long top);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *left);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IITPlaylistWindow * This,
            /* [in] */ long left);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bottom )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *bottom);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bottom )( 
            IITPlaylistWindow * This,
            /* [in] */ long bottom);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Right )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *right);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Right )( 
            IITPlaylistWindow * This,
            /* [in] */ long right);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *width);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IITPlaylistWindow * This,
            /* [in] */ long width);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ long *height);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IITPlaylistWindow * This,
            /* [in] */ long height);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTracks )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ IITTrackCollection **iTrackCollection);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Playlist )( 
            IITPlaylistWindow * This,
            /* [retval][out] */ IITPlaylist **iPlaylist);
        
        END_INTERFACE
    } IITPlaylistWindowVtbl;

    interface IITPlaylistWindow
    {
        CONST_VTBL struct IITPlaylistWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IITPlaylistWindow_get_Name(This,name)	\
    (This)->lpVtbl -> get_Name(This,name)

#define IITPlaylistWindow_get_Kind(This,kind)	\
    (This)->lpVtbl -> get_Kind(This,kind)

#define IITPlaylistWindow_get_Visible(This,isVisible)	\
    (This)->lpVtbl -> get_Visible(This,isVisible)

#define IITPlaylistWindow_put_Visible(This,shouldBeVisible)	\
    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)

#define IITPlaylistWindow_get_Resizable(This,isResizable)	\
    (This)->lpVtbl -> get_Resizable(This,isResizable)

#define IITPlaylistWindow_get_Minimized(This,isMinimized)	\
    (This)->lpVtbl -> get_Minimized(This,isMinimized)

#define IITPlaylistWindow_put_Minimized(This,shouldBeMinimized)	\
    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)

#define IITPlaylistWindow_get_Maximizable(This,isMaximizable)	\
    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)

#define IITPlaylistWindow_get_Maximized(This,isMaximized)	\
    (This)->lpVtbl -> get_Maximized(This,isMaximized)

#define IITPlaylistWindow_put_Maximized(This,shouldBeMaximized)	\
    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)

#define IITPlaylistWindow_get_Zoomable(This,isZoomable)	\
    (This)->lpVtbl -> get_Zoomable(This,isZoomable)

#define IITPlaylistWindow_get_Zoomed(This,isZoomed)	\
    (This)->lpVtbl -> get_Zoomed(This,isZoomed)

#define IITPlaylistWindow_put_Zoomed(This,shouldBeZoomed)	\
    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)

#define IITPlaylistWindow_get_Top(This,top)	\
    (This)->lpVtbl -> get_Top(This,top)

#define IITPlaylistWindow_put_Top(This,top)	\
    (This)->lpVtbl -> put_Top(This,top)

#define IITPlaylistWindow_get_Left(This,left)	\
    (This)->lpVtbl -> get_Left(This,left)

#define IITPlaylistWindow_put_Left(This,left)	\
    (This)->lpVtbl -> put_Left(This,left)

#define IITPlaylistWindow_get_Bottom(This,bottom)	\
    (This)->lpVtbl -> get_Bottom(This,bottom)

#define IITPlaylistWindow_put_Bottom(This,bottom)	\
    (This)->lpVtbl -> put_Bottom(This,bottom)

#define IITPlaylistWindow_get_Right(This,right)	\
    (This)->lpVtbl -> get_Right(This,right)

#define IITPlaylistWindow_put_Right(This,right)	\
    (This)->lpVtbl -> put_Right(This,right)

#define IITPlaylistWindow_get_Width(This,width)	\
    (This)->lpVtbl -> get_Width(This,width)

#define IITPlaylistWindow_put_Width(This,width)	\
    (This)->lpVtbl -> put_Width(This,width)

#define IITPlaylistWindow_get_Height(This,height)	\
    (This)->lpVtbl -> get_Height(This,height)

#define IITPlaylistWindow_put_Height(This,height)	\
    (This)->lpVtbl -> put_Height(This,height)


#define IITPlaylistWindow_get_SelectedTracks(This,iTrackCollection)	\
    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)

#define IITPlaylistWindow_get_Playlist(This,iPlaylist)	\
    (This)->lpVtbl -> get_Playlist(This,iPlaylist)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_SelectedTracks_Proxy( 
    IITPlaylistWindow * This,
    /* [retval][out] */ IITTrackCollection **iTrackCollection);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_Playlist_Proxy( 
    IITPlaylistWindow * This,
    /* [retval][out] */ IITPlaylist **iPlaylist);


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



#endif 	/* __IITPlaylistWindow_INTERFACE_DEFINED__ */

#endif /* __iTunesLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif