zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

wmp.h (396503B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/wmp.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __wmp_h__
     17 #define __wmp_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IWMPPlaylist_FWD_DEFINED__
     22 #define __IWMPPlaylist_FWD_DEFINED__
     23 typedef interface IWMPPlaylist IWMPPlaylist;
     24 #ifdef __cplusplus
     25 interface IWMPPlaylist;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IWMPMedia_FWD_DEFINED__
     30 #define __IWMPMedia_FWD_DEFINED__
     31 typedef interface IWMPMedia IWMPMedia;
     32 #ifdef __cplusplus
     33 interface IWMPMedia;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IWMPControls_FWD_DEFINED__
     38 #define __IWMPControls_FWD_DEFINED__
     39 typedef interface IWMPControls IWMPControls;
     40 #ifdef __cplusplus
     41 interface IWMPControls;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IWMPControls2_FWD_DEFINED__
     46 #define __IWMPControls2_FWD_DEFINED__
     47 typedef interface IWMPControls2 IWMPControls2;
     48 #ifdef __cplusplus
     49 interface IWMPControls2;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IWMPRemoteMediaServices_FWD_DEFINED__
     54 #define __IWMPRemoteMediaServices_FWD_DEFINED__
     55 typedef interface IWMPRemoteMediaServices IWMPRemoteMediaServices;
     56 #ifdef __cplusplus
     57 interface IWMPRemoteMediaServices;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IWMPSettings_FWD_DEFINED__
     62 #define __IWMPSettings_FWD_DEFINED__
     63 typedef interface IWMPSettings IWMPSettings;
     64 #ifdef __cplusplus
     65 interface IWMPSettings;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IWMPStringCollection_FWD_DEFINED__
     70 #define __IWMPStringCollection_FWD_DEFINED__
     71 typedef interface IWMPStringCollection IWMPStringCollection;
     72 #ifdef __cplusplus
     73 interface IWMPStringCollection;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IWMPMediaCollection_FWD_DEFINED__
     78 #define __IWMPMediaCollection_FWD_DEFINED__
     79 typedef interface IWMPMediaCollection IWMPMediaCollection;
     80 #ifdef __cplusplus
     81 interface IWMPMediaCollection;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __IWMPPlaylistArray_FWD_DEFINED__
     86 #define __IWMPPlaylistArray_FWD_DEFINED__
     87 typedef interface IWMPPlaylistArray IWMPPlaylistArray;
     88 #ifdef __cplusplus
     89 interface IWMPPlaylistArray;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __IWMPPlaylistCollection_FWD_DEFINED__
     94 #define __IWMPPlaylistCollection_FWD_DEFINED__
     95 typedef interface IWMPPlaylistCollection IWMPPlaylistCollection;
     96 #ifdef __cplusplus
     97 interface IWMPPlaylistCollection;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __IWMPNetwork_FWD_DEFINED__
    102 #define __IWMPNetwork_FWD_DEFINED__
    103 typedef interface IWMPNetwork IWMPNetwork;
    104 #ifdef __cplusplus
    105 interface IWMPNetwork;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __IWMPCdrom_FWD_DEFINED__
    110 #define __IWMPCdrom_FWD_DEFINED__
    111 typedef interface IWMPCdrom IWMPCdrom;
    112 #ifdef __cplusplus
    113 interface IWMPCdrom;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 #ifndef __IWMPCdromCollection_FWD_DEFINED__
    118 #define __IWMPCdromCollection_FWD_DEFINED__
    119 typedef interface IWMPCdromCollection IWMPCdromCollection;
    120 #ifdef __cplusplus
    121 interface IWMPCdromCollection;
    122 #endif /* __cplusplus */
    123 #endif
    124 
    125 #ifndef __IWMPDVD_FWD_DEFINED__
    126 #define __IWMPDVD_FWD_DEFINED__
    127 typedef interface IWMPDVD IWMPDVD;
    128 #ifdef __cplusplus
    129 interface IWMPDVD;
    130 #endif /* __cplusplus */
    131 #endif
    132 
    133 #ifndef __IWMPClosedCaption_FWD_DEFINED__
    134 #define __IWMPClosedCaption_FWD_DEFINED__
    135 typedef interface IWMPClosedCaption IWMPClosedCaption;
    136 #ifdef __cplusplus
    137 interface IWMPClosedCaption;
    138 #endif /* __cplusplus */
    139 #endif
    140 
    141 #ifndef __IWMPErrorItem_FWD_DEFINED__
    142 #define __IWMPErrorItem_FWD_DEFINED__
    143 typedef interface IWMPErrorItem IWMPErrorItem;
    144 #ifdef __cplusplus
    145 interface IWMPErrorItem;
    146 #endif /* __cplusplus */
    147 #endif
    148 
    149 #ifndef __IWMPMedia2_FWD_DEFINED__
    150 #define __IWMPMedia2_FWD_DEFINED__
    151 typedef interface IWMPMedia2 IWMPMedia2;
    152 #ifdef __cplusplus
    153 interface IWMPMedia2;
    154 #endif /* __cplusplus */
    155 #endif
    156 
    157 #ifndef __IWMPMedia3_FWD_DEFINED__
    158 #define __IWMPMedia3_FWD_DEFINED__
    159 typedef interface IWMPMedia3 IWMPMedia3;
    160 #ifdef __cplusplus
    161 interface IWMPMedia3;
    162 #endif /* __cplusplus */
    163 #endif
    164 
    165 #ifndef __IWMPError_FWD_DEFINED__
    166 #define __IWMPError_FWD_DEFINED__
    167 typedef interface IWMPError IWMPError;
    168 #ifdef __cplusplus
    169 interface IWMPError;
    170 #endif /* __cplusplus */
    171 #endif
    172 
    173 #ifndef __IWMPPlayerApplication_FWD_DEFINED__
    174 #define __IWMPPlayerApplication_FWD_DEFINED__
    175 typedef interface IWMPPlayerApplication IWMPPlayerApplication;
    176 #ifdef __cplusplus
    177 interface IWMPPlayerApplication;
    178 #endif /* __cplusplus */
    179 #endif
    180 
    181 #ifndef __IWMPCore_FWD_DEFINED__
    182 #define __IWMPCore_FWD_DEFINED__
    183 typedef interface IWMPCore IWMPCore;
    184 #ifdef __cplusplus
    185 interface IWMPCore;
    186 #endif /* __cplusplus */
    187 #endif
    188 
    189 #ifndef __IWMPCore2_FWD_DEFINED__
    190 #define __IWMPCore2_FWD_DEFINED__
    191 typedef interface IWMPCore2 IWMPCore2;
    192 #ifdef __cplusplus
    193 interface IWMPCore2;
    194 #endif /* __cplusplus */
    195 #endif
    196 
    197 #ifndef __IWMPCore3_FWD_DEFINED__
    198 #define __IWMPCore3_FWD_DEFINED__
    199 typedef interface IWMPCore3 IWMPCore3;
    200 #ifdef __cplusplus
    201 interface IWMPCore3;
    202 #endif /* __cplusplus */
    203 #endif
    204 
    205 #ifndef __IWMPPlayer4_FWD_DEFINED__
    206 #define __IWMPPlayer4_FWD_DEFINED__
    207 typedef interface IWMPPlayer4 IWMPPlayer4;
    208 #ifdef __cplusplus
    209 interface IWMPPlayer4;
    210 #endif /* __cplusplus */
    211 #endif
    212 
    213 #ifndef __IWMPPlayer_FWD_DEFINED__
    214 #define __IWMPPlayer_FWD_DEFINED__
    215 typedef interface IWMPPlayer IWMPPlayer;
    216 #ifdef __cplusplus
    217 interface IWMPPlayer;
    218 #endif /* __cplusplus */
    219 #endif
    220 
    221 #ifndef __IWMPSyncDevice_FWD_DEFINED__
    222 #define __IWMPSyncDevice_FWD_DEFINED__
    223 typedef interface IWMPSyncDevice IWMPSyncDevice;
    224 #ifdef __cplusplus
    225 interface IWMPSyncDevice;
    226 #endif /* __cplusplus */
    227 #endif
    228 
    229 #ifndef __IWMPSyncDevice2_FWD_DEFINED__
    230 #define __IWMPSyncDevice2_FWD_DEFINED__
    231 typedef interface IWMPSyncDevice2 IWMPSyncDevice2;
    232 #ifdef __cplusplus
    233 interface IWMPSyncDevice2;
    234 #endif /* __cplusplus */
    235 #endif
    236 
    237 #ifndef __IWMPCdromRip_FWD_DEFINED__
    238 #define __IWMPCdromRip_FWD_DEFINED__
    239 typedef interface IWMPCdromRip IWMPCdromRip;
    240 #ifdef __cplusplus
    241 interface IWMPCdromRip;
    242 #endif /* __cplusplus */
    243 #endif
    244 
    245 #ifndef __IWMPCdromBurn_FWD_DEFINED__
    246 #define __IWMPCdromBurn_FWD_DEFINED__
    247 typedef interface IWMPCdromBurn IWMPCdromBurn;
    248 #ifdef __cplusplus
    249 interface IWMPCdromBurn;
    250 #endif /* __cplusplus */
    251 #endif
    252 
    253 #ifndef __IWMPLibrary_FWD_DEFINED__
    254 #define __IWMPLibrary_FWD_DEFINED__
    255 typedef interface IWMPLibrary IWMPLibrary;
    256 #ifdef __cplusplus
    257 interface IWMPLibrary;
    258 #endif /* __cplusplus */
    259 #endif
    260 
    261 #ifndef __IWMPEvents_FWD_DEFINED__
    262 #define __IWMPEvents_FWD_DEFINED__
    263 typedef interface IWMPEvents IWMPEvents;
    264 #ifdef __cplusplus
    265 interface IWMPEvents;
    266 #endif /* __cplusplus */
    267 #endif
    268 
    269 #ifndef __IWMPEvents2_FWD_DEFINED__
    270 #define __IWMPEvents2_FWD_DEFINED__
    271 typedef interface IWMPEvents2 IWMPEvents2;
    272 #ifdef __cplusplus
    273 interface IWMPEvents2;
    274 #endif /* __cplusplus */
    275 #endif
    276 
    277 #ifndef __IWMPEvents3_FWD_DEFINED__
    278 #define __IWMPEvents3_FWD_DEFINED__
    279 typedef interface IWMPEvents3 IWMPEvents3;
    280 #ifdef __cplusplus
    281 interface IWMPEvents3;
    282 #endif /* __cplusplus */
    283 #endif
    284 
    285 #ifndef __IWMPEvents4_FWD_DEFINED__
    286 #define __IWMPEvents4_FWD_DEFINED__
    287 typedef interface IWMPEvents4 IWMPEvents4;
    288 #ifdef __cplusplus
    289 interface IWMPEvents4;
    290 #endif /* __cplusplus */
    291 #endif
    292 
    293 #ifndef ___WMPOCXEvents_FWD_DEFINED__
    294 #define ___WMPOCXEvents_FWD_DEFINED__
    295 typedef interface _WMPOCXEvents _WMPOCXEvents;
    296 #ifdef __cplusplus
    297 interface _WMPOCXEvents;
    298 #endif /* __cplusplus */
    299 #endif
    300 
    301 #ifndef __WindowsMediaPlayer_FWD_DEFINED__
    302 #define __WindowsMediaPlayer_FWD_DEFINED__
    303 #ifdef __cplusplus
    304 typedef class WindowsMediaPlayer WindowsMediaPlayer;
    305 #else
    306 typedef struct WindowsMediaPlayer WindowsMediaPlayer;
    307 #endif /* defined __cplusplus */
    308 #endif /* defined __WindowsMediaPlayer_FWD_DEFINED__ */
    309 
    310 /* Headers for imported files */
    311 
    312 #include <oaidl.h>
    313 #include <ocidl.h>
    314 
    315 #ifdef __cplusplus
    316 extern "C" {
    317 #endif
    318 
    319 #ifndef __WMPLib_LIBRARY_DEFINED__
    320 #define __WMPLib_LIBRARY_DEFINED__
    321 
    322 DEFINE_GUID(LIBID_WMPLib, 0x6bf52a50, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
    323 
    324 typedef enum __WIDL_wmp_generated_name_00000020 {
    325     wmposUndefined = 0,
    326     wmposPlaylistChanging = 1,
    327     wmposPlaylistLocating = 2,
    328     wmposPlaylistConnecting = 3,
    329     wmposPlaylistLoading = 4,
    330     wmposPlaylistOpening = 5,
    331     wmposPlaylistOpenNoMedia = 6,
    332     wmposPlaylistChanged = 7,
    333     wmposMediaChanging = 8,
    334     wmposMediaLocating = 9,
    335     wmposMediaConnecting = 10,
    336     wmposMediaLoading = 11,
    337     wmposMediaOpening = 12,
    338     wmposMediaOpen = 13,
    339     wmposBeginCodecAcquisition = 14,
    340     wmposEndCodecAcquisition = 15,
    341     wmposBeginLicenseAcquisition = 16,
    342     wmposEndLicenseAcquisition = 17,
    343     wmposBeginIndividualization = 18,
    344     wmposEndIndividualization = 19,
    345     wmposMediaWaiting = 20,
    346     wmposOpeningUnknownURL = 21
    347 } WMPOpenState;
    348 typedef enum __WIDL_wmp_generated_name_00000021 {
    349     wmppsUndefined = 0,
    350     wmppsStopped = 1,
    351     wmppsPaused = 2,
    352     wmppsPlaying = 3,
    353     wmppsScanForward = 4,
    354     wmppsScanReverse = 5,
    355     wmppsBuffering = 6,
    356     wmppsWaiting = 7,
    357     wmppsMediaEnded = 8,
    358     wmppsTransitioning = 9,
    359     wmppsReady = 10,
    360     wmppsReconnecting = 11,
    361     wmppsLast = 12
    362 } WMPPlayState;
    363 typedef enum __WIDL_wmp_generated_name_00000022 {
    364     wmplcUnknown = 0,
    365     wmplcClear = 1,
    366     wmplcInfoChange = 2,
    367     wmplcMove = 3,
    368     wmplcDelete = 4,
    369     wmplcInsert = 5,
    370     wmplcAppend = 6,
    371     wmplcPrivate = 7,
    372     wmplcNameChange = 8,
    373     wmplcMorph = 9,
    374     wmplcSort = 10,
    375     wmplcLast = 11
    376 } WMPPlaylistChangeEventType;
    377 typedef enum __WIDL_wmp_generated_name_00000023 {
    378     wmpdsUnknown = 0,
    379     wmpdsPartnershipExists = 1,
    380     wmpdsPartnershipDeclined = 2,
    381     wmpdsPartnershipAnother = 3,
    382     wmpdsManualDevice = 4,
    383     wmpdsNewDevice = 5,
    384     wmpdsLast = 6
    385 } WMPDeviceStatus;
    386 typedef enum __WIDL_wmp_generated_name_00000024 {
    387     wmpssUnknown = 0,
    388     wmpssSynchronizing = 1,
    389     wmpssStopped = 2,
    390     wmpssEstimating = 3,
    391     wmpssLast = 4
    392 } WMPSyncState;
    393 typedef enum __WIDL_wmp_generated_name_00000025 {
    394     wmprsUnknown = 0,
    395     wmprsRipping = 1,
    396     wmprsStopped = 2
    397 } WMPRipState;
    398 typedef enum __WIDL_wmp_generated_name_00000026 {
    399     wmpbfAudioCD = 0,
    400     wmpbfDataCD = 1
    401 } WMPBurnFormat;
    402 typedef enum __WIDL_wmp_generated_name_00000027 {
    403     wmpbsUnknown = 0,
    404     wmpbsBusy = 1,
    405     wmpbsReady = 2,
    406     wmpbsWaitingForDisc = 3,
    407     wmpbsRefreshStatusPending = 4,
    408     wmpbsPreparingToBurn = 5,
    409     wmpbsBurning = 6,
    410     wmpbsStopped = 7,
    411     wmpbsErasing = 8,
    412     wmpbsDownloading = 9
    413 } WMPBurnState;
    414 typedef enum __WIDL_wmp_generated_name_00000028 {
    415     wmpltUnknown = 0,
    416     wmpltAll = 1,
    417     wmpltLocal = 2,
    418     wmpltRemote = 3,
    419     wmpltDisc = 4,
    420     wmpltPortableDevice = 5
    421 } WMPLibraryType;
    422 typedef enum __WIDL_wmp_generated_name_00000029 {
    423     wmpfssUnknown = 0,
    424     wmpfssScanning = 1,
    425     wmpfssUpdating = 2,
    426     wmpfssStopped = 3
    427 } WMPFolderScanState;
    428 typedef enum __WIDL_wmp_generated_name_0000002A {
    429     wmpsccetUnknown = 0,
    430     wmpsccetInsert = 1,
    431     wmpsccetChange = 2,
    432     wmpsccetDelete = 3,
    433     wmpsccetClear = 4,
    434     wmpsccetBeginUpdates = 5,
    435     wmpsccetEndUpdates = 6
    436 } WMPStringCollectionChangeEventType;
    437 #ifndef __IWMPMedia_FWD_DEFINED__
    438 #define __IWMPMedia_FWD_DEFINED__
    439 typedef interface IWMPMedia IWMPMedia;
    440 #ifdef __cplusplus
    441 interface IWMPMedia;
    442 #endif /* __cplusplus */
    443 #endif
    444 
    445 /*****************************************************************************
    446  * IWMPPlaylist interface
    447  */
    448 #ifndef __IWMPPlaylist_INTERFACE_DEFINED__
    449 #define __IWMPPlaylist_INTERFACE_DEFINED__
    450 
    451 DEFINE_GUID(IID_IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
    452 #if defined(__cplusplus) && !defined(CINTERFACE)
    453 MIDL_INTERFACE("d5f0f4f1-130c-11d3-b14e-00c04f79faa6")
    454 IWMPPlaylist : public IDispatch
    455 {
    456     virtual HRESULT STDMETHODCALLTYPE get_count(
    457         LONG *plCount) = 0;
    458 
    459     virtual HRESULT STDMETHODCALLTYPE get_name(
    460         BSTR *pbstrName) = 0;
    461 
    462     virtual HRESULT STDMETHODCALLTYPE put_name(
    463         BSTR pbstrName) = 0;
    464 
    465     virtual HRESULT STDMETHODCALLTYPE get_attributeCount(
    466         LONG *plCount) = 0;
    467 
    468     virtual HRESULT STDMETHODCALLTYPE get_attributeName(
    469         LONG lIndex,
    470         BSTR *pbstrAttributeName) = 0;
    471 
    472     virtual HRESULT STDMETHODCALLTYPE get_Item(
    473         LONG lIndex,
    474         IWMPMedia **ppIWMPMedia) = 0;
    475 
    476     virtual HRESULT STDMETHODCALLTYPE getItemInfo(
    477         BSTR bstrName,
    478         BSTR *pbstrVal) = 0;
    479 
    480     virtual HRESULT STDMETHODCALLTYPE setItemInfo(
    481         BSTR bstrName,
    482         BSTR bstrValue) = 0;
    483 
    484     virtual HRESULT STDMETHODCALLTYPE get_isIdentical(
    485         IWMPPlaylist *pIWMPPlaylist,
    486         VARIANT_BOOL *pvbool) = 0;
    487 
    488     virtual HRESULT STDMETHODCALLTYPE clear(
    489         ) = 0;
    490 
    491     virtual HRESULT STDMETHODCALLTYPE insertItem(
    492         LONG lIndex,
    493         IWMPMedia *pIWMPMedia) = 0;
    494 
    495     virtual HRESULT STDMETHODCALLTYPE appendItem(
    496         IWMPMedia *pIWMPMedia) = 0;
    497 
    498     virtual HRESULT STDMETHODCALLTYPE removeItem(
    499         IWMPMedia *pIWMPMedia) = 0;
    500 
    501     virtual HRESULT STDMETHODCALLTYPE moveItem(
    502         LONG lIndexOld,
    503         LONG lIndexNew) = 0;
    504 
    505 };
    506 #ifdef __CRT_UUID_DECL
    507 __CRT_UUID_DECL(IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
    508 #endif
    509 #else
    510 typedef struct IWMPPlaylistVtbl {
    511     BEGIN_INTERFACE
    512 
    513     /*** IUnknown methods ***/
    514     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    515         IWMPPlaylist *This,
    516         REFIID riid,
    517         void **ppvObject);
    518 
    519     ULONG (STDMETHODCALLTYPE *AddRef)(
    520         IWMPPlaylist *This);
    521 
    522     ULONG (STDMETHODCALLTYPE *Release)(
    523         IWMPPlaylist *This);
    524 
    525     /*** IDispatch methods ***/
    526     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    527         IWMPPlaylist *This,
    528         UINT *pctinfo);
    529 
    530     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    531         IWMPPlaylist *This,
    532         UINT iTInfo,
    533         LCID lcid,
    534         ITypeInfo **ppTInfo);
    535 
    536     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    537         IWMPPlaylist *This,
    538         REFIID riid,
    539         LPOLESTR *rgszNames,
    540         UINT cNames,
    541         LCID lcid,
    542         DISPID *rgDispId);
    543 
    544     HRESULT (STDMETHODCALLTYPE *Invoke)(
    545         IWMPPlaylist *This,
    546         DISPID dispIdMember,
    547         REFIID riid,
    548         LCID lcid,
    549         WORD wFlags,
    550         DISPPARAMS *pDispParams,
    551         VARIANT *pVarResult,
    552         EXCEPINFO *pExcepInfo,
    553         UINT *puArgErr);
    554 
    555     /*** IWMPPlaylist methods ***/
    556     HRESULT (STDMETHODCALLTYPE *get_count)(
    557         IWMPPlaylist *This,
    558         LONG *plCount);
    559 
    560     HRESULT (STDMETHODCALLTYPE *get_name)(
    561         IWMPPlaylist *This,
    562         BSTR *pbstrName);
    563 
    564     HRESULT (STDMETHODCALLTYPE *put_name)(
    565         IWMPPlaylist *This,
    566         BSTR pbstrName);
    567 
    568     HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
    569         IWMPPlaylist *This,
    570         LONG *plCount);
    571 
    572     HRESULT (STDMETHODCALLTYPE *get_attributeName)(
    573         IWMPPlaylist *This,
    574         LONG lIndex,
    575         BSTR *pbstrAttributeName);
    576 
    577     HRESULT (STDMETHODCALLTYPE *get_Item)(
    578         IWMPPlaylist *This,
    579         LONG lIndex,
    580         IWMPMedia **ppIWMPMedia);
    581 
    582     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
    583         IWMPPlaylist *This,
    584         BSTR bstrName,
    585         BSTR *pbstrVal);
    586 
    587     HRESULT (STDMETHODCALLTYPE *setItemInfo)(
    588         IWMPPlaylist *This,
    589         BSTR bstrName,
    590         BSTR bstrValue);
    591 
    592     HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
    593         IWMPPlaylist *This,
    594         IWMPPlaylist *pIWMPPlaylist,
    595         VARIANT_BOOL *pvbool);
    596 
    597     HRESULT (STDMETHODCALLTYPE *clear)(
    598         IWMPPlaylist *This);
    599 
    600     HRESULT (STDMETHODCALLTYPE *insertItem)(
    601         IWMPPlaylist *This,
    602         LONG lIndex,
    603         IWMPMedia *pIWMPMedia);
    604 
    605     HRESULT (STDMETHODCALLTYPE *appendItem)(
    606         IWMPPlaylist *This,
    607         IWMPMedia *pIWMPMedia);
    608 
    609     HRESULT (STDMETHODCALLTYPE *removeItem)(
    610         IWMPPlaylist *This,
    611         IWMPMedia *pIWMPMedia);
    612 
    613     HRESULT (STDMETHODCALLTYPE *moveItem)(
    614         IWMPPlaylist *This,
    615         LONG lIndexOld,
    616         LONG lIndexNew);
    617 
    618     END_INTERFACE
    619 } IWMPPlaylistVtbl;
    620 
    621 interface IWMPPlaylist {
    622     CONST_VTBL IWMPPlaylistVtbl* lpVtbl;
    623 };
    624 
    625 #ifdef COBJMACROS
    626 #ifndef WIDL_C_INLINE_WRAPPERS
    627 /*** IUnknown methods ***/
    628 #define IWMPPlaylist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    629 #define IWMPPlaylist_AddRef(This) (This)->lpVtbl->AddRef(This)
    630 #define IWMPPlaylist_Release(This) (This)->lpVtbl->Release(This)
    631 /*** IDispatch methods ***/
    632 #define IWMPPlaylist_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    633 #define IWMPPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    634 #define IWMPPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    635 #define IWMPPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    636 /*** IWMPPlaylist methods ***/
    637 #define IWMPPlaylist_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
    638 #define IWMPPlaylist_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
    639 #define IWMPPlaylist_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
    640 #define IWMPPlaylist_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
    641 #define IWMPPlaylist_get_attributeName(This,lIndex,pbstrAttributeName) (This)->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName)
    642 #define IWMPPlaylist_get_Item(This,lIndex,ppIWMPMedia) (This)->lpVtbl->get_Item(This,lIndex,ppIWMPMedia)
    643 #define IWMPPlaylist_getItemInfo(This,bstrName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrName,pbstrVal)
    644 #define IWMPPlaylist_setItemInfo(This,bstrName,bstrValue) (This)->lpVtbl->setItemInfo(This,bstrName,bstrValue)
    645 #define IWMPPlaylist_get_isIdentical(This,pIWMPPlaylist,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool)
    646 #define IWMPPlaylist_clear(This) (This)->lpVtbl->clear(This)
    647 #define IWMPPlaylist_insertItem(This,lIndex,pIWMPMedia) (This)->lpVtbl->insertItem(This,lIndex,pIWMPMedia)
    648 #define IWMPPlaylist_appendItem(This,pIWMPMedia) (This)->lpVtbl->appendItem(This,pIWMPMedia)
    649 #define IWMPPlaylist_removeItem(This,pIWMPMedia) (This)->lpVtbl->removeItem(This,pIWMPMedia)
    650 #define IWMPPlaylist_moveItem(This,lIndexOld,lIndexNew) (This)->lpVtbl->moveItem(This,lIndexOld,lIndexNew)
    651 #else
    652 /*** IUnknown methods ***/
    653 static inline HRESULT IWMPPlaylist_QueryInterface(IWMPPlaylist* This,REFIID riid,void **ppvObject) {
    654     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    655 }
    656 static inline ULONG IWMPPlaylist_AddRef(IWMPPlaylist* This) {
    657     return This->lpVtbl->AddRef(This);
    658 }
    659 static inline ULONG IWMPPlaylist_Release(IWMPPlaylist* This) {
    660     return This->lpVtbl->Release(This);
    661 }
    662 /*** IDispatch methods ***/
    663 static inline HRESULT IWMPPlaylist_GetTypeInfoCount(IWMPPlaylist* This,UINT *pctinfo) {
    664     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    665 }
    666 static inline HRESULT IWMPPlaylist_GetTypeInfo(IWMPPlaylist* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    667     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    668 }
    669 static inline HRESULT IWMPPlaylist_GetIDsOfNames(IWMPPlaylist* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    670     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    671 }
    672 static inline HRESULT IWMPPlaylist_Invoke(IWMPPlaylist* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    673     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    674 }
    675 /*** IWMPPlaylist methods ***/
    676 static inline HRESULT IWMPPlaylist_get_count(IWMPPlaylist* This,LONG *plCount) {
    677     return This->lpVtbl->get_count(This,plCount);
    678 }
    679 static inline HRESULT IWMPPlaylist_get_name(IWMPPlaylist* This,BSTR *pbstrName) {
    680     return This->lpVtbl->get_name(This,pbstrName);
    681 }
    682 static inline HRESULT IWMPPlaylist_put_name(IWMPPlaylist* This,BSTR pbstrName) {
    683     return This->lpVtbl->put_name(This,pbstrName);
    684 }
    685 static inline HRESULT IWMPPlaylist_get_attributeCount(IWMPPlaylist* This,LONG *plCount) {
    686     return This->lpVtbl->get_attributeCount(This,plCount);
    687 }
    688 static inline HRESULT IWMPPlaylist_get_attributeName(IWMPPlaylist* This,LONG lIndex,BSTR *pbstrAttributeName) {
    689     return This->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName);
    690 }
    691 static inline HRESULT IWMPPlaylist_get_Item(IWMPPlaylist* This,LONG lIndex,IWMPMedia **ppIWMPMedia) {
    692     return This->lpVtbl->get_Item(This,lIndex,ppIWMPMedia);
    693 }
    694 static inline HRESULT IWMPPlaylist_getItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR *pbstrVal) {
    695     return This->lpVtbl->getItemInfo(This,bstrName,pbstrVal);
    696 }
    697 static inline HRESULT IWMPPlaylist_setItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR bstrValue) {
    698     return This->lpVtbl->setItemInfo(This,bstrName,bstrValue);
    699 }
    700 static inline HRESULT IWMPPlaylist_get_isIdentical(IWMPPlaylist* This,IWMPPlaylist *pIWMPPlaylist,VARIANT_BOOL *pvbool) {
    701     return This->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool);
    702 }
    703 static inline HRESULT IWMPPlaylist_clear(IWMPPlaylist* This) {
    704     return This->lpVtbl->clear(This);
    705 }
    706 static inline HRESULT IWMPPlaylist_insertItem(IWMPPlaylist* This,LONG lIndex,IWMPMedia *pIWMPMedia) {
    707     return This->lpVtbl->insertItem(This,lIndex,pIWMPMedia);
    708 }
    709 static inline HRESULT IWMPPlaylist_appendItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) {
    710     return This->lpVtbl->appendItem(This,pIWMPMedia);
    711 }
    712 static inline HRESULT IWMPPlaylist_removeItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) {
    713     return This->lpVtbl->removeItem(This,pIWMPMedia);
    714 }
    715 static inline HRESULT IWMPPlaylist_moveItem(IWMPPlaylist* This,LONG lIndexOld,LONG lIndexNew) {
    716     return This->lpVtbl->moveItem(This,lIndexOld,lIndexNew);
    717 }
    718 #endif
    719 #endif
    720 
    721 #endif
    722 
    723 
    724 #endif  /* __IWMPPlaylist_INTERFACE_DEFINED__ */
    725 
    726 /*****************************************************************************
    727  * IWMPMedia interface
    728  */
    729 #ifndef __IWMPMedia_INTERFACE_DEFINED__
    730 #define __IWMPMedia_INTERFACE_DEFINED__
    731 
    732 DEFINE_GUID(IID_IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
    733 #if defined(__cplusplus) && !defined(CINTERFACE)
    734 MIDL_INTERFACE("94d55e95-3fac-11d3-b155-00c04f79faa6")
    735 IWMPMedia : public IDispatch
    736 {
    737     virtual HRESULT STDMETHODCALLTYPE get_isIdentical(
    738         IWMPMedia *pIWMPMedia,
    739         VARIANT_BOOL *pvbool) = 0;
    740 
    741     virtual HRESULT STDMETHODCALLTYPE get_sourceURL(
    742         BSTR *pbstrSourceURL) = 0;
    743 
    744     virtual HRESULT STDMETHODCALLTYPE get_name(
    745         BSTR *pbstrName) = 0;
    746 
    747     virtual HRESULT STDMETHODCALLTYPE put_name(
    748         BSTR pbstrName) = 0;
    749 
    750     virtual HRESULT STDMETHODCALLTYPE get_imageSourceWidth(
    751         LONG *pWidth) = 0;
    752 
    753     virtual HRESULT STDMETHODCALLTYPE get_imageSourceHeight(
    754         LONG *pHeight) = 0;
    755 
    756     virtual HRESULT STDMETHODCALLTYPE get_markerCount(
    757         LONG *pMarkerCount) = 0;
    758 
    759     virtual HRESULT STDMETHODCALLTYPE getMarkerTime(
    760         LONG MarkerNum,
    761         double *pMarkerTime) = 0;
    762 
    763     virtual HRESULT STDMETHODCALLTYPE getMarkerName(
    764         LONG MarkerNum,
    765         BSTR *pbstrMarkerName) = 0;
    766 
    767     virtual HRESULT STDMETHODCALLTYPE get_duration(
    768         double *pDuration) = 0;
    769 
    770     virtual HRESULT STDMETHODCALLTYPE get_durationString(
    771         BSTR *pbstrDuration) = 0;
    772 
    773     virtual HRESULT STDMETHODCALLTYPE get_attributeCount(
    774         LONG *plCount) = 0;
    775 
    776     virtual HRESULT STDMETHODCALLTYPE getAttributeName(
    777         LONG lIndex,
    778         BSTR *pbstrItemName) = 0;
    779 
    780     virtual HRESULT STDMETHODCALLTYPE getItemInfo(
    781         BSTR bstrItemName,
    782         BSTR *pbstrVal) = 0;
    783 
    784     virtual HRESULT STDMETHODCALLTYPE setItemInfo(
    785         BSTR bstrItemName,
    786         BSTR bstrVal) = 0;
    787 
    788     virtual HRESULT STDMETHODCALLTYPE getItemInfoByAtom(
    789         LONG lAtom,
    790         BSTR *pbstrVal) = 0;
    791 
    792     virtual HRESULT STDMETHODCALLTYPE isMemberOf(
    793         IWMPPlaylist *pPlaylist,
    794         VARIANT_BOOL *pvarfIsMemberOf) = 0;
    795 
    796     virtual HRESULT STDMETHODCALLTYPE isReadOnlyItem(
    797         BSTR bstrItemName,
    798         VARIANT_BOOL *pvarfIsReadOnly) = 0;
    799 
    800 };
    801 #ifdef __CRT_UUID_DECL
    802 __CRT_UUID_DECL(IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
    803 #endif
    804 #else
    805 typedef struct IWMPMediaVtbl {
    806     BEGIN_INTERFACE
    807 
    808     /*** IUnknown methods ***/
    809     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    810         IWMPMedia *This,
    811         REFIID riid,
    812         void **ppvObject);
    813 
    814     ULONG (STDMETHODCALLTYPE *AddRef)(
    815         IWMPMedia *This);
    816 
    817     ULONG (STDMETHODCALLTYPE *Release)(
    818         IWMPMedia *This);
    819 
    820     /*** IDispatch methods ***/
    821     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    822         IWMPMedia *This,
    823         UINT *pctinfo);
    824 
    825     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    826         IWMPMedia *This,
    827         UINT iTInfo,
    828         LCID lcid,
    829         ITypeInfo **ppTInfo);
    830 
    831     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    832         IWMPMedia *This,
    833         REFIID riid,
    834         LPOLESTR *rgszNames,
    835         UINT cNames,
    836         LCID lcid,
    837         DISPID *rgDispId);
    838 
    839     HRESULT (STDMETHODCALLTYPE *Invoke)(
    840         IWMPMedia *This,
    841         DISPID dispIdMember,
    842         REFIID riid,
    843         LCID lcid,
    844         WORD wFlags,
    845         DISPPARAMS *pDispParams,
    846         VARIANT *pVarResult,
    847         EXCEPINFO *pExcepInfo,
    848         UINT *puArgErr);
    849 
    850     /*** IWMPMedia methods ***/
    851     HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
    852         IWMPMedia *This,
    853         IWMPMedia *pIWMPMedia,
    854         VARIANT_BOOL *pvbool);
    855 
    856     HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
    857         IWMPMedia *This,
    858         BSTR *pbstrSourceURL);
    859 
    860     HRESULT (STDMETHODCALLTYPE *get_name)(
    861         IWMPMedia *This,
    862         BSTR *pbstrName);
    863 
    864     HRESULT (STDMETHODCALLTYPE *put_name)(
    865         IWMPMedia *This,
    866         BSTR pbstrName);
    867 
    868     HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
    869         IWMPMedia *This,
    870         LONG *pWidth);
    871 
    872     HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
    873         IWMPMedia *This,
    874         LONG *pHeight);
    875 
    876     HRESULT (STDMETHODCALLTYPE *get_markerCount)(
    877         IWMPMedia *This,
    878         LONG *pMarkerCount);
    879 
    880     HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
    881         IWMPMedia *This,
    882         LONG MarkerNum,
    883         double *pMarkerTime);
    884 
    885     HRESULT (STDMETHODCALLTYPE *getMarkerName)(
    886         IWMPMedia *This,
    887         LONG MarkerNum,
    888         BSTR *pbstrMarkerName);
    889 
    890     HRESULT (STDMETHODCALLTYPE *get_duration)(
    891         IWMPMedia *This,
    892         double *pDuration);
    893 
    894     HRESULT (STDMETHODCALLTYPE *get_durationString)(
    895         IWMPMedia *This,
    896         BSTR *pbstrDuration);
    897 
    898     HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
    899         IWMPMedia *This,
    900         LONG *plCount);
    901 
    902     HRESULT (STDMETHODCALLTYPE *getAttributeName)(
    903         IWMPMedia *This,
    904         LONG lIndex,
    905         BSTR *pbstrItemName);
    906 
    907     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
    908         IWMPMedia *This,
    909         BSTR bstrItemName,
    910         BSTR *pbstrVal);
    911 
    912     HRESULT (STDMETHODCALLTYPE *setItemInfo)(
    913         IWMPMedia *This,
    914         BSTR bstrItemName,
    915         BSTR bstrVal);
    916 
    917     HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
    918         IWMPMedia *This,
    919         LONG lAtom,
    920         BSTR *pbstrVal);
    921 
    922     HRESULT (STDMETHODCALLTYPE *isMemberOf)(
    923         IWMPMedia *This,
    924         IWMPPlaylist *pPlaylist,
    925         VARIANT_BOOL *pvarfIsMemberOf);
    926 
    927     HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
    928         IWMPMedia *This,
    929         BSTR bstrItemName,
    930         VARIANT_BOOL *pvarfIsReadOnly);
    931 
    932     END_INTERFACE
    933 } IWMPMediaVtbl;
    934 
    935 interface IWMPMedia {
    936     CONST_VTBL IWMPMediaVtbl* lpVtbl;
    937 };
    938 
    939 #ifdef COBJMACROS
    940 #ifndef WIDL_C_INLINE_WRAPPERS
    941 /*** IUnknown methods ***/
    942 #define IWMPMedia_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    943 #define IWMPMedia_AddRef(This) (This)->lpVtbl->AddRef(This)
    944 #define IWMPMedia_Release(This) (This)->lpVtbl->Release(This)
    945 /*** IDispatch methods ***/
    946 #define IWMPMedia_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    947 #define IWMPMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    948 #define IWMPMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    949 #define IWMPMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    950 /*** IWMPMedia methods ***/
    951 #define IWMPMedia_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
    952 #define IWMPMedia_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
    953 #define IWMPMedia_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
    954 #define IWMPMedia_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
    955 #define IWMPMedia_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
    956 #define IWMPMedia_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
    957 #define IWMPMedia_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
    958 #define IWMPMedia_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
    959 #define IWMPMedia_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
    960 #define IWMPMedia_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
    961 #define IWMPMedia_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
    962 #define IWMPMedia_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
    963 #define IWMPMedia_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
    964 #define IWMPMedia_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
    965 #define IWMPMedia_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
    966 #define IWMPMedia_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
    967 #define IWMPMedia_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
    968 #define IWMPMedia_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
    969 #else
    970 /*** IUnknown methods ***/
    971 static inline HRESULT IWMPMedia_QueryInterface(IWMPMedia* This,REFIID riid,void **ppvObject) {
    972     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    973 }
    974 static inline ULONG IWMPMedia_AddRef(IWMPMedia* This) {
    975     return This->lpVtbl->AddRef(This);
    976 }
    977 static inline ULONG IWMPMedia_Release(IWMPMedia* This) {
    978     return This->lpVtbl->Release(This);
    979 }
    980 /*** IDispatch methods ***/
    981 static inline HRESULT IWMPMedia_GetTypeInfoCount(IWMPMedia* This,UINT *pctinfo) {
    982     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    983 }
    984 static inline HRESULT IWMPMedia_GetTypeInfo(IWMPMedia* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    985     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    986 }
    987 static inline HRESULT IWMPMedia_GetIDsOfNames(IWMPMedia* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    988     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    989 }
    990 static inline HRESULT IWMPMedia_Invoke(IWMPMedia* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    991     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    992 }
    993 /*** IWMPMedia methods ***/
    994 static inline HRESULT IWMPMedia_get_isIdentical(IWMPMedia* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
    995     return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
    996 }
    997 static inline HRESULT IWMPMedia_get_sourceURL(IWMPMedia* This,BSTR *pbstrSourceURL) {
    998     return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
    999 }
   1000 static inline HRESULT IWMPMedia_get_name(IWMPMedia* This,BSTR *pbstrName) {
   1001     return This->lpVtbl->get_name(This,pbstrName);
   1002 }
   1003 static inline HRESULT IWMPMedia_put_name(IWMPMedia* This,BSTR pbstrName) {
   1004     return This->lpVtbl->put_name(This,pbstrName);
   1005 }
   1006 static inline HRESULT IWMPMedia_get_imageSourceWidth(IWMPMedia* This,LONG *pWidth) {
   1007     return This->lpVtbl->get_imageSourceWidth(This,pWidth);
   1008 }
   1009 static inline HRESULT IWMPMedia_get_imageSourceHeight(IWMPMedia* This,LONG *pHeight) {
   1010     return This->lpVtbl->get_imageSourceHeight(This,pHeight);
   1011 }
   1012 static inline HRESULT IWMPMedia_get_markerCount(IWMPMedia* This,LONG *pMarkerCount) {
   1013     return This->lpVtbl->get_markerCount(This,pMarkerCount);
   1014 }
   1015 static inline HRESULT IWMPMedia_getMarkerTime(IWMPMedia* This,LONG MarkerNum,double *pMarkerTime) {
   1016     return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
   1017 }
   1018 static inline HRESULT IWMPMedia_getMarkerName(IWMPMedia* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
   1019     return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
   1020 }
   1021 static inline HRESULT IWMPMedia_get_duration(IWMPMedia* This,double *pDuration) {
   1022     return This->lpVtbl->get_duration(This,pDuration);
   1023 }
   1024 static inline HRESULT IWMPMedia_get_durationString(IWMPMedia* This,BSTR *pbstrDuration) {
   1025     return This->lpVtbl->get_durationString(This,pbstrDuration);
   1026 }
   1027 static inline HRESULT IWMPMedia_get_attributeCount(IWMPMedia* This,LONG *plCount) {
   1028     return This->lpVtbl->get_attributeCount(This,plCount);
   1029 }
   1030 static inline HRESULT IWMPMedia_getAttributeName(IWMPMedia* This,LONG lIndex,BSTR *pbstrItemName) {
   1031     return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
   1032 }
   1033 static inline HRESULT IWMPMedia_getItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR *pbstrVal) {
   1034     return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
   1035 }
   1036 static inline HRESULT IWMPMedia_setItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR bstrVal) {
   1037     return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
   1038 }
   1039 static inline HRESULT IWMPMedia_getItemInfoByAtom(IWMPMedia* This,LONG lAtom,BSTR *pbstrVal) {
   1040     return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
   1041 }
   1042 static inline HRESULT IWMPMedia_isMemberOf(IWMPMedia* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
   1043     return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
   1044 }
   1045 static inline HRESULT IWMPMedia_isReadOnlyItem(IWMPMedia* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
   1046     return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
   1047 }
   1048 #endif
   1049 #endif
   1050 
   1051 #endif
   1052 
   1053 
   1054 #endif  /* __IWMPMedia_INTERFACE_DEFINED__ */
   1055 
   1056 /*****************************************************************************
   1057  * IWMPControls interface
   1058  */
   1059 #ifndef __IWMPControls_INTERFACE_DEFINED__
   1060 #define __IWMPControls_INTERFACE_DEFINED__
   1061 
   1062 DEFINE_GUID(IID_IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e);
   1063 #if defined(__cplusplus) && !defined(CINTERFACE)
   1064 MIDL_INTERFACE("74c09e02-f828-11d2-a74b-00a0c905f36e")
   1065 IWMPControls : public IDispatch
   1066 {
   1067     virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
   1068         BSTR bstrItem,
   1069         VARIANT_BOOL *pIsAvailable) = 0;
   1070 
   1071     virtual HRESULT STDMETHODCALLTYPE play(
   1072         ) = 0;
   1073 
   1074     virtual HRESULT STDMETHODCALLTYPE stop(
   1075         ) = 0;
   1076 
   1077     virtual HRESULT STDMETHODCALLTYPE pause(
   1078         ) = 0;
   1079 
   1080     virtual HRESULT STDMETHODCALLTYPE fastForward(
   1081         ) = 0;
   1082 
   1083     virtual HRESULT STDMETHODCALLTYPE fastReverse(
   1084         ) = 0;
   1085 
   1086     virtual HRESULT STDMETHODCALLTYPE get_currentPosition(
   1087         double *pdCurrentPosition) = 0;
   1088 
   1089     virtual HRESULT STDMETHODCALLTYPE put_currentPosition(
   1090         double pdCurrentPosition) = 0;
   1091 
   1092     virtual HRESULT STDMETHODCALLTYPE get_currentPositionString(
   1093         BSTR *pbstrCurrentPosition) = 0;
   1094 
   1095     virtual HRESULT STDMETHODCALLTYPE next(
   1096         ) = 0;
   1097 
   1098     virtual HRESULT STDMETHODCALLTYPE previous(
   1099         ) = 0;
   1100 
   1101     virtual HRESULT STDMETHODCALLTYPE currentItem(
   1102         IWMPMedia **ppIWMPMedia) = 0;
   1103 
   1104     virtual HRESULT STDMETHODCALLTYPE put_currentItem(
   1105         IWMPMedia *ppIWMPMedia) = 0;
   1106 
   1107     virtual HRESULT STDMETHODCALLTYPE get_currentMarker(
   1108         LONG *plMarker) = 0;
   1109 
   1110     virtual HRESULT STDMETHODCALLTYPE put_currentMarker(
   1111         LONG plMarker) = 0;
   1112 
   1113     virtual HRESULT STDMETHODCALLTYPE playItem(
   1114         IWMPMedia *pIWMPMedia) = 0;
   1115 
   1116 };
   1117 #ifdef __CRT_UUID_DECL
   1118 __CRT_UUID_DECL(IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e)
   1119 #endif
   1120 #else
   1121 typedef struct IWMPControlsVtbl {
   1122     BEGIN_INTERFACE
   1123 
   1124     /*** IUnknown methods ***/
   1125     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1126         IWMPControls *This,
   1127         REFIID riid,
   1128         void **ppvObject);
   1129 
   1130     ULONG (STDMETHODCALLTYPE *AddRef)(
   1131         IWMPControls *This);
   1132 
   1133     ULONG (STDMETHODCALLTYPE *Release)(
   1134         IWMPControls *This);
   1135 
   1136     /*** IDispatch methods ***/
   1137     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1138         IWMPControls *This,
   1139         UINT *pctinfo);
   1140 
   1141     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1142         IWMPControls *This,
   1143         UINT iTInfo,
   1144         LCID lcid,
   1145         ITypeInfo **ppTInfo);
   1146 
   1147     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1148         IWMPControls *This,
   1149         REFIID riid,
   1150         LPOLESTR *rgszNames,
   1151         UINT cNames,
   1152         LCID lcid,
   1153         DISPID *rgDispId);
   1154 
   1155     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1156         IWMPControls *This,
   1157         DISPID dispIdMember,
   1158         REFIID riid,
   1159         LCID lcid,
   1160         WORD wFlags,
   1161         DISPPARAMS *pDispParams,
   1162         VARIANT *pVarResult,
   1163         EXCEPINFO *pExcepInfo,
   1164         UINT *puArgErr);
   1165 
   1166     /*** IWMPControls methods ***/
   1167     HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
   1168         IWMPControls *This,
   1169         BSTR bstrItem,
   1170         VARIANT_BOOL *pIsAvailable);
   1171 
   1172     HRESULT (STDMETHODCALLTYPE *play)(
   1173         IWMPControls *This);
   1174 
   1175     HRESULT (STDMETHODCALLTYPE *stop)(
   1176         IWMPControls *This);
   1177 
   1178     HRESULT (STDMETHODCALLTYPE *pause)(
   1179         IWMPControls *This);
   1180 
   1181     HRESULT (STDMETHODCALLTYPE *fastForward)(
   1182         IWMPControls *This);
   1183 
   1184     HRESULT (STDMETHODCALLTYPE *fastReverse)(
   1185         IWMPControls *This);
   1186 
   1187     HRESULT (STDMETHODCALLTYPE *get_currentPosition)(
   1188         IWMPControls *This,
   1189         double *pdCurrentPosition);
   1190 
   1191     HRESULT (STDMETHODCALLTYPE *put_currentPosition)(
   1192         IWMPControls *This,
   1193         double pdCurrentPosition);
   1194 
   1195     HRESULT (STDMETHODCALLTYPE *get_currentPositionString)(
   1196         IWMPControls *This,
   1197         BSTR *pbstrCurrentPosition);
   1198 
   1199     HRESULT (STDMETHODCALLTYPE *next)(
   1200         IWMPControls *This);
   1201 
   1202     HRESULT (STDMETHODCALLTYPE *previous)(
   1203         IWMPControls *This);
   1204 
   1205     HRESULT (STDMETHODCALLTYPE *currentItem)(
   1206         IWMPControls *This,
   1207         IWMPMedia **ppIWMPMedia);
   1208 
   1209     HRESULT (STDMETHODCALLTYPE *put_currentItem)(
   1210         IWMPControls *This,
   1211         IWMPMedia *ppIWMPMedia);
   1212 
   1213     HRESULT (STDMETHODCALLTYPE *get_currentMarker)(
   1214         IWMPControls *This,
   1215         LONG *plMarker);
   1216 
   1217     HRESULT (STDMETHODCALLTYPE *put_currentMarker)(
   1218         IWMPControls *This,
   1219         LONG plMarker);
   1220 
   1221     HRESULT (STDMETHODCALLTYPE *playItem)(
   1222         IWMPControls *This,
   1223         IWMPMedia *pIWMPMedia);
   1224 
   1225     END_INTERFACE
   1226 } IWMPControlsVtbl;
   1227 
   1228 interface IWMPControls {
   1229     CONST_VTBL IWMPControlsVtbl* lpVtbl;
   1230 };
   1231 
   1232 #ifdef COBJMACROS
   1233 #ifndef WIDL_C_INLINE_WRAPPERS
   1234 /*** IUnknown methods ***/
   1235 #define IWMPControls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1236 #define IWMPControls_AddRef(This) (This)->lpVtbl->AddRef(This)
   1237 #define IWMPControls_Release(This) (This)->lpVtbl->Release(This)
   1238 /*** IDispatch methods ***/
   1239 #define IWMPControls_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1240 #define IWMPControls_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1241 #define IWMPControls_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1242 #define IWMPControls_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1243 /*** IWMPControls methods ***/
   1244 #define IWMPControls_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
   1245 #define IWMPControls_play(This) (This)->lpVtbl->play(This)
   1246 #define IWMPControls_stop(This) (This)->lpVtbl->stop(This)
   1247 #define IWMPControls_pause(This) (This)->lpVtbl->pause(This)
   1248 #define IWMPControls_fastForward(This) (This)->lpVtbl->fastForward(This)
   1249 #define IWMPControls_fastReverse(This) (This)->lpVtbl->fastReverse(This)
   1250 #define IWMPControls_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition)
   1251 #define IWMPControls_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition)
   1252 #define IWMPControls_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition)
   1253 #define IWMPControls_next(This) (This)->lpVtbl->next(This)
   1254 #define IWMPControls_previous(This) (This)->lpVtbl->previous(This)
   1255 #define IWMPControls_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia)
   1256 #define IWMPControls_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia)
   1257 #define IWMPControls_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker)
   1258 #define IWMPControls_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker)
   1259 #define IWMPControls_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia)
   1260 #else
   1261 /*** IUnknown methods ***/
   1262 static inline HRESULT IWMPControls_QueryInterface(IWMPControls* This,REFIID riid,void **ppvObject) {
   1263     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1264 }
   1265 static inline ULONG IWMPControls_AddRef(IWMPControls* This) {
   1266     return This->lpVtbl->AddRef(This);
   1267 }
   1268 static inline ULONG IWMPControls_Release(IWMPControls* This) {
   1269     return This->lpVtbl->Release(This);
   1270 }
   1271 /*** IDispatch methods ***/
   1272 static inline HRESULT IWMPControls_GetTypeInfoCount(IWMPControls* This,UINT *pctinfo) {
   1273     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1274 }
   1275 static inline HRESULT IWMPControls_GetTypeInfo(IWMPControls* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1276     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1277 }
   1278 static inline HRESULT IWMPControls_GetIDsOfNames(IWMPControls* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1279     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1280 }
   1281 static inline HRESULT IWMPControls_Invoke(IWMPControls* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1282     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1283 }
   1284 /*** IWMPControls methods ***/
   1285 static inline HRESULT IWMPControls_get_isAvailable(IWMPControls* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
   1286     return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
   1287 }
   1288 static inline HRESULT IWMPControls_play(IWMPControls* This) {
   1289     return This->lpVtbl->play(This);
   1290 }
   1291 static inline HRESULT IWMPControls_stop(IWMPControls* This) {
   1292     return This->lpVtbl->stop(This);
   1293 }
   1294 static inline HRESULT IWMPControls_pause(IWMPControls* This) {
   1295     return This->lpVtbl->pause(This);
   1296 }
   1297 static inline HRESULT IWMPControls_fastForward(IWMPControls* This) {
   1298     return This->lpVtbl->fastForward(This);
   1299 }
   1300 static inline HRESULT IWMPControls_fastReverse(IWMPControls* This) {
   1301     return This->lpVtbl->fastReverse(This);
   1302 }
   1303 static inline HRESULT IWMPControls_get_currentPosition(IWMPControls* This,double *pdCurrentPosition) {
   1304     return This->lpVtbl->get_currentPosition(This,pdCurrentPosition);
   1305 }
   1306 static inline HRESULT IWMPControls_put_currentPosition(IWMPControls* This,double pdCurrentPosition) {
   1307     return This->lpVtbl->put_currentPosition(This,pdCurrentPosition);
   1308 }
   1309 static inline HRESULT IWMPControls_get_currentPositionString(IWMPControls* This,BSTR *pbstrCurrentPosition) {
   1310     return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition);
   1311 }
   1312 static inline HRESULT IWMPControls_next(IWMPControls* This) {
   1313     return This->lpVtbl->next(This);
   1314 }
   1315 static inline HRESULT IWMPControls_previous(IWMPControls* This) {
   1316     return This->lpVtbl->previous(This);
   1317 }
   1318 static inline HRESULT IWMPControls_currentItem(IWMPControls* This,IWMPMedia **ppIWMPMedia) {
   1319     return This->lpVtbl->currentItem(This,ppIWMPMedia);
   1320 }
   1321 static inline HRESULT IWMPControls_put_currentItem(IWMPControls* This,IWMPMedia *ppIWMPMedia) {
   1322     return This->lpVtbl->put_currentItem(This,ppIWMPMedia);
   1323 }
   1324 static inline HRESULT IWMPControls_get_currentMarker(IWMPControls* This,LONG *plMarker) {
   1325     return This->lpVtbl->get_currentMarker(This,plMarker);
   1326 }
   1327 static inline HRESULT IWMPControls_put_currentMarker(IWMPControls* This,LONG plMarker) {
   1328     return This->lpVtbl->put_currentMarker(This,plMarker);
   1329 }
   1330 static inline HRESULT IWMPControls_playItem(IWMPControls* This,IWMPMedia *pIWMPMedia) {
   1331     return This->lpVtbl->playItem(This,pIWMPMedia);
   1332 }
   1333 #endif
   1334 #endif
   1335 
   1336 #endif
   1337 
   1338 
   1339 #endif  /* __IWMPControls_INTERFACE_DEFINED__ */
   1340 
   1341 /*****************************************************************************
   1342  * IWMPControls2 interface
   1343  */
   1344 #ifndef __IWMPControls2_INTERFACE_DEFINED__
   1345 #define __IWMPControls2_INTERFACE_DEFINED__
   1346 
   1347 DEFINE_GUID(IID_IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e);
   1348 #if defined(__cplusplus) && !defined(CINTERFACE)
   1349 MIDL_INTERFACE("6f030d25-0890-480f-9775-1f7e40ab5b8e")
   1350 IWMPControls2 : public IWMPControls
   1351 {
   1352     virtual HRESULT STDMETHODCALLTYPE step(
   1353         LONG lStep) = 0;
   1354 
   1355 };
   1356 #ifdef __CRT_UUID_DECL
   1357 __CRT_UUID_DECL(IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e)
   1358 #endif
   1359 #else
   1360 typedef struct IWMPControls2Vtbl {
   1361     BEGIN_INTERFACE
   1362 
   1363     /*** IUnknown methods ***/
   1364     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1365         IWMPControls2 *This,
   1366         REFIID riid,
   1367         void **ppvObject);
   1368 
   1369     ULONG (STDMETHODCALLTYPE *AddRef)(
   1370         IWMPControls2 *This);
   1371 
   1372     ULONG (STDMETHODCALLTYPE *Release)(
   1373         IWMPControls2 *This);
   1374 
   1375     /*** IDispatch methods ***/
   1376     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1377         IWMPControls2 *This,
   1378         UINT *pctinfo);
   1379 
   1380     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1381         IWMPControls2 *This,
   1382         UINT iTInfo,
   1383         LCID lcid,
   1384         ITypeInfo **ppTInfo);
   1385 
   1386     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1387         IWMPControls2 *This,
   1388         REFIID riid,
   1389         LPOLESTR *rgszNames,
   1390         UINT cNames,
   1391         LCID lcid,
   1392         DISPID *rgDispId);
   1393 
   1394     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1395         IWMPControls2 *This,
   1396         DISPID dispIdMember,
   1397         REFIID riid,
   1398         LCID lcid,
   1399         WORD wFlags,
   1400         DISPPARAMS *pDispParams,
   1401         VARIANT *pVarResult,
   1402         EXCEPINFO *pExcepInfo,
   1403         UINT *puArgErr);
   1404 
   1405     /*** IWMPControls methods ***/
   1406     HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
   1407         IWMPControls2 *This,
   1408         BSTR bstrItem,
   1409         VARIANT_BOOL *pIsAvailable);
   1410 
   1411     HRESULT (STDMETHODCALLTYPE *play)(
   1412         IWMPControls2 *This);
   1413 
   1414     HRESULT (STDMETHODCALLTYPE *stop)(
   1415         IWMPControls2 *This);
   1416 
   1417     HRESULT (STDMETHODCALLTYPE *pause)(
   1418         IWMPControls2 *This);
   1419 
   1420     HRESULT (STDMETHODCALLTYPE *fastForward)(
   1421         IWMPControls2 *This);
   1422 
   1423     HRESULT (STDMETHODCALLTYPE *fastReverse)(
   1424         IWMPControls2 *This);
   1425 
   1426     HRESULT (STDMETHODCALLTYPE *get_currentPosition)(
   1427         IWMPControls2 *This,
   1428         double *pdCurrentPosition);
   1429 
   1430     HRESULT (STDMETHODCALLTYPE *put_currentPosition)(
   1431         IWMPControls2 *This,
   1432         double pdCurrentPosition);
   1433 
   1434     HRESULT (STDMETHODCALLTYPE *get_currentPositionString)(
   1435         IWMPControls2 *This,
   1436         BSTR *pbstrCurrentPosition);
   1437 
   1438     HRESULT (STDMETHODCALLTYPE *next)(
   1439         IWMPControls2 *This);
   1440 
   1441     HRESULT (STDMETHODCALLTYPE *previous)(
   1442         IWMPControls2 *This);
   1443 
   1444     HRESULT (STDMETHODCALLTYPE *currentItem)(
   1445         IWMPControls2 *This,
   1446         IWMPMedia **ppIWMPMedia);
   1447 
   1448     HRESULT (STDMETHODCALLTYPE *put_currentItem)(
   1449         IWMPControls2 *This,
   1450         IWMPMedia *ppIWMPMedia);
   1451 
   1452     HRESULT (STDMETHODCALLTYPE *get_currentMarker)(
   1453         IWMPControls2 *This,
   1454         LONG *plMarker);
   1455 
   1456     HRESULT (STDMETHODCALLTYPE *put_currentMarker)(
   1457         IWMPControls2 *This,
   1458         LONG plMarker);
   1459 
   1460     HRESULT (STDMETHODCALLTYPE *playItem)(
   1461         IWMPControls2 *This,
   1462         IWMPMedia *pIWMPMedia);
   1463 
   1464     /*** IWMPControls2 methods ***/
   1465     HRESULT (STDMETHODCALLTYPE *step)(
   1466         IWMPControls2 *This,
   1467         LONG lStep);
   1468 
   1469     END_INTERFACE
   1470 } IWMPControls2Vtbl;
   1471 
   1472 interface IWMPControls2 {
   1473     CONST_VTBL IWMPControls2Vtbl* lpVtbl;
   1474 };
   1475 
   1476 #ifdef COBJMACROS
   1477 #ifndef WIDL_C_INLINE_WRAPPERS
   1478 /*** IUnknown methods ***/
   1479 #define IWMPControls2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1480 #define IWMPControls2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1481 #define IWMPControls2_Release(This) (This)->lpVtbl->Release(This)
   1482 /*** IDispatch methods ***/
   1483 #define IWMPControls2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1484 #define IWMPControls2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1485 #define IWMPControls2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1486 #define IWMPControls2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1487 /*** IWMPControls methods ***/
   1488 #define IWMPControls2_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
   1489 #define IWMPControls2_play(This) (This)->lpVtbl->play(This)
   1490 #define IWMPControls2_stop(This) (This)->lpVtbl->stop(This)
   1491 #define IWMPControls2_pause(This) (This)->lpVtbl->pause(This)
   1492 #define IWMPControls2_fastForward(This) (This)->lpVtbl->fastForward(This)
   1493 #define IWMPControls2_fastReverse(This) (This)->lpVtbl->fastReverse(This)
   1494 #define IWMPControls2_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition)
   1495 #define IWMPControls2_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition)
   1496 #define IWMPControls2_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition)
   1497 #define IWMPControls2_next(This) (This)->lpVtbl->next(This)
   1498 #define IWMPControls2_previous(This) (This)->lpVtbl->previous(This)
   1499 #define IWMPControls2_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia)
   1500 #define IWMPControls2_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia)
   1501 #define IWMPControls2_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker)
   1502 #define IWMPControls2_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker)
   1503 #define IWMPControls2_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia)
   1504 /*** IWMPControls2 methods ***/
   1505 #define IWMPControls2_step(This,lStep) (This)->lpVtbl->step(This,lStep)
   1506 #else
   1507 /*** IUnknown methods ***/
   1508 static inline HRESULT IWMPControls2_QueryInterface(IWMPControls2* This,REFIID riid,void **ppvObject) {
   1509     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1510 }
   1511 static inline ULONG IWMPControls2_AddRef(IWMPControls2* This) {
   1512     return This->lpVtbl->AddRef(This);
   1513 }
   1514 static inline ULONG IWMPControls2_Release(IWMPControls2* This) {
   1515     return This->lpVtbl->Release(This);
   1516 }
   1517 /*** IDispatch methods ***/
   1518 static inline HRESULT IWMPControls2_GetTypeInfoCount(IWMPControls2* This,UINT *pctinfo) {
   1519     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1520 }
   1521 static inline HRESULT IWMPControls2_GetTypeInfo(IWMPControls2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1522     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1523 }
   1524 static inline HRESULT IWMPControls2_GetIDsOfNames(IWMPControls2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1525     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1526 }
   1527 static inline HRESULT IWMPControls2_Invoke(IWMPControls2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1528     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1529 }
   1530 /*** IWMPControls methods ***/
   1531 static inline HRESULT IWMPControls2_get_isAvailable(IWMPControls2* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
   1532     return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
   1533 }
   1534 static inline HRESULT IWMPControls2_play(IWMPControls2* This) {
   1535     return This->lpVtbl->play(This);
   1536 }
   1537 static inline HRESULT IWMPControls2_stop(IWMPControls2* This) {
   1538     return This->lpVtbl->stop(This);
   1539 }
   1540 static inline HRESULT IWMPControls2_pause(IWMPControls2* This) {
   1541     return This->lpVtbl->pause(This);
   1542 }
   1543 static inline HRESULT IWMPControls2_fastForward(IWMPControls2* This) {
   1544     return This->lpVtbl->fastForward(This);
   1545 }
   1546 static inline HRESULT IWMPControls2_fastReverse(IWMPControls2* This) {
   1547     return This->lpVtbl->fastReverse(This);
   1548 }
   1549 static inline HRESULT IWMPControls2_get_currentPosition(IWMPControls2* This,double *pdCurrentPosition) {
   1550     return This->lpVtbl->get_currentPosition(This,pdCurrentPosition);
   1551 }
   1552 static inline HRESULT IWMPControls2_put_currentPosition(IWMPControls2* This,double pdCurrentPosition) {
   1553     return This->lpVtbl->put_currentPosition(This,pdCurrentPosition);
   1554 }
   1555 static inline HRESULT IWMPControls2_get_currentPositionString(IWMPControls2* This,BSTR *pbstrCurrentPosition) {
   1556     return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition);
   1557 }
   1558 static inline HRESULT IWMPControls2_next(IWMPControls2* This) {
   1559     return This->lpVtbl->next(This);
   1560 }
   1561 static inline HRESULT IWMPControls2_previous(IWMPControls2* This) {
   1562     return This->lpVtbl->previous(This);
   1563 }
   1564 static inline HRESULT IWMPControls2_currentItem(IWMPControls2* This,IWMPMedia **ppIWMPMedia) {
   1565     return This->lpVtbl->currentItem(This,ppIWMPMedia);
   1566 }
   1567 static inline HRESULT IWMPControls2_put_currentItem(IWMPControls2* This,IWMPMedia *ppIWMPMedia) {
   1568     return This->lpVtbl->put_currentItem(This,ppIWMPMedia);
   1569 }
   1570 static inline HRESULT IWMPControls2_get_currentMarker(IWMPControls2* This,LONG *plMarker) {
   1571     return This->lpVtbl->get_currentMarker(This,plMarker);
   1572 }
   1573 static inline HRESULT IWMPControls2_put_currentMarker(IWMPControls2* This,LONG plMarker) {
   1574     return This->lpVtbl->put_currentMarker(This,plMarker);
   1575 }
   1576 static inline HRESULT IWMPControls2_playItem(IWMPControls2* This,IWMPMedia *pIWMPMedia) {
   1577     return This->lpVtbl->playItem(This,pIWMPMedia);
   1578 }
   1579 /*** IWMPControls2 methods ***/
   1580 static inline HRESULT IWMPControls2_step(IWMPControls2* This,LONG lStep) {
   1581     return This->lpVtbl->step(This,lStep);
   1582 }
   1583 #endif
   1584 #endif
   1585 
   1586 #endif
   1587 
   1588 
   1589 #endif  /* __IWMPControls2_INTERFACE_DEFINED__ */
   1590 
   1591 /*****************************************************************************
   1592  * IWMPRemoteMediaServices interface
   1593  */
   1594 #ifndef __IWMPRemoteMediaServices_INTERFACE_DEFINED__
   1595 #define __IWMPRemoteMediaServices_INTERFACE_DEFINED__
   1596 
   1597 DEFINE_GUID(IID_IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59);
   1598 #if defined(__cplusplus) && !defined(CINTERFACE)
   1599 MIDL_INTERFACE("cbb92747-741f-44fe-ab5b-f1a48f3b2a59")
   1600 IWMPRemoteMediaServices : public IUnknown
   1601 {
   1602     virtual HRESULT STDMETHODCALLTYPE GetServiceType(
   1603         BSTR *type) = 0;
   1604 
   1605     virtual HRESULT STDMETHODCALLTYPE GetApplicationName(
   1606         BSTR *name) = 0;
   1607 
   1608     virtual HRESULT STDMETHODCALLTYPE GetScriptableObject(
   1609         BSTR *name,
   1610         IDispatch **out) = 0;
   1611 
   1612     virtual HRESULT STDMETHODCALLTYPE GetCustomUIMode(
   1613         BSTR *file) = 0;
   1614 
   1615 };
   1616 #ifdef __CRT_UUID_DECL
   1617 __CRT_UUID_DECL(IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59)
   1618 #endif
   1619 #else
   1620 typedef struct IWMPRemoteMediaServicesVtbl {
   1621     BEGIN_INTERFACE
   1622 
   1623     /*** IUnknown methods ***/
   1624     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1625         IWMPRemoteMediaServices *This,
   1626         REFIID riid,
   1627         void **ppvObject);
   1628 
   1629     ULONG (STDMETHODCALLTYPE *AddRef)(
   1630         IWMPRemoteMediaServices *This);
   1631 
   1632     ULONG (STDMETHODCALLTYPE *Release)(
   1633         IWMPRemoteMediaServices *This);
   1634 
   1635     /*** IWMPRemoteMediaServices methods ***/
   1636     HRESULT (STDMETHODCALLTYPE *GetServiceType)(
   1637         IWMPRemoteMediaServices *This,
   1638         BSTR *type);
   1639 
   1640     HRESULT (STDMETHODCALLTYPE *GetApplicationName)(
   1641         IWMPRemoteMediaServices *This,
   1642         BSTR *name);
   1643 
   1644     HRESULT (STDMETHODCALLTYPE *GetScriptableObject)(
   1645         IWMPRemoteMediaServices *This,
   1646         BSTR *name,
   1647         IDispatch **out);
   1648 
   1649     HRESULT (STDMETHODCALLTYPE *GetCustomUIMode)(
   1650         IWMPRemoteMediaServices *This,
   1651         BSTR *file);
   1652 
   1653     END_INTERFACE
   1654 } IWMPRemoteMediaServicesVtbl;
   1655 
   1656 interface IWMPRemoteMediaServices {
   1657     CONST_VTBL IWMPRemoteMediaServicesVtbl* lpVtbl;
   1658 };
   1659 
   1660 #ifdef COBJMACROS
   1661 #ifndef WIDL_C_INLINE_WRAPPERS
   1662 /*** IUnknown methods ***/
   1663 #define IWMPRemoteMediaServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1664 #define IWMPRemoteMediaServices_AddRef(This) (This)->lpVtbl->AddRef(This)
   1665 #define IWMPRemoteMediaServices_Release(This) (This)->lpVtbl->Release(This)
   1666 /*** IWMPRemoteMediaServices methods ***/
   1667 #define IWMPRemoteMediaServices_GetServiceType(This,type) (This)->lpVtbl->GetServiceType(This,type)
   1668 #define IWMPRemoteMediaServices_GetApplicationName(This,name) (This)->lpVtbl->GetApplicationName(This,name)
   1669 #define IWMPRemoteMediaServices_GetScriptableObject(This,name,out) (This)->lpVtbl->GetScriptableObject(This,name,out)
   1670 #define IWMPRemoteMediaServices_GetCustomUIMode(This,file) (This)->lpVtbl->GetCustomUIMode(This,file)
   1671 #else
   1672 /*** IUnknown methods ***/
   1673 static inline HRESULT IWMPRemoteMediaServices_QueryInterface(IWMPRemoteMediaServices* This,REFIID riid,void **ppvObject) {
   1674     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1675 }
   1676 static inline ULONG IWMPRemoteMediaServices_AddRef(IWMPRemoteMediaServices* This) {
   1677     return This->lpVtbl->AddRef(This);
   1678 }
   1679 static inline ULONG IWMPRemoteMediaServices_Release(IWMPRemoteMediaServices* This) {
   1680     return This->lpVtbl->Release(This);
   1681 }
   1682 /*** IWMPRemoteMediaServices methods ***/
   1683 static inline HRESULT IWMPRemoteMediaServices_GetServiceType(IWMPRemoteMediaServices* This,BSTR *type) {
   1684     return This->lpVtbl->GetServiceType(This,type);
   1685 }
   1686 static inline HRESULT IWMPRemoteMediaServices_GetApplicationName(IWMPRemoteMediaServices* This,BSTR *name) {
   1687     return This->lpVtbl->GetApplicationName(This,name);
   1688 }
   1689 static inline HRESULT IWMPRemoteMediaServices_GetScriptableObject(IWMPRemoteMediaServices* This,BSTR *name,IDispatch **out) {
   1690     return This->lpVtbl->GetScriptableObject(This,name,out);
   1691 }
   1692 static inline HRESULT IWMPRemoteMediaServices_GetCustomUIMode(IWMPRemoteMediaServices* This,BSTR *file) {
   1693     return This->lpVtbl->GetCustomUIMode(This,file);
   1694 }
   1695 #endif
   1696 #endif
   1697 
   1698 #endif
   1699 
   1700 
   1701 #endif  /* __IWMPRemoteMediaServices_INTERFACE_DEFINED__ */
   1702 
   1703 /*****************************************************************************
   1704  * IWMPSettings interface
   1705  */
   1706 #ifndef __IWMPSettings_INTERFACE_DEFINED__
   1707 #define __IWMPSettings_INTERFACE_DEFINED__
   1708 
   1709 DEFINE_GUID(IID_IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14);
   1710 #if defined(__cplusplus) && !defined(CINTERFACE)
   1711 MIDL_INTERFACE("9104d1ab-80c9-4fed-abf0-2e6417a6df14")
   1712 IWMPSettings : public IDispatch
   1713 {
   1714     virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
   1715         BSTR bstrItem,
   1716         VARIANT_BOOL *pIsAvailable) = 0;
   1717 
   1718     virtual HRESULT STDMETHODCALLTYPE get_autoStart(
   1719         VARIANT_BOOL *pfAutoStart) = 0;
   1720 
   1721     virtual HRESULT STDMETHODCALLTYPE put_autoStart(
   1722         VARIANT_BOOL pfAutoStart) = 0;
   1723 
   1724     virtual HRESULT STDMETHODCALLTYPE get_baseURL(
   1725         BSTR *pbstrBaseURL) = 0;
   1726 
   1727     virtual HRESULT STDMETHODCALLTYPE put_baseURL(
   1728         BSTR pbstrBaseURL) = 0;
   1729 
   1730     virtual HRESULT STDMETHODCALLTYPE get_defaultFrame(
   1731         BSTR *pbstrDefaultFrame) = 0;
   1732 
   1733     virtual HRESULT STDMETHODCALLTYPE put_defaultFrame(
   1734         BSTR pbstrDefaultFrame) = 0;
   1735 
   1736     virtual HRESULT STDMETHODCALLTYPE get_invokeURLs(
   1737         VARIANT_BOOL *pfInvokeURLs) = 0;
   1738 
   1739     virtual HRESULT STDMETHODCALLTYPE put_invokeURLs(
   1740         VARIANT_BOOL pfInvokeURLs) = 0;
   1741 
   1742     virtual HRESULT STDMETHODCALLTYPE get_mute(
   1743         VARIANT_BOOL *pfMute) = 0;
   1744 
   1745     virtual HRESULT STDMETHODCALLTYPE put_mute(
   1746         VARIANT_BOOL pfMute) = 0;
   1747 
   1748     virtual HRESULT STDMETHODCALLTYPE get_playCount(
   1749         LONG *plCount) = 0;
   1750 
   1751     virtual HRESULT STDMETHODCALLTYPE put_playCount(
   1752         LONG plCount) = 0;
   1753 
   1754     virtual HRESULT STDMETHODCALLTYPE get_rate(
   1755         double *pdRate) = 0;
   1756 
   1757     virtual HRESULT STDMETHODCALLTYPE put_rate(
   1758         double pdRate) = 0;
   1759 
   1760     virtual HRESULT STDMETHODCALLTYPE get_balance(
   1761         LONG *plBalance) = 0;
   1762 
   1763     virtual HRESULT STDMETHODCALLTYPE put_balance(
   1764         LONG plBalance) = 0;
   1765 
   1766     virtual HRESULT STDMETHODCALLTYPE get_volume(
   1767         LONG *plVolume) = 0;
   1768 
   1769     virtual HRESULT STDMETHODCALLTYPE put_volume(
   1770         LONG plVolume) = 0;
   1771 
   1772     virtual HRESULT STDMETHODCALLTYPE getMode(
   1773         BSTR bstrMode,
   1774         VARIANT_BOOL *pvarfMode) = 0;
   1775 
   1776     virtual HRESULT STDMETHODCALLTYPE setMode(
   1777         BSTR bstrMode,
   1778         VARIANT_BOOL varfMode) = 0;
   1779 
   1780     virtual HRESULT STDMETHODCALLTYPE get_enableErrorDialogs(
   1781         VARIANT_BOOL *pfEnableErrorDialogs) = 0;
   1782 
   1783     virtual HRESULT STDMETHODCALLTYPE put_enableErrorDialogs(
   1784         VARIANT_BOOL pfEnableErrorDialogs) = 0;
   1785 
   1786 };
   1787 #ifdef __CRT_UUID_DECL
   1788 __CRT_UUID_DECL(IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14)
   1789 #endif
   1790 #else
   1791 typedef struct IWMPSettingsVtbl {
   1792     BEGIN_INTERFACE
   1793 
   1794     /*** IUnknown methods ***/
   1795     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1796         IWMPSettings *This,
   1797         REFIID riid,
   1798         void **ppvObject);
   1799 
   1800     ULONG (STDMETHODCALLTYPE *AddRef)(
   1801         IWMPSettings *This);
   1802 
   1803     ULONG (STDMETHODCALLTYPE *Release)(
   1804         IWMPSettings *This);
   1805 
   1806     /*** IDispatch methods ***/
   1807     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1808         IWMPSettings *This,
   1809         UINT *pctinfo);
   1810 
   1811     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1812         IWMPSettings *This,
   1813         UINT iTInfo,
   1814         LCID lcid,
   1815         ITypeInfo **ppTInfo);
   1816 
   1817     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1818         IWMPSettings *This,
   1819         REFIID riid,
   1820         LPOLESTR *rgszNames,
   1821         UINT cNames,
   1822         LCID lcid,
   1823         DISPID *rgDispId);
   1824 
   1825     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1826         IWMPSettings *This,
   1827         DISPID dispIdMember,
   1828         REFIID riid,
   1829         LCID lcid,
   1830         WORD wFlags,
   1831         DISPPARAMS *pDispParams,
   1832         VARIANT *pVarResult,
   1833         EXCEPINFO *pExcepInfo,
   1834         UINT *puArgErr);
   1835 
   1836     /*** IWMPSettings methods ***/
   1837     HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
   1838         IWMPSettings *This,
   1839         BSTR bstrItem,
   1840         VARIANT_BOOL *pIsAvailable);
   1841 
   1842     HRESULT (STDMETHODCALLTYPE *get_autoStart)(
   1843         IWMPSettings *This,
   1844         VARIANT_BOOL *pfAutoStart);
   1845 
   1846     HRESULT (STDMETHODCALLTYPE *put_autoStart)(
   1847         IWMPSettings *This,
   1848         VARIANT_BOOL pfAutoStart);
   1849 
   1850     HRESULT (STDMETHODCALLTYPE *get_baseURL)(
   1851         IWMPSettings *This,
   1852         BSTR *pbstrBaseURL);
   1853 
   1854     HRESULT (STDMETHODCALLTYPE *put_baseURL)(
   1855         IWMPSettings *This,
   1856         BSTR pbstrBaseURL);
   1857 
   1858     HRESULT (STDMETHODCALLTYPE *get_defaultFrame)(
   1859         IWMPSettings *This,
   1860         BSTR *pbstrDefaultFrame);
   1861 
   1862     HRESULT (STDMETHODCALLTYPE *put_defaultFrame)(
   1863         IWMPSettings *This,
   1864         BSTR pbstrDefaultFrame);
   1865 
   1866     HRESULT (STDMETHODCALLTYPE *get_invokeURLs)(
   1867         IWMPSettings *This,
   1868         VARIANT_BOOL *pfInvokeURLs);
   1869 
   1870     HRESULT (STDMETHODCALLTYPE *put_invokeURLs)(
   1871         IWMPSettings *This,
   1872         VARIANT_BOOL pfInvokeURLs);
   1873 
   1874     HRESULT (STDMETHODCALLTYPE *get_mute)(
   1875         IWMPSettings *This,
   1876         VARIANT_BOOL *pfMute);
   1877 
   1878     HRESULT (STDMETHODCALLTYPE *put_mute)(
   1879         IWMPSettings *This,
   1880         VARIANT_BOOL pfMute);
   1881 
   1882     HRESULT (STDMETHODCALLTYPE *get_playCount)(
   1883         IWMPSettings *This,
   1884         LONG *plCount);
   1885 
   1886     HRESULT (STDMETHODCALLTYPE *put_playCount)(
   1887         IWMPSettings *This,
   1888         LONG plCount);
   1889 
   1890     HRESULT (STDMETHODCALLTYPE *get_rate)(
   1891         IWMPSettings *This,
   1892         double *pdRate);
   1893 
   1894     HRESULT (STDMETHODCALLTYPE *put_rate)(
   1895         IWMPSettings *This,
   1896         double pdRate);
   1897 
   1898     HRESULT (STDMETHODCALLTYPE *get_balance)(
   1899         IWMPSettings *This,
   1900         LONG *plBalance);
   1901 
   1902     HRESULT (STDMETHODCALLTYPE *put_balance)(
   1903         IWMPSettings *This,
   1904         LONG plBalance);
   1905 
   1906     HRESULT (STDMETHODCALLTYPE *get_volume)(
   1907         IWMPSettings *This,
   1908         LONG *plVolume);
   1909 
   1910     HRESULT (STDMETHODCALLTYPE *put_volume)(
   1911         IWMPSettings *This,
   1912         LONG plVolume);
   1913 
   1914     HRESULT (STDMETHODCALLTYPE *getMode)(
   1915         IWMPSettings *This,
   1916         BSTR bstrMode,
   1917         VARIANT_BOOL *pvarfMode);
   1918 
   1919     HRESULT (STDMETHODCALLTYPE *setMode)(
   1920         IWMPSettings *This,
   1921         BSTR bstrMode,
   1922         VARIANT_BOOL varfMode);
   1923 
   1924     HRESULT (STDMETHODCALLTYPE *get_enableErrorDialogs)(
   1925         IWMPSettings *This,
   1926         VARIANT_BOOL *pfEnableErrorDialogs);
   1927 
   1928     HRESULT (STDMETHODCALLTYPE *put_enableErrorDialogs)(
   1929         IWMPSettings *This,
   1930         VARIANT_BOOL pfEnableErrorDialogs);
   1931 
   1932     END_INTERFACE
   1933 } IWMPSettingsVtbl;
   1934 
   1935 interface IWMPSettings {
   1936     CONST_VTBL IWMPSettingsVtbl* lpVtbl;
   1937 };
   1938 
   1939 #ifdef COBJMACROS
   1940 #ifndef WIDL_C_INLINE_WRAPPERS
   1941 /*** IUnknown methods ***/
   1942 #define IWMPSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1943 #define IWMPSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
   1944 #define IWMPSettings_Release(This) (This)->lpVtbl->Release(This)
   1945 /*** IDispatch methods ***/
   1946 #define IWMPSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1947 #define IWMPSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1948 #define IWMPSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1949 #define IWMPSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1950 /*** IWMPSettings methods ***/
   1951 #define IWMPSettings_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
   1952 #define IWMPSettings_get_autoStart(This,pfAutoStart) (This)->lpVtbl->get_autoStart(This,pfAutoStart)
   1953 #define IWMPSettings_put_autoStart(This,pfAutoStart) (This)->lpVtbl->put_autoStart(This,pfAutoStart)
   1954 #define IWMPSettings_get_baseURL(This,pbstrBaseURL) (This)->lpVtbl->get_baseURL(This,pbstrBaseURL)
   1955 #define IWMPSettings_put_baseURL(This,pbstrBaseURL) (This)->lpVtbl->put_baseURL(This,pbstrBaseURL)
   1956 #define IWMPSettings_get_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame)
   1957 #define IWMPSettings_put_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame)
   1958 #define IWMPSettings_get_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->get_invokeURLs(This,pfInvokeURLs)
   1959 #define IWMPSettings_put_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->put_invokeURLs(This,pfInvokeURLs)
   1960 #define IWMPSettings_get_mute(This,pfMute) (This)->lpVtbl->get_mute(This,pfMute)
   1961 #define IWMPSettings_put_mute(This,pfMute) (This)->lpVtbl->put_mute(This,pfMute)
   1962 #define IWMPSettings_get_playCount(This,plCount) (This)->lpVtbl->get_playCount(This,plCount)
   1963 #define IWMPSettings_put_playCount(This,plCount) (This)->lpVtbl->put_playCount(This,plCount)
   1964 #define IWMPSettings_get_rate(This,pdRate) (This)->lpVtbl->get_rate(This,pdRate)
   1965 #define IWMPSettings_put_rate(This,pdRate) (This)->lpVtbl->put_rate(This,pdRate)
   1966 #define IWMPSettings_get_balance(This,plBalance) (This)->lpVtbl->get_balance(This,plBalance)
   1967 #define IWMPSettings_put_balance(This,plBalance) (This)->lpVtbl->put_balance(This,plBalance)
   1968 #define IWMPSettings_get_volume(This,plVolume) (This)->lpVtbl->get_volume(This,plVolume)
   1969 #define IWMPSettings_put_volume(This,plVolume) (This)->lpVtbl->put_volume(This,plVolume)
   1970 #define IWMPSettings_getMode(This,bstrMode,pvarfMode) (This)->lpVtbl->getMode(This,bstrMode,pvarfMode)
   1971 #define IWMPSettings_setMode(This,bstrMode,varfMode) (This)->lpVtbl->setMode(This,bstrMode,varfMode)
   1972 #define IWMPSettings_get_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs)
   1973 #define IWMPSettings_put_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs)
   1974 #else
   1975 /*** IUnknown methods ***/
   1976 static inline HRESULT IWMPSettings_QueryInterface(IWMPSettings* This,REFIID riid,void **ppvObject) {
   1977     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1978 }
   1979 static inline ULONG IWMPSettings_AddRef(IWMPSettings* This) {
   1980     return This->lpVtbl->AddRef(This);
   1981 }
   1982 static inline ULONG IWMPSettings_Release(IWMPSettings* This) {
   1983     return This->lpVtbl->Release(This);
   1984 }
   1985 /*** IDispatch methods ***/
   1986 static inline HRESULT IWMPSettings_GetTypeInfoCount(IWMPSettings* This,UINT *pctinfo) {
   1987     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1988 }
   1989 static inline HRESULT IWMPSettings_GetTypeInfo(IWMPSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1990     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1991 }
   1992 static inline HRESULT IWMPSettings_GetIDsOfNames(IWMPSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1993     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1994 }
   1995 static inline HRESULT IWMPSettings_Invoke(IWMPSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1996     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1997 }
   1998 /*** IWMPSettings methods ***/
   1999 static inline HRESULT IWMPSettings_get_isAvailable(IWMPSettings* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
   2000     return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
   2001 }
   2002 static inline HRESULT IWMPSettings_get_autoStart(IWMPSettings* This,VARIANT_BOOL *pfAutoStart) {
   2003     return This->lpVtbl->get_autoStart(This,pfAutoStart);
   2004 }
   2005 static inline HRESULT IWMPSettings_put_autoStart(IWMPSettings* This,VARIANT_BOOL pfAutoStart) {
   2006     return This->lpVtbl->put_autoStart(This,pfAutoStart);
   2007 }
   2008 static inline HRESULT IWMPSettings_get_baseURL(IWMPSettings* This,BSTR *pbstrBaseURL) {
   2009     return This->lpVtbl->get_baseURL(This,pbstrBaseURL);
   2010 }
   2011 static inline HRESULT IWMPSettings_put_baseURL(IWMPSettings* This,BSTR pbstrBaseURL) {
   2012     return This->lpVtbl->put_baseURL(This,pbstrBaseURL);
   2013 }
   2014 static inline HRESULT IWMPSettings_get_defaultFrame(IWMPSettings* This,BSTR *pbstrDefaultFrame) {
   2015     return This->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame);
   2016 }
   2017 static inline HRESULT IWMPSettings_put_defaultFrame(IWMPSettings* This,BSTR pbstrDefaultFrame) {
   2018     return This->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame);
   2019 }
   2020 static inline HRESULT IWMPSettings_get_invokeURLs(IWMPSettings* This,VARIANT_BOOL *pfInvokeURLs) {
   2021     return This->lpVtbl->get_invokeURLs(This,pfInvokeURLs);
   2022 }
   2023 static inline HRESULT IWMPSettings_put_invokeURLs(IWMPSettings* This,VARIANT_BOOL pfInvokeURLs) {
   2024     return This->lpVtbl->put_invokeURLs(This,pfInvokeURLs);
   2025 }
   2026 static inline HRESULT IWMPSettings_get_mute(IWMPSettings* This,VARIANT_BOOL *pfMute) {
   2027     return This->lpVtbl->get_mute(This,pfMute);
   2028 }
   2029 static inline HRESULT IWMPSettings_put_mute(IWMPSettings* This,VARIANT_BOOL pfMute) {
   2030     return This->lpVtbl->put_mute(This,pfMute);
   2031 }
   2032 static inline HRESULT IWMPSettings_get_playCount(IWMPSettings* This,LONG *plCount) {
   2033     return This->lpVtbl->get_playCount(This,plCount);
   2034 }
   2035 static inline HRESULT IWMPSettings_put_playCount(IWMPSettings* This,LONG plCount) {
   2036     return This->lpVtbl->put_playCount(This,plCount);
   2037 }
   2038 static inline HRESULT IWMPSettings_get_rate(IWMPSettings* This,double *pdRate) {
   2039     return This->lpVtbl->get_rate(This,pdRate);
   2040 }
   2041 static inline HRESULT IWMPSettings_put_rate(IWMPSettings* This,double pdRate) {
   2042     return This->lpVtbl->put_rate(This,pdRate);
   2043 }
   2044 static inline HRESULT IWMPSettings_get_balance(IWMPSettings* This,LONG *plBalance) {
   2045     return This->lpVtbl->get_balance(This,plBalance);
   2046 }
   2047 static inline HRESULT IWMPSettings_put_balance(IWMPSettings* This,LONG plBalance) {
   2048     return This->lpVtbl->put_balance(This,plBalance);
   2049 }
   2050 static inline HRESULT IWMPSettings_get_volume(IWMPSettings* This,LONG *plVolume) {
   2051     return This->lpVtbl->get_volume(This,plVolume);
   2052 }
   2053 static inline HRESULT IWMPSettings_put_volume(IWMPSettings* This,LONG plVolume) {
   2054     return This->lpVtbl->put_volume(This,plVolume);
   2055 }
   2056 static inline HRESULT IWMPSettings_getMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL *pvarfMode) {
   2057     return This->lpVtbl->getMode(This,bstrMode,pvarfMode);
   2058 }
   2059 static inline HRESULT IWMPSettings_setMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL varfMode) {
   2060     return This->lpVtbl->setMode(This,bstrMode,varfMode);
   2061 }
   2062 static inline HRESULT IWMPSettings_get_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL *pfEnableErrorDialogs) {
   2063     return This->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs);
   2064 }
   2065 static inline HRESULT IWMPSettings_put_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL pfEnableErrorDialogs) {
   2066     return This->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs);
   2067 }
   2068 #endif
   2069 #endif
   2070 
   2071 #endif
   2072 
   2073 
   2074 #endif  /* __IWMPSettings_INTERFACE_DEFINED__ */
   2075 
   2076 /*****************************************************************************
   2077  * IWMPStringCollection interface
   2078  */
   2079 #ifndef __IWMPStringCollection_INTERFACE_DEFINED__
   2080 #define __IWMPStringCollection_INTERFACE_DEFINED__
   2081 
   2082 DEFINE_GUID(IID_IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b);
   2083 #if defined(__cplusplus) && !defined(CINTERFACE)
   2084 MIDL_INTERFACE("4a976298-8c0d-11d3-b389-00c04f68574b")
   2085 IWMPStringCollection : public IDispatch
   2086 {
   2087     virtual HRESULT STDMETHODCALLTYPE get_count(
   2088         LONG *plCount) = 0;
   2089 
   2090     virtual HRESULT STDMETHODCALLTYPE Item(
   2091         LONG lIndex,
   2092         BSTR *pbstrString) = 0;
   2093 
   2094 };
   2095 #ifdef __CRT_UUID_DECL
   2096 __CRT_UUID_DECL(IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b)
   2097 #endif
   2098 #else
   2099 typedef struct IWMPStringCollectionVtbl {
   2100     BEGIN_INTERFACE
   2101 
   2102     /*** IUnknown methods ***/
   2103     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2104         IWMPStringCollection *This,
   2105         REFIID riid,
   2106         void **ppvObject);
   2107 
   2108     ULONG (STDMETHODCALLTYPE *AddRef)(
   2109         IWMPStringCollection *This);
   2110 
   2111     ULONG (STDMETHODCALLTYPE *Release)(
   2112         IWMPStringCollection *This);
   2113 
   2114     /*** IDispatch methods ***/
   2115     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2116         IWMPStringCollection *This,
   2117         UINT *pctinfo);
   2118 
   2119     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2120         IWMPStringCollection *This,
   2121         UINT iTInfo,
   2122         LCID lcid,
   2123         ITypeInfo **ppTInfo);
   2124 
   2125     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2126         IWMPStringCollection *This,
   2127         REFIID riid,
   2128         LPOLESTR *rgszNames,
   2129         UINT cNames,
   2130         LCID lcid,
   2131         DISPID *rgDispId);
   2132 
   2133     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2134         IWMPStringCollection *This,
   2135         DISPID dispIdMember,
   2136         REFIID riid,
   2137         LCID lcid,
   2138         WORD wFlags,
   2139         DISPPARAMS *pDispParams,
   2140         VARIANT *pVarResult,
   2141         EXCEPINFO *pExcepInfo,
   2142         UINT *puArgErr);
   2143 
   2144     /*** IWMPStringCollection methods ***/
   2145     HRESULT (STDMETHODCALLTYPE *get_count)(
   2146         IWMPStringCollection *This,
   2147         LONG *plCount);
   2148 
   2149     HRESULT (STDMETHODCALLTYPE *Item)(
   2150         IWMPStringCollection *This,
   2151         LONG lIndex,
   2152         BSTR *pbstrString);
   2153 
   2154     END_INTERFACE
   2155 } IWMPStringCollectionVtbl;
   2156 
   2157 interface IWMPStringCollection {
   2158     CONST_VTBL IWMPStringCollectionVtbl* lpVtbl;
   2159 };
   2160 
   2161 #ifdef COBJMACROS
   2162 #ifndef WIDL_C_INLINE_WRAPPERS
   2163 /*** IUnknown methods ***/
   2164 #define IWMPStringCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2165 #define IWMPStringCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   2166 #define IWMPStringCollection_Release(This) (This)->lpVtbl->Release(This)
   2167 /*** IDispatch methods ***/
   2168 #define IWMPStringCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2169 #define IWMPStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2170 #define IWMPStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2171 #define IWMPStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2172 /*** IWMPStringCollection methods ***/
   2173 #define IWMPStringCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
   2174 #define IWMPStringCollection_Item(This,lIndex,pbstrString) (This)->lpVtbl->Item(This,lIndex,pbstrString)
   2175 #else
   2176 /*** IUnknown methods ***/
   2177 static inline HRESULT IWMPStringCollection_QueryInterface(IWMPStringCollection* This,REFIID riid,void **ppvObject) {
   2178     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2179 }
   2180 static inline ULONG IWMPStringCollection_AddRef(IWMPStringCollection* This) {
   2181     return This->lpVtbl->AddRef(This);
   2182 }
   2183 static inline ULONG IWMPStringCollection_Release(IWMPStringCollection* This) {
   2184     return This->lpVtbl->Release(This);
   2185 }
   2186 /*** IDispatch methods ***/
   2187 static inline HRESULT IWMPStringCollection_GetTypeInfoCount(IWMPStringCollection* This,UINT *pctinfo) {
   2188     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2189 }
   2190 static inline HRESULT IWMPStringCollection_GetTypeInfo(IWMPStringCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2191     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2192 }
   2193 static inline HRESULT IWMPStringCollection_GetIDsOfNames(IWMPStringCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2194     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2195 }
   2196 static inline HRESULT IWMPStringCollection_Invoke(IWMPStringCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2197     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2198 }
   2199 /*** IWMPStringCollection methods ***/
   2200 static inline HRESULT IWMPStringCollection_get_count(IWMPStringCollection* This,LONG *plCount) {
   2201     return This->lpVtbl->get_count(This,plCount);
   2202 }
   2203 static inline HRESULT IWMPStringCollection_Item(IWMPStringCollection* This,LONG lIndex,BSTR *pbstrString) {
   2204     return This->lpVtbl->Item(This,lIndex,pbstrString);
   2205 }
   2206 #endif
   2207 #endif
   2208 
   2209 #endif
   2210 
   2211 
   2212 #endif  /* __IWMPStringCollection_INTERFACE_DEFINED__ */
   2213 
   2214 /*****************************************************************************
   2215  * IWMPMediaCollection interface
   2216  */
   2217 #ifndef __IWMPMediaCollection_INTERFACE_DEFINED__
   2218 #define __IWMPMediaCollection_INTERFACE_DEFINED__
   2219 
   2220 DEFINE_GUID(IID_IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1);
   2221 #if defined(__cplusplus) && !defined(CINTERFACE)
   2222 MIDL_INTERFACE("8363bc22-b4b4-4b19-989d-1cd765749dd1")
   2223 IWMPMediaCollection : public IDispatch
   2224 {
   2225     virtual HRESULT STDMETHODCALLTYPE add(
   2226         BSTR bstrURL,
   2227         IWMPMedia **ppItem) = 0;
   2228 
   2229     virtual HRESULT STDMETHODCALLTYPE getAll(
   2230         IWMPPlaylist **ppMediaItems) = 0;
   2231 
   2232     virtual HRESULT STDMETHODCALLTYPE getByName(
   2233         BSTR bstrName,
   2234         IWMPPlaylist **ppMediaItems) = 0;
   2235 
   2236     virtual HRESULT STDMETHODCALLTYPE getByGenre(
   2237         BSTR bstrGenre,
   2238         IWMPPlaylist **ppMediaItems) = 0;
   2239 
   2240     virtual HRESULT STDMETHODCALLTYPE getByAuthor(
   2241         BSTR bstrAuthor,
   2242         IWMPPlaylist **ppMediaItems) = 0;
   2243 
   2244     virtual HRESULT STDMETHODCALLTYPE getByAlbum(
   2245         BSTR bstrAlbum,
   2246         IWMPPlaylist **ppMediaItems) = 0;
   2247 
   2248     virtual HRESULT STDMETHODCALLTYPE getByAttribute(
   2249         BSTR bstrAttribute,
   2250         BSTR bstrValue,
   2251         IWMPPlaylist **ppMediaItems) = 0;
   2252 
   2253     virtual HRESULT STDMETHODCALLTYPE remove(
   2254         IWMPMedia *pItem,
   2255         VARIANT_BOOL varfDeleteFile) = 0;
   2256 
   2257     virtual HRESULT STDMETHODCALLTYPE getAttributeStringCollection(
   2258         BSTR bstrAttribute,
   2259         BSTR bstrMediaType,
   2260         IWMPStringCollection **ppStringCollection) = 0;
   2261 
   2262     virtual HRESULT STDMETHODCALLTYPE getMediaAtom(
   2263         BSTR bstrItemName,
   2264         LONG *plAtom) = 0;
   2265 
   2266     virtual HRESULT STDMETHODCALLTYPE setDeleted(
   2267         IWMPMedia *pItem,
   2268         VARIANT_BOOL varfIsDeleted) = 0;
   2269 
   2270     virtual HRESULT STDMETHODCALLTYPE isDeleted(
   2271         IWMPMedia *pItem,
   2272         VARIANT_BOOL *pvarfIsDeleted) = 0;
   2273 
   2274 };
   2275 #ifdef __CRT_UUID_DECL
   2276 __CRT_UUID_DECL(IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1)
   2277 #endif
   2278 #else
   2279 typedef struct IWMPMediaCollectionVtbl {
   2280     BEGIN_INTERFACE
   2281 
   2282     /*** IUnknown methods ***/
   2283     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2284         IWMPMediaCollection *This,
   2285         REFIID riid,
   2286         void **ppvObject);
   2287 
   2288     ULONG (STDMETHODCALLTYPE *AddRef)(
   2289         IWMPMediaCollection *This);
   2290 
   2291     ULONG (STDMETHODCALLTYPE *Release)(
   2292         IWMPMediaCollection *This);
   2293 
   2294     /*** IDispatch methods ***/
   2295     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2296         IWMPMediaCollection *This,
   2297         UINT *pctinfo);
   2298 
   2299     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2300         IWMPMediaCollection *This,
   2301         UINT iTInfo,
   2302         LCID lcid,
   2303         ITypeInfo **ppTInfo);
   2304 
   2305     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2306         IWMPMediaCollection *This,
   2307         REFIID riid,
   2308         LPOLESTR *rgszNames,
   2309         UINT cNames,
   2310         LCID lcid,
   2311         DISPID *rgDispId);
   2312 
   2313     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2314         IWMPMediaCollection *This,
   2315         DISPID dispIdMember,
   2316         REFIID riid,
   2317         LCID lcid,
   2318         WORD wFlags,
   2319         DISPPARAMS *pDispParams,
   2320         VARIANT *pVarResult,
   2321         EXCEPINFO *pExcepInfo,
   2322         UINT *puArgErr);
   2323 
   2324     /*** IWMPMediaCollection methods ***/
   2325     HRESULT (STDMETHODCALLTYPE *add)(
   2326         IWMPMediaCollection *This,
   2327         BSTR bstrURL,
   2328         IWMPMedia **ppItem);
   2329 
   2330     HRESULT (STDMETHODCALLTYPE *getAll)(
   2331         IWMPMediaCollection *This,
   2332         IWMPPlaylist **ppMediaItems);
   2333 
   2334     HRESULT (STDMETHODCALLTYPE *getByName)(
   2335         IWMPMediaCollection *This,
   2336         BSTR bstrName,
   2337         IWMPPlaylist **ppMediaItems);
   2338 
   2339     HRESULT (STDMETHODCALLTYPE *getByGenre)(
   2340         IWMPMediaCollection *This,
   2341         BSTR bstrGenre,
   2342         IWMPPlaylist **ppMediaItems);
   2343 
   2344     HRESULT (STDMETHODCALLTYPE *getByAuthor)(
   2345         IWMPMediaCollection *This,
   2346         BSTR bstrAuthor,
   2347         IWMPPlaylist **ppMediaItems);
   2348 
   2349     HRESULT (STDMETHODCALLTYPE *getByAlbum)(
   2350         IWMPMediaCollection *This,
   2351         BSTR bstrAlbum,
   2352         IWMPPlaylist **ppMediaItems);
   2353 
   2354     HRESULT (STDMETHODCALLTYPE *getByAttribute)(
   2355         IWMPMediaCollection *This,
   2356         BSTR bstrAttribute,
   2357         BSTR bstrValue,
   2358         IWMPPlaylist **ppMediaItems);
   2359 
   2360     HRESULT (STDMETHODCALLTYPE *remove)(
   2361         IWMPMediaCollection *This,
   2362         IWMPMedia *pItem,
   2363         VARIANT_BOOL varfDeleteFile);
   2364 
   2365     HRESULT (STDMETHODCALLTYPE *getAttributeStringCollection)(
   2366         IWMPMediaCollection *This,
   2367         BSTR bstrAttribute,
   2368         BSTR bstrMediaType,
   2369         IWMPStringCollection **ppStringCollection);
   2370 
   2371     HRESULT (STDMETHODCALLTYPE *getMediaAtom)(
   2372         IWMPMediaCollection *This,
   2373         BSTR bstrItemName,
   2374         LONG *plAtom);
   2375 
   2376     HRESULT (STDMETHODCALLTYPE *setDeleted)(
   2377         IWMPMediaCollection *This,
   2378         IWMPMedia *pItem,
   2379         VARIANT_BOOL varfIsDeleted);
   2380 
   2381     HRESULT (STDMETHODCALLTYPE *isDeleted)(
   2382         IWMPMediaCollection *This,
   2383         IWMPMedia *pItem,
   2384         VARIANT_BOOL *pvarfIsDeleted);
   2385 
   2386     END_INTERFACE
   2387 } IWMPMediaCollectionVtbl;
   2388 
   2389 interface IWMPMediaCollection {
   2390     CONST_VTBL IWMPMediaCollectionVtbl* lpVtbl;
   2391 };
   2392 
   2393 #ifdef COBJMACROS
   2394 #ifndef WIDL_C_INLINE_WRAPPERS
   2395 /*** IUnknown methods ***/
   2396 #define IWMPMediaCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2397 #define IWMPMediaCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   2398 #define IWMPMediaCollection_Release(This) (This)->lpVtbl->Release(This)
   2399 /*** IDispatch methods ***/
   2400 #define IWMPMediaCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2401 #define IWMPMediaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2402 #define IWMPMediaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2403 #define IWMPMediaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2404 /*** IWMPMediaCollection methods ***/
   2405 #define IWMPMediaCollection_add(This,bstrURL,ppItem) (This)->lpVtbl->add(This,bstrURL,ppItem)
   2406 #define IWMPMediaCollection_getAll(This,ppMediaItems) (This)->lpVtbl->getAll(This,ppMediaItems)
   2407 #define IWMPMediaCollection_getByName(This,bstrName,ppMediaItems) (This)->lpVtbl->getByName(This,bstrName,ppMediaItems)
   2408 #define IWMPMediaCollection_getByGenre(This,bstrGenre,ppMediaItems) (This)->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems)
   2409 #define IWMPMediaCollection_getByAuthor(This,bstrAuthor,ppMediaItems) (This)->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems)
   2410 #define IWMPMediaCollection_getByAlbum(This,bstrAlbum,ppMediaItems) (This)->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems)
   2411 #define IWMPMediaCollection_getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems) (This)->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems)
   2412 #define IWMPMediaCollection_remove(This,pItem,varfDeleteFile) (This)->lpVtbl->remove(This,pItem,varfDeleteFile)
   2413 #define IWMPMediaCollection_getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection) (This)->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection)
   2414 #define IWMPMediaCollection_getMediaAtom(This,bstrItemName,plAtom) (This)->lpVtbl->getMediaAtom(This,bstrItemName,plAtom)
   2415 #define IWMPMediaCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted)
   2416 #define IWMPMediaCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted)
   2417 #else
   2418 /*** IUnknown methods ***/
   2419 static inline HRESULT IWMPMediaCollection_QueryInterface(IWMPMediaCollection* This,REFIID riid,void **ppvObject) {
   2420     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2421 }
   2422 static inline ULONG IWMPMediaCollection_AddRef(IWMPMediaCollection* This) {
   2423     return This->lpVtbl->AddRef(This);
   2424 }
   2425 static inline ULONG IWMPMediaCollection_Release(IWMPMediaCollection* This) {
   2426     return This->lpVtbl->Release(This);
   2427 }
   2428 /*** IDispatch methods ***/
   2429 static inline HRESULT IWMPMediaCollection_GetTypeInfoCount(IWMPMediaCollection* This,UINT *pctinfo) {
   2430     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2431 }
   2432 static inline HRESULT IWMPMediaCollection_GetTypeInfo(IWMPMediaCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2433     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2434 }
   2435 static inline HRESULT IWMPMediaCollection_GetIDsOfNames(IWMPMediaCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2436     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2437 }
   2438 static inline HRESULT IWMPMediaCollection_Invoke(IWMPMediaCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2439     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2440 }
   2441 /*** IWMPMediaCollection methods ***/
   2442 static inline HRESULT IWMPMediaCollection_add(IWMPMediaCollection* This,BSTR bstrURL,IWMPMedia **ppItem) {
   2443     return This->lpVtbl->add(This,bstrURL,ppItem);
   2444 }
   2445 static inline HRESULT IWMPMediaCollection_getAll(IWMPMediaCollection* This,IWMPPlaylist **ppMediaItems) {
   2446     return This->lpVtbl->getAll(This,ppMediaItems);
   2447 }
   2448 static inline HRESULT IWMPMediaCollection_getByName(IWMPMediaCollection* This,BSTR bstrName,IWMPPlaylist **ppMediaItems) {
   2449     return This->lpVtbl->getByName(This,bstrName,ppMediaItems);
   2450 }
   2451 static inline HRESULT IWMPMediaCollection_getByGenre(IWMPMediaCollection* This,BSTR bstrGenre,IWMPPlaylist **ppMediaItems) {
   2452     return This->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems);
   2453 }
   2454 static inline HRESULT IWMPMediaCollection_getByAuthor(IWMPMediaCollection* This,BSTR bstrAuthor,IWMPPlaylist **ppMediaItems) {
   2455     return This->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems);
   2456 }
   2457 static inline HRESULT IWMPMediaCollection_getByAlbum(IWMPMediaCollection* This,BSTR bstrAlbum,IWMPPlaylist **ppMediaItems) {
   2458     return This->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems);
   2459 }
   2460 static inline HRESULT IWMPMediaCollection_getByAttribute(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrValue,IWMPPlaylist **ppMediaItems) {
   2461     return This->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems);
   2462 }
   2463 static inline HRESULT IWMPMediaCollection_remove(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfDeleteFile) {
   2464     return This->lpVtbl->remove(This,pItem,varfDeleteFile);
   2465 }
   2466 static inline HRESULT IWMPMediaCollection_getAttributeStringCollection(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrMediaType,IWMPStringCollection **ppStringCollection) {
   2467     return This->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection);
   2468 }
   2469 static inline HRESULT IWMPMediaCollection_getMediaAtom(IWMPMediaCollection* This,BSTR bstrItemName,LONG *plAtom) {
   2470     return This->lpVtbl->getMediaAtom(This,bstrItemName,plAtom);
   2471 }
   2472 static inline HRESULT IWMPMediaCollection_setDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfIsDeleted) {
   2473     return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted);
   2474 }
   2475 static inline HRESULT IWMPMediaCollection_isDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL *pvarfIsDeleted) {
   2476     return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted);
   2477 }
   2478 #endif
   2479 #endif
   2480 
   2481 #endif
   2482 
   2483 
   2484 #endif  /* __IWMPMediaCollection_INTERFACE_DEFINED__ */
   2485 
   2486 /*****************************************************************************
   2487  * IWMPPlaylistArray interface
   2488  */
   2489 #ifndef __IWMPPlaylistArray_INTERFACE_DEFINED__
   2490 #define __IWMPPlaylistArray_INTERFACE_DEFINED__
   2491 
   2492 DEFINE_GUID(IID_IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb);
   2493 #if defined(__cplusplus) && !defined(CINTERFACE)
   2494 MIDL_INTERFACE("679409c0-99f7-11d3-9fb7-00105aa620bb")
   2495 IWMPPlaylistArray : public IDispatch
   2496 {
   2497     virtual HRESULT STDMETHODCALLTYPE get_count(
   2498         LONG *plCount) = 0;
   2499 
   2500     virtual HRESULT STDMETHODCALLTYPE Item(
   2501         LONG lIndex,
   2502         IWMPPlaylist **ppItem) = 0;
   2503 
   2504 };
   2505 #ifdef __CRT_UUID_DECL
   2506 __CRT_UUID_DECL(IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb)
   2507 #endif
   2508 #else
   2509 typedef struct IWMPPlaylistArrayVtbl {
   2510     BEGIN_INTERFACE
   2511 
   2512     /*** IUnknown methods ***/
   2513     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2514         IWMPPlaylistArray *This,
   2515         REFIID riid,
   2516         void **ppvObject);
   2517 
   2518     ULONG (STDMETHODCALLTYPE *AddRef)(
   2519         IWMPPlaylistArray *This);
   2520 
   2521     ULONG (STDMETHODCALLTYPE *Release)(
   2522         IWMPPlaylistArray *This);
   2523 
   2524     /*** IDispatch methods ***/
   2525     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2526         IWMPPlaylistArray *This,
   2527         UINT *pctinfo);
   2528 
   2529     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2530         IWMPPlaylistArray *This,
   2531         UINT iTInfo,
   2532         LCID lcid,
   2533         ITypeInfo **ppTInfo);
   2534 
   2535     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2536         IWMPPlaylistArray *This,
   2537         REFIID riid,
   2538         LPOLESTR *rgszNames,
   2539         UINT cNames,
   2540         LCID lcid,
   2541         DISPID *rgDispId);
   2542 
   2543     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2544         IWMPPlaylistArray *This,
   2545         DISPID dispIdMember,
   2546         REFIID riid,
   2547         LCID lcid,
   2548         WORD wFlags,
   2549         DISPPARAMS *pDispParams,
   2550         VARIANT *pVarResult,
   2551         EXCEPINFO *pExcepInfo,
   2552         UINT *puArgErr);
   2553 
   2554     /*** IWMPPlaylistArray methods ***/
   2555     HRESULT (STDMETHODCALLTYPE *get_count)(
   2556         IWMPPlaylistArray *This,
   2557         LONG *plCount);
   2558 
   2559     HRESULT (STDMETHODCALLTYPE *Item)(
   2560         IWMPPlaylistArray *This,
   2561         LONG lIndex,
   2562         IWMPPlaylist **ppItem);
   2563 
   2564     END_INTERFACE
   2565 } IWMPPlaylistArrayVtbl;
   2566 
   2567 interface IWMPPlaylistArray {
   2568     CONST_VTBL IWMPPlaylistArrayVtbl* lpVtbl;
   2569 };
   2570 
   2571 #ifdef COBJMACROS
   2572 #ifndef WIDL_C_INLINE_WRAPPERS
   2573 /*** IUnknown methods ***/
   2574 #define IWMPPlaylistArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2575 #define IWMPPlaylistArray_AddRef(This) (This)->lpVtbl->AddRef(This)
   2576 #define IWMPPlaylistArray_Release(This) (This)->lpVtbl->Release(This)
   2577 /*** IDispatch methods ***/
   2578 #define IWMPPlaylistArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2579 #define IWMPPlaylistArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2580 #define IWMPPlaylistArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2581 #define IWMPPlaylistArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2582 /*** IWMPPlaylistArray methods ***/
   2583 #define IWMPPlaylistArray_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
   2584 #define IWMPPlaylistArray_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem)
   2585 #else
   2586 /*** IUnknown methods ***/
   2587 static inline HRESULT IWMPPlaylistArray_QueryInterface(IWMPPlaylistArray* This,REFIID riid,void **ppvObject) {
   2588     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2589 }
   2590 static inline ULONG IWMPPlaylistArray_AddRef(IWMPPlaylistArray* This) {
   2591     return This->lpVtbl->AddRef(This);
   2592 }
   2593 static inline ULONG IWMPPlaylistArray_Release(IWMPPlaylistArray* This) {
   2594     return This->lpVtbl->Release(This);
   2595 }
   2596 /*** IDispatch methods ***/
   2597 static inline HRESULT IWMPPlaylistArray_GetTypeInfoCount(IWMPPlaylistArray* This,UINT *pctinfo) {
   2598     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2599 }
   2600 static inline HRESULT IWMPPlaylistArray_GetTypeInfo(IWMPPlaylistArray* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2601     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2602 }
   2603 static inline HRESULT IWMPPlaylistArray_GetIDsOfNames(IWMPPlaylistArray* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2604     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2605 }
   2606 static inline HRESULT IWMPPlaylistArray_Invoke(IWMPPlaylistArray* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2607     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2608 }
   2609 /*** IWMPPlaylistArray methods ***/
   2610 static inline HRESULT IWMPPlaylistArray_get_count(IWMPPlaylistArray* This,LONG *plCount) {
   2611     return This->lpVtbl->get_count(This,plCount);
   2612 }
   2613 static inline HRESULT IWMPPlaylistArray_Item(IWMPPlaylistArray* This,LONG lIndex,IWMPPlaylist **ppItem) {
   2614     return This->lpVtbl->Item(This,lIndex,ppItem);
   2615 }
   2616 #endif
   2617 #endif
   2618 
   2619 #endif
   2620 
   2621 
   2622 #endif  /* __IWMPPlaylistArray_INTERFACE_DEFINED__ */
   2623 
   2624 /*****************************************************************************
   2625  * IWMPPlaylistCollection interface
   2626  */
   2627 #ifndef __IWMPPlaylistCollection_INTERFACE_DEFINED__
   2628 #define __IWMPPlaylistCollection_INTERFACE_DEFINED__
   2629 
   2630 DEFINE_GUID(IID_IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74);
   2631 #if defined(__cplusplus) && !defined(CINTERFACE)
   2632 MIDL_INTERFACE("10a13217-23a7-439b-b1c0-d847c79b7774")
   2633 IWMPPlaylistCollection : public IDispatch
   2634 {
   2635     virtual HRESULT STDMETHODCALLTYPE newPlaylist(
   2636         BSTR bstrName,
   2637         IWMPPlaylist **ppItem) = 0;
   2638 
   2639     virtual HRESULT STDMETHODCALLTYPE getAll(
   2640         IWMPPlaylistArray **ppPlaylistArray) = 0;
   2641 
   2642     virtual HRESULT STDMETHODCALLTYPE getByName(
   2643         BSTR bstrName,
   2644         IWMPPlaylistArray **ppPlaylistArray) = 0;
   2645 
   2646     virtual HRESULT STDMETHODCALLTYPE remove(
   2647         IWMPPlaylist *pItem) = 0;
   2648 
   2649     virtual HRESULT STDMETHODCALLTYPE setDeleted(
   2650         IWMPPlaylist *pItem,
   2651         VARIANT_BOOL varfIsDeleted) = 0;
   2652 
   2653     virtual HRESULT STDMETHODCALLTYPE isDeleted(
   2654         IWMPPlaylist *pItem,
   2655         VARIANT_BOOL *pvarfIsDeleted) = 0;
   2656 
   2657     virtual HRESULT STDMETHODCALLTYPE importPlaylist(
   2658         IWMPPlaylist *pItem,
   2659         IWMPPlaylist **ppImportedItem) = 0;
   2660 
   2661 };
   2662 #ifdef __CRT_UUID_DECL
   2663 __CRT_UUID_DECL(IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74)
   2664 #endif
   2665 #else
   2666 typedef struct IWMPPlaylistCollectionVtbl {
   2667     BEGIN_INTERFACE
   2668 
   2669     /*** IUnknown methods ***/
   2670     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2671         IWMPPlaylistCollection *This,
   2672         REFIID riid,
   2673         void **ppvObject);
   2674 
   2675     ULONG (STDMETHODCALLTYPE *AddRef)(
   2676         IWMPPlaylistCollection *This);
   2677 
   2678     ULONG (STDMETHODCALLTYPE *Release)(
   2679         IWMPPlaylistCollection *This);
   2680 
   2681     /*** IDispatch methods ***/
   2682     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2683         IWMPPlaylistCollection *This,
   2684         UINT *pctinfo);
   2685 
   2686     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2687         IWMPPlaylistCollection *This,
   2688         UINT iTInfo,
   2689         LCID lcid,
   2690         ITypeInfo **ppTInfo);
   2691 
   2692     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2693         IWMPPlaylistCollection *This,
   2694         REFIID riid,
   2695         LPOLESTR *rgszNames,
   2696         UINT cNames,
   2697         LCID lcid,
   2698         DISPID *rgDispId);
   2699 
   2700     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2701         IWMPPlaylistCollection *This,
   2702         DISPID dispIdMember,
   2703         REFIID riid,
   2704         LCID lcid,
   2705         WORD wFlags,
   2706         DISPPARAMS *pDispParams,
   2707         VARIANT *pVarResult,
   2708         EXCEPINFO *pExcepInfo,
   2709         UINT *puArgErr);
   2710 
   2711     /*** IWMPPlaylistCollection methods ***/
   2712     HRESULT (STDMETHODCALLTYPE *newPlaylist)(
   2713         IWMPPlaylistCollection *This,
   2714         BSTR bstrName,
   2715         IWMPPlaylist **ppItem);
   2716 
   2717     HRESULT (STDMETHODCALLTYPE *getAll)(
   2718         IWMPPlaylistCollection *This,
   2719         IWMPPlaylistArray **ppPlaylistArray);
   2720 
   2721     HRESULT (STDMETHODCALLTYPE *getByName)(
   2722         IWMPPlaylistCollection *This,
   2723         BSTR bstrName,
   2724         IWMPPlaylistArray **ppPlaylistArray);
   2725 
   2726     HRESULT (STDMETHODCALLTYPE *remove)(
   2727         IWMPPlaylistCollection *This,
   2728         IWMPPlaylist *pItem);
   2729 
   2730     HRESULT (STDMETHODCALLTYPE *setDeleted)(
   2731         IWMPPlaylistCollection *This,
   2732         IWMPPlaylist *pItem,
   2733         VARIANT_BOOL varfIsDeleted);
   2734 
   2735     HRESULT (STDMETHODCALLTYPE *isDeleted)(
   2736         IWMPPlaylistCollection *This,
   2737         IWMPPlaylist *pItem,
   2738         VARIANT_BOOL *pvarfIsDeleted);
   2739 
   2740     HRESULT (STDMETHODCALLTYPE *importPlaylist)(
   2741         IWMPPlaylistCollection *This,
   2742         IWMPPlaylist *pItem,
   2743         IWMPPlaylist **ppImportedItem);
   2744 
   2745     END_INTERFACE
   2746 } IWMPPlaylistCollectionVtbl;
   2747 
   2748 interface IWMPPlaylistCollection {
   2749     CONST_VTBL IWMPPlaylistCollectionVtbl* lpVtbl;
   2750 };
   2751 
   2752 #ifdef COBJMACROS
   2753 #ifndef WIDL_C_INLINE_WRAPPERS
   2754 /*** IUnknown methods ***/
   2755 #define IWMPPlaylistCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2756 #define IWMPPlaylistCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   2757 #define IWMPPlaylistCollection_Release(This) (This)->lpVtbl->Release(This)
   2758 /*** IDispatch methods ***/
   2759 #define IWMPPlaylistCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2760 #define IWMPPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2761 #define IWMPPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2762 #define IWMPPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2763 /*** IWMPPlaylistCollection methods ***/
   2764 #define IWMPPlaylistCollection_newPlaylist(This,bstrName,ppItem) (This)->lpVtbl->newPlaylist(This,bstrName,ppItem)
   2765 #define IWMPPlaylistCollection_getAll(This,ppPlaylistArray) (This)->lpVtbl->getAll(This,ppPlaylistArray)
   2766 #define IWMPPlaylistCollection_getByName(This,bstrName,ppPlaylistArray) (This)->lpVtbl->getByName(This,bstrName,ppPlaylistArray)
   2767 #define IWMPPlaylistCollection_remove(This,pItem) (This)->lpVtbl->remove(This,pItem)
   2768 #define IWMPPlaylistCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted)
   2769 #define IWMPPlaylistCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted)
   2770 #define IWMPPlaylistCollection_importPlaylist(This,pItem,ppImportedItem) (This)->lpVtbl->importPlaylist(This,pItem,ppImportedItem)
   2771 #else
   2772 /*** IUnknown methods ***/
   2773 static inline HRESULT IWMPPlaylistCollection_QueryInterface(IWMPPlaylistCollection* This,REFIID riid,void **ppvObject) {
   2774     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2775 }
   2776 static inline ULONG IWMPPlaylistCollection_AddRef(IWMPPlaylistCollection* This) {
   2777     return This->lpVtbl->AddRef(This);
   2778 }
   2779 static inline ULONG IWMPPlaylistCollection_Release(IWMPPlaylistCollection* This) {
   2780     return This->lpVtbl->Release(This);
   2781 }
   2782 /*** IDispatch methods ***/
   2783 static inline HRESULT IWMPPlaylistCollection_GetTypeInfoCount(IWMPPlaylistCollection* This,UINT *pctinfo) {
   2784     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2785 }
   2786 static inline HRESULT IWMPPlaylistCollection_GetTypeInfo(IWMPPlaylistCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2787     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2788 }
   2789 static inline HRESULT IWMPPlaylistCollection_GetIDsOfNames(IWMPPlaylistCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2790     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2791 }
   2792 static inline HRESULT IWMPPlaylistCollection_Invoke(IWMPPlaylistCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2793     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2794 }
   2795 /*** IWMPPlaylistCollection methods ***/
   2796 static inline HRESULT IWMPPlaylistCollection_newPlaylist(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylist **ppItem) {
   2797     return This->lpVtbl->newPlaylist(This,bstrName,ppItem);
   2798 }
   2799 static inline HRESULT IWMPPlaylistCollection_getAll(IWMPPlaylistCollection* This,IWMPPlaylistArray **ppPlaylistArray) {
   2800     return This->lpVtbl->getAll(This,ppPlaylistArray);
   2801 }
   2802 static inline HRESULT IWMPPlaylistCollection_getByName(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylistArray **ppPlaylistArray) {
   2803     return This->lpVtbl->getByName(This,bstrName,ppPlaylistArray);
   2804 }
   2805 static inline HRESULT IWMPPlaylistCollection_remove(IWMPPlaylistCollection* This,IWMPPlaylist *pItem) {
   2806     return This->lpVtbl->remove(This,pItem);
   2807 }
   2808 static inline HRESULT IWMPPlaylistCollection_setDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL varfIsDeleted) {
   2809     return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted);
   2810 }
   2811 static inline HRESULT IWMPPlaylistCollection_isDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL *pvarfIsDeleted) {
   2812     return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted);
   2813 }
   2814 static inline HRESULT IWMPPlaylistCollection_importPlaylist(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,IWMPPlaylist **ppImportedItem) {
   2815     return This->lpVtbl->importPlaylist(This,pItem,ppImportedItem);
   2816 }
   2817 #endif
   2818 #endif
   2819 
   2820 #endif
   2821 
   2822 
   2823 #endif  /* __IWMPPlaylistCollection_INTERFACE_DEFINED__ */
   2824 
   2825 /*****************************************************************************
   2826  * IWMPNetwork interface
   2827  */
   2828 #ifndef __IWMPNetwork_INTERFACE_DEFINED__
   2829 #define __IWMPNetwork_INTERFACE_DEFINED__
   2830 
   2831 DEFINE_GUID(IID_IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7);
   2832 #if defined(__cplusplus) && !defined(CINTERFACE)
   2833 MIDL_INTERFACE("ec21b779-edef-462d-bba4-ad9dde2b29a7")
   2834 IWMPNetwork : public IDispatch
   2835 {
   2836     virtual HRESULT STDMETHODCALLTYPE get_bandWidth(
   2837         LONG *plBandwidth) = 0;
   2838 
   2839     virtual HRESULT STDMETHODCALLTYPE get_recoveredPackets(
   2840         LONG *plRecoveredPackets) = 0;
   2841 
   2842     virtual HRESULT STDMETHODCALLTYPE get_sourceProtocol(
   2843         BSTR *pbstrSourceProtocol) = 0;
   2844 
   2845     virtual HRESULT STDMETHODCALLTYPE get_receivedPackets(
   2846         LONG *plReceivedPackets) = 0;
   2847 
   2848     virtual HRESULT STDMETHODCALLTYPE get_lostPackets(
   2849         LONG *plLostPackets) = 0;
   2850 
   2851     virtual HRESULT STDMETHODCALLTYPE get_receptionQuality(
   2852         LONG *plReceptionQuality) = 0;
   2853 
   2854     virtual HRESULT STDMETHODCALLTYPE get_bufferingCount(
   2855         LONG *plBufferingCount) = 0;
   2856 
   2857     virtual HRESULT STDMETHODCALLTYPE get_bufferingProgress(
   2858         LONG *plBufferingProgress) = 0;
   2859 
   2860     virtual HRESULT STDMETHODCALLTYPE get_bufferingTime(
   2861         LONG *plBufferingTime) = 0;
   2862 
   2863     virtual HRESULT STDMETHODCALLTYPE put_bufferingTime(
   2864         LONG plBufferingTime) = 0;
   2865 
   2866     virtual HRESULT STDMETHODCALLTYPE get_frameRate(
   2867         LONG *plFrameRate) = 0;
   2868 
   2869     virtual HRESULT STDMETHODCALLTYPE get_maxBitRate(
   2870         LONG *plBitRate) = 0;
   2871 
   2872     virtual HRESULT STDMETHODCALLTYPE get_bitRate(
   2873         LONG *plBitRate) = 0;
   2874 
   2875     virtual HRESULT STDMETHODCALLTYPE getProxySettings(
   2876         BSTR bstrProtocol,
   2877         LONG *plProxySetting) = 0;
   2878 
   2879     virtual HRESULT STDMETHODCALLTYPE setProxySettings(
   2880         BSTR bstrProtocol,
   2881         LONG lProxySetting) = 0;
   2882 
   2883     virtual HRESULT STDMETHODCALLTYPE getProxyName(
   2884         BSTR bstrProtocol,
   2885         BSTR *pbstrProxyName) = 0;
   2886 
   2887     virtual HRESULT STDMETHODCALLTYPE setProxyName(
   2888         BSTR bstrProtocol,
   2889         BSTR bstrProxyName) = 0;
   2890 
   2891     virtual HRESULT STDMETHODCALLTYPE getProxyPort(
   2892         BSTR bstrProtocol,
   2893         LONG *lProxyPort) = 0;
   2894 
   2895     virtual HRESULT STDMETHODCALLTYPE setProxyPort(
   2896         BSTR bstrProtocol,
   2897         LONG lProxyPort) = 0;
   2898 
   2899     virtual HRESULT STDMETHODCALLTYPE getProxyExceptionList(
   2900         BSTR bstrProtocol,
   2901         BSTR *pbstrExceptionList) = 0;
   2902 
   2903     virtual HRESULT STDMETHODCALLTYPE setProxyExceptionList(
   2904         BSTR bstrProtocol,
   2905         BSTR pbstrExceptionList) = 0;
   2906 
   2907     virtual HRESULT STDMETHODCALLTYPE getProxyBypassForLocal(
   2908         BSTR bstrProtocol,
   2909         VARIANT_BOOL *pfBypassForLocal) = 0;
   2910 
   2911     virtual HRESULT STDMETHODCALLTYPE setProxyBypassForLocal(
   2912         BSTR bstrProtocol,
   2913         VARIANT_BOOL fBypassForLocal) = 0;
   2914 
   2915     virtual HRESULT STDMETHODCALLTYPE get_maxBandwidth(
   2916         LONG *lMaxBandwidth) = 0;
   2917 
   2918     virtual HRESULT STDMETHODCALLTYPE put_maxBandwidth(
   2919         LONG lMaxBandwidth) = 0;
   2920 
   2921     virtual HRESULT STDMETHODCALLTYPE get_downloadProgress(
   2922         LONG *plDownloadProgress) = 0;
   2923 
   2924     virtual HRESULT STDMETHODCALLTYPE get_encodedFrameRate(
   2925         LONG *plFrameRate) = 0;
   2926 
   2927     virtual HRESULT STDMETHODCALLTYPE get_framesSkipped(
   2928         LONG *plFrames) = 0;
   2929 
   2930 };
   2931 #ifdef __CRT_UUID_DECL
   2932 __CRT_UUID_DECL(IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7)
   2933 #endif
   2934 #else
   2935 typedef struct IWMPNetworkVtbl {
   2936     BEGIN_INTERFACE
   2937 
   2938     /*** IUnknown methods ***/
   2939     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2940         IWMPNetwork *This,
   2941         REFIID riid,
   2942         void **ppvObject);
   2943 
   2944     ULONG (STDMETHODCALLTYPE *AddRef)(
   2945         IWMPNetwork *This);
   2946 
   2947     ULONG (STDMETHODCALLTYPE *Release)(
   2948         IWMPNetwork *This);
   2949 
   2950     /*** IDispatch methods ***/
   2951     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2952         IWMPNetwork *This,
   2953         UINT *pctinfo);
   2954 
   2955     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2956         IWMPNetwork *This,
   2957         UINT iTInfo,
   2958         LCID lcid,
   2959         ITypeInfo **ppTInfo);
   2960 
   2961     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2962         IWMPNetwork *This,
   2963         REFIID riid,
   2964         LPOLESTR *rgszNames,
   2965         UINT cNames,
   2966         LCID lcid,
   2967         DISPID *rgDispId);
   2968 
   2969     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2970         IWMPNetwork *This,
   2971         DISPID dispIdMember,
   2972         REFIID riid,
   2973         LCID lcid,
   2974         WORD wFlags,
   2975         DISPPARAMS *pDispParams,
   2976         VARIANT *pVarResult,
   2977         EXCEPINFO *pExcepInfo,
   2978         UINT *puArgErr);
   2979 
   2980     /*** IWMPNetwork methods ***/
   2981     HRESULT (STDMETHODCALLTYPE *get_bandWidth)(
   2982         IWMPNetwork *This,
   2983         LONG *plBandwidth);
   2984 
   2985     HRESULT (STDMETHODCALLTYPE *get_recoveredPackets)(
   2986         IWMPNetwork *This,
   2987         LONG *plRecoveredPackets);
   2988 
   2989     HRESULT (STDMETHODCALLTYPE *get_sourceProtocol)(
   2990         IWMPNetwork *This,
   2991         BSTR *pbstrSourceProtocol);
   2992 
   2993     HRESULT (STDMETHODCALLTYPE *get_receivedPackets)(
   2994         IWMPNetwork *This,
   2995         LONG *plReceivedPackets);
   2996 
   2997     HRESULT (STDMETHODCALLTYPE *get_lostPackets)(
   2998         IWMPNetwork *This,
   2999         LONG *plLostPackets);
   3000 
   3001     HRESULT (STDMETHODCALLTYPE *get_receptionQuality)(
   3002         IWMPNetwork *This,
   3003         LONG *plReceptionQuality);
   3004 
   3005     HRESULT (STDMETHODCALLTYPE *get_bufferingCount)(
   3006         IWMPNetwork *This,
   3007         LONG *plBufferingCount);
   3008 
   3009     HRESULT (STDMETHODCALLTYPE *get_bufferingProgress)(
   3010         IWMPNetwork *This,
   3011         LONG *plBufferingProgress);
   3012 
   3013     HRESULT (STDMETHODCALLTYPE *get_bufferingTime)(
   3014         IWMPNetwork *This,
   3015         LONG *plBufferingTime);
   3016 
   3017     HRESULT (STDMETHODCALLTYPE *put_bufferingTime)(
   3018         IWMPNetwork *This,
   3019         LONG plBufferingTime);
   3020 
   3021     HRESULT (STDMETHODCALLTYPE *get_frameRate)(
   3022         IWMPNetwork *This,
   3023         LONG *plFrameRate);
   3024 
   3025     HRESULT (STDMETHODCALLTYPE *get_maxBitRate)(
   3026         IWMPNetwork *This,
   3027         LONG *plBitRate);
   3028 
   3029     HRESULT (STDMETHODCALLTYPE *get_bitRate)(
   3030         IWMPNetwork *This,
   3031         LONG *plBitRate);
   3032 
   3033     HRESULT (STDMETHODCALLTYPE *getProxySettings)(
   3034         IWMPNetwork *This,
   3035         BSTR bstrProtocol,
   3036         LONG *plProxySetting);
   3037 
   3038     HRESULT (STDMETHODCALLTYPE *setProxySettings)(
   3039         IWMPNetwork *This,
   3040         BSTR bstrProtocol,
   3041         LONG lProxySetting);
   3042 
   3043     HRESULT (STDMETHODCALLTYPE *getProxyName)(
   3044         IWMPNetwork *This,
   3045         BSTR bstrProtocol,
   3046         BSTR *pbstrProxyName);
   3047 
   3048     HRESULT (STDMETHODCALLTYPE *setProxyName)(
   3049         IWMPNetwork *This,
   3050         BSTR bstrProtocol,
   3051         BSTR bstrProxyName);
   3052 
   3053     HRESULT (STDMETHODCALLTYPE *getProxyPort)(
   3054         IWMPNetwork *This,
   3055         BSTR bstrProtocol,
   3056         LONG *lProxyPort);
   3057 
   3058     HRESULT (STDMETHODCALLTYPE *setProxyPort)(
   3059         IWMPNetwork *This,
   3060         BSTR bstrProtocol,
   3061         LONG lProxyPort);
   3062 
   3063     HRESULT (STDMETHODCALLTYPE *getProxyExceptionList)(
   3064         IWMPNetwork *This,
   3065         BSTR bstrProtocol,
   3066         BSTR *pbstrExceptionList);
   3067 
   3068     HRESULT (STDMETHODCALLTYPE *setProxyExceptionList)(
   3069         IWMPNetwork *This,
   3070         BSTR bstrProtocol,
   3071         BSTR pbstrExceptionList);
   3072 
   3073     HRESULT (STDMETHODCALLTYPE *getProxyBypassForLocal)(
   3074         IWMPNetwork *This,
   3075         BSTR bstrProtocol,
   3076         VARIANT_BOOL *pfBypassForLocal);
   3077 
   3078     HRESULT (STDMETHODCALLTYPE *setProxyBypassForLocal)(
   3079         IWMPNetwork *This,
   3080         BSTR bstrProtocol,
   3081         VARIANT_BOOL fBypassForLocal);
   3082 
   3083     HRESULT (STDMETHODCALLTYPE *get_maxBandwidth)(
   3084         IWMPNetwork *This,
   3085         LONG *lMaxBandwidth);
   3086 
   3087     HRESULT (STDMETHODCALLTYPE *put_maxBandwidth)(
   3088         IWMPNetwork *This,
   3089         LONG lMaxBandwidth);
   3090 
   3091     HRESULT (STDMETHODCALLTYPE *get_downloadProgress)(
   3092         IWMPNetwork *This,
   3093         LONG *plDownloadProgress);
   3094 
   3095     HRESULT (STDMETHODCALLTYPE *get_encodedFrameRate)(
   3096         IWMPNetwork *This,
   3097         LONG *plFrameRate);
   3098 
   3099     HRESULT (STDMETHODCALLTYPE *get_framesSkipped)(
   3100         IWMPNetwork *This,
   3101         LONG *plFrames);
   3102 
   3103     END_INTERFACE
   3104 } IWMPNetworkVtbl;
   3105 
   3106 interface IWMPNetwork {
   3107     CONST_VTBL IWMPNetworkVtbl* lpVtbl;
   3108 };
   3109 
   3110 #ifdef COBJMACROS
   3111 #ifndef WIDL_C_INLINE_WRAPPERS
   3112 /*** IUnknown methods ***/
   3113 #define IWMPNetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3114 #define IWMPNetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
   3115 #define IWMPNetwork_Release(This) (This)->lpVtbl->Release(This)
   3116 /*** IDispatch methods ***/
   3117 #define IWMPNetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3118 #define IWMPNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3119 #define IWMPNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3120 #define IWMPNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3121 /*** IWMPNetwork methods ***/
   3122 #define IWMPNetwork_get_bandWidth(This,plBandwidth) (This)->lpVtbl->get_bandWidth(This,plBandwidth)
   3123 #define IWMPNetwork_get_recoveredPackets(This,plRecoveredPackets) (This)->lpVtbl->get_recoveredPackets(This,plRecoveredPackets)
   3124 #define IWMPNetwork_get_sourceProtocol(This,pbstrSourceProtocol) (This)->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol)
   3125 #define IWMPNetwork_get_receivedPackets(This,plReceivedPackets) (This)->lpVtbl->get_receivedPackets(This,plReceivedPackets)
   3126 #define IWMPNetwork_get_lostPackets(This,plLostPackets) (This)->lpVtbl->get_lostPackets(This,plLostPackets)
   3127 #define IWMPNetwork_get_receptionQuality(This,plReceptionQuality) (This)->lpVtbl->get_receptionQuality(This,plReceptionQuality)
   3128 #define IWMPNetwork_get_bufferingCount(This,plBufferingCount) (This)->lpVtbl->get_bufferingCount(This,plBufferingCount)
   3129 #define IWMPNetwork_get_bufferingProgress(This,plBufferingProgress) (This)->lpVtbl->get_bufferingProgress(This,plBufferingProgress)
   3130 #define IWMPNetwork_get_bufferingTime(This,plBufferingTime) (This)->lpVtbl->get_bufferingTime(This,plBufferingTime)
   3131 #define IWMPNetwork_put_bufferingTime(This,plBufferingTime) (This)->lpVtbl->put_bufferingTime(This,plBufferingTime)
   3132 #define IWMPNetwork_get_frameRate(This,plFrameRate) (This)->lpVtbl->get_frameRate(This,plFrameRate)
   3133 #define IWMPNetwork_get_maxBitRate(This,plBitRate) (This)->lpVtbl->get_maxBitRate(This,plBitRate)
   3134 #define IWMPNetwork_get_bitRate(This,plBitRate) (This)->lpVtbl->get_bitRate(This,plBitRate)
   3135 #define IWMPNetwork_getProxySettings(This,bstrProtocol,plProxySetting) (This)->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting)
   3136 #define IWMPNetwork_setProxySettings(This,bstrProtocol,lProxySetting) (This)->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting)
   3137 #define IWMPNetwork_getProxyName(This,bstrProtocol,pbstrProxyName) (This)->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName)
   3138 #define IWMPNetwork_setProxyName(This,bstrProtocol,bstrProxyName) (This)->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName)
   3139 #define IWMPNetwork_getProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort)
   3140 #define IWMPNetwork_setProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort)
   3141 #define IWMPNetwork_getProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList)
   3142 #define IWMPNetwork_setProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList)
   3143 #define IWMPNetwork_getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal) (This)->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal)
   3144 #define IWMPNetwork_setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal) (This)->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal)
   3145 #define IWMPNetwork_get_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->get_maxBandwidth(This,lMaxBandwidth)
   3146 #define IWMPNetwork_put_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->put_maxBandwidth(This,lMaxBandwidth)
   3147 #define IWMPNetwork_get_downloadProgress(This,plDownloadProgress) (This)->lpVtbl->get_downloadProgress(This,plDownloadProgress)
   3148 #define IWMPNetwork_get_encodedFrameRate(This,plFrameRate) (This)->lpVtbl->get_encodedFrameRate(This,plFrameRate)
   3149 #define IWMPNetwork_get_framesSkipped(This,plFrames) (This)->lpVtbl->get_framesSkipped(This,plFrames)
   3150 #else
   3151 /*** IUnknown methods ***/
   3152 static inline HRESULT IWMPNetwork_QueryInterface(IWMPNetwork* This,REFIID riid,void **ppvObject) {
   3153     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3154 }
   3155 static inline ULONG IWMPNetwork_AddRef(IWMPNetwork* This) {
   3156     return This->lpVtbl->AddRef(This);
   3157 }
   3158 static inline ULONG IWMPNetwork_Release(IWMPNetwork* This) {
   3159     return This->lpVtbl->Release(This);
   3160 }
   3161 /*** IDispatch methods ***/
   3162 static inline HRESULT IWMPNetwork_GetTypeInfoCount(IWMPNetwork* This,UINT *pctinfo) {
   3163     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3164 }
   3165 static inline HRESULT IWMPNetwork_GetTypeInfo(IWMPNetwork* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3166     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3167 }
   3168 static inline HRESULT IWMPNetwork_GetIDsOfNames(IWMPNetwork* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3169     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3170 }
   3171 static inline HRESULT IWMPNetwork_Invoke(IWMPNetwork* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3172     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3173 }
   3174 /*** IWMPNetwork methods ***/
   3175 static inline HRESULT IWMPNetwork_get_bandWidth(IWMPNetwork* This,LONG *plBandwidth) {
   3176     return This->lpVtbl->get_bandWidth(This,plBandwidth);
   3177 }
   3178 static inline HRESULT IWMPNetwork_get_recoveredPackets(IWMPNetwork* This,LONG *plRecoveredPackets) {
   3179     return This->lpVtbl->get_recoveredPackets(This,plRecoveredPackets);
   3180 }
   3181 static inline HRESULT IWMPNetwork_get_sourceProtocol(IWMPNetwork* This,BSTR *pbstrSourceProtocol) {
   3182     return This->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol);
   3183 }
   3184 static inline HRESULT IWMPNetwork_get_receivedPackets(IWMPNetwork* This,LONG *plReceivedPackets) {
   3185     return This->lpVtbl->get_receivedPackets(This,plReceivedPackets);
   3186 }
   3187 static inline HRESULT IWMPNetwork_get_lostPackets(IWMPNetwork* This,LONG *plLostPackets) {
   3188     return This->lpVtbl->get_lostPackets(This,plLostPackets);
   3189 }
   3190 static inline HRESULT IWMPNetwork_get_receptionQuality(IWMPNetwork* This,LONG *plReceptionQuality) {
   3191     return This->lpVtbl->get_receptionQuality(This,plReceptionQuality);
   3192 }
   3193 static inline HRESULT IWMPNetwork_get_bufferingCount(IWMPNetwork* This,LONG *plBufferingCount) {
   3194     return This->lpVtbl->get_bufferingCount(This,plBufferingCount);
   3195 }
   3196 static inline HRESULT IWMPNetwork_get_bufferingProgress(IWMPNetwork* This,LONG *plBufferingProgress) {
   3197     return This->lpVtbl->get_bufferingProgress(This,plBufferingProgress);
   3198 }
   3199 static inline HRESULT IWMPNetwork_get_bufferingTime(IWMPNetwork* This,LONG *plBufferingTime) {
   3200     return This->lpVtbl->get_bufferingTime(This,plBufferingTime);
   3201 }
   3202 static inline HRESULT IWMPNetwork_put_bufferingTime(IWMPNetwork* This,LONG plBufferingTime) {
   3203     return This->lpVtbl->put_bufferingTime(This,plBufferingTime);
   3204 }
   3205 static inline HRESULT IWMPNetwork_get_frameRate(IWMPNetwork* This,LONG *plFrameRate) {
   3206     return This->lpVtbl->get_frameRate(This,plFrameRate);
   3207 }
   3208 static inline HRESULT IWMPNetwork_get_maxBitRate(IWMPNetwork* This,LONG *plBitRate) {
   3209     return This->lpVtbl->get_maxBitRate(This,plBitRate);
   3210 }
   3211 static inline HRESULT IWMPNetwork_get_bitRate(IWMPNetwork* This,LONG *plBitRate) {
   3212     return This->lpVtbl->get_bitRate(This,plBitRate);
   3213 }
   3214 static inline HRESULT IWMPNetwork_getProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG *plProxySetting) {
   3215     return This->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting);
   3216 }
   3217 static inline HRESULT IWMPNetwork_setProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxySetting) {
   3218     return This->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting);
   3219 }
   3220 static inline HRESULT IWMPNetwork_getProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrProxyName) {
   3221     return This->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName);
   3222 }
   3223 static inline HRESULT IWMPNetwork_setProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR bstrProxyName) {
   3224     return This->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName);
   3225 }
   3226 static inline HRESULT IWMPNetwork_getProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG *lProxyPort) {
   3227     return This->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort);
   3228 }
   3229 static inline HRESULT IWMPNetwork_setProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxyPort) {
   3230     return This->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort);
   3231 }
   3232 static inline HRESULT IWMPNetwork_getProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrExceptionList) {
   3233     return This->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList);
   3234 }
   3235 static inline HRESULT IWMPNetwork_setProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR pbstrExceptionList) {
   3236     return This->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList);
   3237 }
   3238 static inline HRESULT IWMPNetwork_getProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL *pfBypassForLocal) {
   3239     return This->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal);
   3240 }
   3241 static inline HRESULT IWMPNetwork_setProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL fBypassForLocal) {
   3242     return This->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal);
   3243 }
   3244 static inline HRESULT IWMPNetwork_get_maxBandwidth(IWMPNetwork* This,LONG *lMaxBandwidth) {
   3245     return This->lpVtbl->get_maxBandwidth(This,lMaxBandwidth);
   3246 }
   3247 static inline HRESULT IWMPNetwork_put_maxBandwidth(IWMPNetwork* This,LONG lMaxBandwidth) {
   3248     return This->lpVtbl->put_maxBandwidth(This,lMaxBandwidth);
   3249 }
   3250 static inline HRESULT IWMPNetwork_get_downloadProgress(IWMPNetwork* This,LONG *plDownloadProgress) {
   3251     return This->lpVtbl->get_downloadProgress(This,plDownloadProgress);
   3252 }
   3253 static inline HRESULT IWMPNetwork_get_encodedFrameRate(IWMPNetwork* This,LONG *plFrameRate) {
   3254     return This->lpVtbl->get_encodedFrameRate(This,plFrameRate);
   3255 }
   3256 static inline HRESULT IWMPNetwork_get_framesSkipped(IWMPNetwork* This,LONG *plFrames) {
   3257     return This->lpVtbl->get_framesSkipped(This,plFrames);
   3258 }
   3259 #endif
   3260 #endif
   3261 
   3262 #endif
   3263 
   3264 
   3265 #endif  /* __IWMPNetwork_INTERFACE_DEFINED__ */
   3266 
   3267 /*****************************************************************************
   3268  * IWMPCdrom interface
   3269  */
   3270 #ifndef __IWMPCdrom_INTERFACE_DEFINED__
   3271 #define __IWMPCdrom_INTERFACE_DEFINED__
   3272 
   3273 DEFINE_GUID(IID_IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b);
   3274 #if defined(__cplusplus) && !defined(CINTERFACE)
   3275 MIDL_INTERFACE("cfab6e98-8730-11d3-b388-00c04f68574b")
   3276 IWMPCdrom : public IDispatch
   3277 {
   3278     virtual HRESULT STDMETHODCALLTYPE get_driveSpecifier(
   3279         BSTR *pbstrDrive) = 0;
   3280 
   3281     virtual HRESULT STDMETHODCALLTYPE get_Playlist(
   3282         IWMPPlaylist **ppPlaylist) = 0;
   3283 
   3284     virtual HRESULT STDMETHODCALLTYPE eject(
   3285         ) = 0;
   3286 
   3287 };
   3288 #ifdef __CRT_UUID_DECL
   3289 __CRT_UUID_DECL(IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b)
   3290 #endif
   3291 #else
   3292 typedef struct IWMPCdromVtbl {
   3293     BEGIN_INTERFACE
   3294 
   3295     /*** IUnknown methods ***/
   3296     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3297         IWMPCdrom *This,
   3298         REFIID riid,
   3299         void **ppvObject);
   3300 
   3301     ULONG (STDMETHODCALLTYPE *AddRef)(
   3302         IWMPCdrom *This);
   3303 
   3304     ULONG (STDMETHODCALLTYPE *Release)(
   3305         IWMPCdrom *This);
   3306 
   3307     /*** IDispatch methods ***/
   3308     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3309         IWMPCdrom *This,
   3310         UINT *pctinfo);
   3311 
   3312     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3313         IWMPCdrom *This,
   3314         UINT iTInfo,
   3315         LCID lcid,
   3316         ITypeInfo **ppTInfo);
   3317 
   3318     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3319         IWMPCdrom *This,
   3320         REFIID riid,
   3321         LPOLESTR *rgszNames,
   3322         UINT cNames,
   3323         LCID lcid,
   3324         DISPID *rgDispId);
   3325 
   3326     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3327         IWMPCdrom *This,
   3328         DISPID dispIdMember,
   3329         REFIID riid,
   3330         LCID lcid,
   3331         WORD wFlags,
   3332         DISPPARAMS *pDispParams,
   3333         VARIANT *pVarResult,
   3334         EXCEPINFO *pExcepInfo,
   3335         UINT *puArgErr);
   3336 
   3337     /*** IWMPCdrom methods ***/
   3338     HRESULT (STDMETHODCALLTYPE *get_driveSpecifier)(
   3339         IWMPCdrom *This,
   3340         BSTR *pbstrDrive);
   3341 
   3342     HRESULT (STDMETHODCALLTYPE *get_Playlist)(
   3343         IWMPCdrom *This,
   3344         IWMPPlaylist **ppPlaylist);
   3345 
   3346     HRESULT (STDMETHODCALLTYPE *eject)(
   3347         IWMPCdrom *This);
   3348 
   3349     END_INTERFACE
   3350 } IWMPCdromVtbl;
   3351 
   3352 interface IWMPCdrom {
   3353     CONST_VTBL IWMPCdromVtbl* lpVtbl;
   3354 };
   3355 
   3356 #ifdef COBJMACROS
   3357 #ifndef WIDL_C_INLINE_WRAPPERS
   3358 /*** IUnknown methods ***/
   3359 #define IWMPCdrom_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3360 #define IWMPCdrom_AddRef(This) (This)->lpVtbl->AddRef(This)
   3361 #define IWMPCdrom_Release(This) (This)->lpVtbl->Release(This)
   3362 /*** IDispatch methods ***/
   3363 #define IWMPCdrom_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3364 #define IWMPCdrom_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3365 #define IWMPCdrom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3366 #define IWMPCdrom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3367 /*** IWMPCdrom methods ***/
   3368 #define IWMPCdrom_get_driveSpecifier(This,pbstrDrive) (This)->lpVtbl->get_driveSpecifier(This,pbstrDrive)
   3369 #define IWMPCdrom_get_Playlist(This,ppPlaylist) (This)->lpVtbl->get_Playlist(This,ppPlaylist)
   3370 #define IWMPCdrom_eject(This) (This)->lpVtbl->eject(This)
   3371 #else
   3372 /*** IUnknown methods ***/
   3373 static inline HRESULT IWMPCdrom_QueryInterface(IWMPCdrom* This,REFIID riid,void **ppvObject) {
   3374     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3375 }
   3376 static inline ULONG IWMPCdrom_AddRef(IWMPCdrom* This) {
   3377     return This->lpVtbl->AddRef(This);
   3378 }
   3379 static inline ULONG IWMPCdrom_Release(IWMPCdrom* This) {
   3380     return This->lpVtbl->Release(This);
   3381 }
   3382 /*** IDispatch methods ***/
   3383 static inline HRESULT IWMPCdrom_GetTypeInfoCount(IWMPCdrom* This,UINT *pctinfo) {
   3384     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3385 }
   3386 static inline HRESULT IWMPCdrom_GetTypeInfo(IWMPCdrom* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3387     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3388 }
   3389 static inline HRESULT IWMPCdrom_GetIDsOfNames(IWMPCdrom* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3390     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3391 }
   3392 static inline HRESULT IWMPCdrom_Invoke(IWMPCdrom* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3393     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3394 }
   3395 /*** IWMPCdrom methods ***/
   3396 static inline HRESULT IWMPCdrom_get_driveSpecifier(IWMPCdrom* This,BSTR *pbstrDrive) {
   3397     return This->lpVtbl->get_driveSpecifier(This,pbstrDrive);
   3398 }
   3399 static inline HRESULT IWMPCdrom_get_Playlist(IWMPCdrom* This,IWMPPlaylist **ppPlaylist) {
   3400     return This->lpVtbl->get_Playlist(This,ppPlaylist);
   3401 }
   3402 static inline HRESULT IWMPCdrom_eject(IWMPCdrom* This) {
   3403     return This->lpVtbl->eject(This);
   3404 }
   3405 #endif
   3406 #endif
   3407 
   3408 #endif
   3409 
   3410 
   3411 #endif  /* __IWMPCdrom_INTERFACE_DEFINED__ */
   3412 
   3413 /*****************************************************************************
   3414  * IWMPCdromCollection interface
   3415  */
   3416 #ifndef __IWMPCdromCollection_INTERFACE_DEFINED__
   3417 #define __IWMPCdromCollection_INTERFACE_DEFINED__
   3418 
   3419 DEFINE_GUID(IID_IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44);
   3420 #if defined(__cplusplus) && !defined(CINTERFACE)
   3421 MIDL_INTERFACE("ee4c8fe2-34b2-11d3-a3bf-006097c9b344")
   3422 IWMPCdromCollection : public IDispatch
   3423 {
   3424     virtual HRESULT STDMETHODCALLTYPE get_count(
   3425         LONG *plCount) = 0;
   3426 
   3427     virtual HRESULT STDMETHODCALLTYPE Item(
   3428         LONG lIndex,
   3429         IWMPCdrom **ppItem) = 0;
   3430 
   3431     virtual HRESULT STDMETHODCALLTYPE getByDriveSpecifier(
   3432         BSTR bstrDriveSpecifier,
   3433         IWMPCdrom **ppCdrom) = 0;
   3434 
   3435 };
   3436 #ifdef __CRT_UUID_DECL
   3437 __CRT_UUID_DECL(IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44)
   3438 #endif
   3439 #else
   3440 typedef struct IWMPCdromCollectionVtbl {
   3441     BEGIN_INTERFACE
   3442 
   3443     /*** IUnknown methods ***/
   3444     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3445         IWMPCdromCollection *This,
   3446         REFIID riid,
   3447         void **ppvObject);
   3448 
   3449     ULONG (STDMETHODCALLTYPE *AddRef)(
   3450         IWMPCdromCollection *This);
   3451 
   3452     ULONG (STDMETHODCALLTYPE *Release)(
   3453         IWMPCdromCollection *This);
   3454 
   3455     /*** IDispatch methods ***/
   3456     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3457         IWMPCdromCollection *This,
   3458         UINT *pctinfo);
   3459 
   3460     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3461         IWMPCdromCollection *This,
   3462         UINT iTInfo,
   3463         LCID lcid,
   3464         ITypeInfo **ppTInfo);
   3465 
   3466     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3467         IWMPCdromCollection *This,
   3468         REFIID riid,
   3469         LPOLESTR *rgszNames,
   3470         UINT cNames,
   3471         LCID lcid,
   3472         DISPID *rgDispId);
   3473 
   3474     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3475         IWMPCdromCollection *This,
   3476         DISPID dispIdMember,
   3477         REFIID riid,
   3478         LCID lcid,
   3479         WORD wFlags,
   3480         DISPPARAMS *pDispParams,
   3481         VARIANT *pVarResult,
   3482         EXCEPINFO *pExcepInfo,
   3483         UINT *puArgErr);
   3484 
   3485     /*** IWMPCdromCollection methods ***/
   3486     HRESULT (STDMETHODCALLTYPE *get_count)(
   3487         IWMPCdromCollection *This,
   3488         LONG *plCount);
   3489 
   3490     HRESULT (STDMETHODCALLTYPE *Item)(
   3491         IWMPCdromCollection *This,
   3492         LONG lIndex,
   3493         IWMPCdrom **ppItem);
   3494 
   3495     HRESULT (STDMETHODCALLTYPE *getByDriveSpecifier)(
   3496         IWMPCdromCollection *This,
   3497         BSTR bstrDriveSpecifier,
   3498         IWMPCdrom **ppCdrom);
   3499 
   3500     END_INTERFACE
   3501 } IWMPCdromCollectionVtbl;
   3502 
   3503 interface IWMPCdromCollection {
   3504     CONST_VTBL IWMPCdromCollectionVtbl* lpVtbl;
   3505 };
   3506 
   3507 #ifdef COBJMACROS
   3508 #ifndef WIDL_C_INLINE_WRAPPERS
   3509 /*** IUnknown methods ***/
   3510 #define IWMPCdromCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3511 #define IWMPCdromCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   3512 #define IWMPCdromCollection_Release(This) (This)->lpVtbl->Release(This)
   3513 /*** IDispatch methods ***/
   3514 #define IWMPCdromCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3515 #define IWMPCdromCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3516 #define IWMPCdromCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3517 #define IWMPCdromCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3518 /*** IWMPCdromCollection methods ***/
   3519 #define IWMPCdromCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount)
   3520 #define IWMPCdromCollection_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem)
   3521 #define IWMPCdromCollection_getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom) (This)->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom)
   3522 #else
   3523 /*** IUnknown methods ***/
   3524 static inline HRESULT IWMPCdromCollection_QueryInterface(IWMPCdromCollection* This,REFIID riid,void **ppvObject) {
   3525     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3526 }
   3527 static inline ULONG IWMPCdromCollection_AddRef(IWMPCdromCollection* This) {
   3528     return This->lpVtbl->AddRef(This);
   3529 }
   3530 static inline ULONG IWMPCdromCollection_Release(IWMPCdromCollection* This) {
   3531     return This->lpVtbl->Release(This);
   3532 }
   3533 /*** IDispatch methods ***/
   3534 static inline HRESULT IWMPCdromCollection_GetTypeInfoCount(IWMPCdromCollection* This,UINT *pctinfo) {
   3535     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3536 }
   3537 static inline HRESULT IWMPCdromCollection_GetTypeInfo(IWMPCdromCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3538     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3539 }
   3540 static inline HRESULT IWMPCdromCollection_GetIDsOfNames(IWMPCdromCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3541     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3542 }
   3543 static inline HRESULT IWMPCdromCollection_Invoke(IWMPCdromCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3544     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3545 }
   3546 /*** IWMPCdromCollection methods ***/
   3547 static inline HRESULT IWMPCdromCollection_get_count(IWMPCdromCollection* This,LONG *plCount) {
   3548     return This->lpVtbl->get_count(This,plCount);
   3549 }
   3550 static inline HRESULT IWMPCdromCollection_Item(IWMPCdromCollection* This,LONG lIndex,IWMPCdrom **ppItem) {
   3551     return This->lpVtbl->Item(This,lIndex,ppItem);
   3552 }
   3553 static inline HRESULT IWMPCdromCollection_getByDriveSpecifier(IWMPCdromCollection* This,BSTR bstrDriveSpecifier,IWMPCdrom **ppCdrom) {
   3554     return This->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom);
   3555 }
   3556 #endif
   3557 #endif
   3558 
   3559 #endif
   3560 
   3561 
   3562 #endif  /* __IWMPCdromCollection_INTERFACE_DEFINED__ */
   3563 
   3564 /*****************************************************************************
   3565  * IWMPDVD interface
   3566  */
   3567 #ifndef __IWMPDVD_INTERFACE_DEFINED__
   3568 #define __IWMPDVD_INTERFACE_DEFINED__
   3569 
   3570 DEFINE_GUID(IID_IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe);
   3571 #if defined(__cplusplus) && !defined(CINTERFACE)
   3572 MIDL_INTERFACE("8da61686-4668-4a5c-ae5d-803193293dbe")
   3573 IWMPDVD : public IDispatch
   3574 {
   3575     virtual HRESULT STDMETHODCALLTYPE get_isAvailable(
   3576         BSTR bstrItem,
   3577         VARIANT_BOOL *pIsAvailable) = 0;
   3578 
   3579     virtual HRESULT STDMETHODCALLTYPE get_domain(
   3580         BSTR *strDomain) = 0;
   3581 
   3582     virtual HRESULT STDMETHODCALLTYPE topMenu(
   3583         ) = 0;
   3584 
   3585     virtual HRESULT STDMETHODCALLTYPE titleMenu(
   3586         ) = 0;
   3587 
   3588     virtual HRESULT STDMETHODCALLTYPE back(
   3589         ) = 0;
   3590 
   3591     virtual HRESULT STDMETHODCALLTYPE resume(
   3592         ) = 0;
   3593 
   3594 };
   3595 #ifdef __CRT_UUID_DECL
   3596 __CRT_UUID_DECL(IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe)
   3597 #endif
   3598 #else
   3599 typedef struct IWMPDVDVtbl {
   3600     BEGIN_INTERFACE
   3601 
   3602     /*** IUnknown methods ***/
   3603     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3604         IWMPDVD *This,
   3605         REFIID riid,
   3606         void **ppvObject);
   3607 
   3608     ULONG (STDMETHODCALLTYPE *AddRef)(
   3609         IWMPDVD *This);
   3610 
   3611     ULONG (STDMETHODCALLTYPE *Release)(
   3612         IWMPDVD *This);
   3613 
   3614     /*** IDispatch methods ***/
   3615     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3616         IWMPDVD *This,
   3617         UINT *pctinfo);
   3618 
   3619     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3620         IWMPDVD *This,
   3621         UINT iTInfo,
   3622         LCID lcid,
   3623         ITypeInfo **ppTInfo);
   3624 
   3625     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3626         IWMPDVD *This,
   3627         REFIID riid,
   3628         LPOLESTR *rgszNames,
   3629         UINT cNames,
   3630         LCID lcid,
   3631         DISPID *rgDispId);
   3632 
   3633     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3634         IWMPDVD *This,
   3635         DISPID dispIdMember,
   3636         REFIID riid,
   3637         LCID lcid,
   3638         WORD wFlags,
   3639         DISPPARAMS *pDispParams,
   3640         VARIANT *pVarResult,
   3641         EXCEPINFO *pExcepInfo,
   3642         UINT *puArgErr);
   3643 
   3644     /*** IWMPDVD methods ***/
   3645     HRESULT (STDMETHODCALLTYPE *get_isAvailable)(
   3646         IWMPDVD *This,
   3647         BSTR bstrItem,
   3648         VARIANT_BOOL *pIsAvailable);
   3649 
   3650     HRESULT (STDMETHODCALLTYPE *get_domain)(
   3651         IWMPDVD *This,
   3652         BSTR *strDomain);
   3653 
   3654     HRESULT (STDMETHODCALLTYPE *topMenu)(
   3655         IWMPDVD *This);
   3656 
   3657     HRESULT (STDMETHODCALLTYPE *titleMenu)(
   3658         IWMPDVD *This);
   3659 
   3660     HRESULT (STDMETHODCALLTYPE *back)(
   3661         IWMPDVD *This);
   3662 
   3663     HRESULT (STDMETHODCALLTYPE *resume)(
   3664         IWMPDVD *This);
   3665 
   3666     END_INTERFACE
   3667 } IWMPDVDVtbl;
   3668 
   3669 interface IWMPDVD {
   3670     CONST_VTBL IWMPDVDVtbl* lpVtbl;
   3671 };
   3672 
   3673 #ifdef COBJMACROS
   3674 #ifndef WIDL_C_INLINE_WRAPPERS
   3675 /*** IUnknown methods ***/
   3676 #define IWMPDVD_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3677 #define IWMPDVD_AddRef(This) (This)->lpVtbl->AddRef(This)
   3678 #define IWMPDVD_Release(This) (This)->lpVtbl->Release(This)
   3679 /*** IDispatch methods ***/
   3680 #define IWMPDVD_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3681 #define IWMPDVD_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3682 #define IWMPDVD_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3683 #define IWMPDVD_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3684 /*** IWMPDVD methods ***/
   3685 #define IWMPDVD_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable)
   3686 #define IWMPDVD_get_domain(This,strDomain) (This)->lpVtbl->get_domain(This,strDomain)
   3687 #define IWMPDVD_topMenu(This) (This)->lpVtbl->topMenu(This)
   3688 #define IWMPDVD_titleMenu(This) (This)->lpVtbl->titleMenu(This)
   3689 #define IWMPDVD_back(This) (This)->lpVtbl->back(This)
   3690 #define IWMPDVD_resume(This) (This)->lpVtbl->resume(This)
   3691 #else
   3692 /*** IUnknown methods ***/
   3693 static inline HRESULT IWMPDVD_QueryInterface(IWMPDVD* This,REFIID riid,void **ppvObject) {
   3694     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3695 }
   3696 static inline ULONG IWMPDVD_AddRef(IWMPDVD* This) {
   3697     return This->lpVtbl->AddRef(This);
   3698 }
   3699 static inline ULONG IWMPDVD_Release(IWMPDVD* This) {
   3700     return This->lpVtbl->Release(This);
   3701 }
   3702 /*** IDispatch methods ***/
   3703 static inline HRESULT IWMPDVD_GetTypeInfoCount(IWMPDVD* This,UINT *pctinfo) {
   3704     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3705 }
   3706 static inline HRESULT IWMPDVD_GetTypeInfo(IWMPDVD* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3707     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3708 }
   3709 static inline HRESULT IWMPDVD_GetIDsOfNames(IWMPDVD* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3710     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3711 }
   3712 static inline HRESULT IWMPDVD_Invoke(IWMPDVD* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3713     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3714 }
   3715 /*** IWMPDVD methods ***/
   3716 static inline HRESULT IWMPDVD_get_isAvailable(IWMPDVD* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) {
   3717     return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable);
   3718 }
   3719 static inline HRESULT IWMPDVD_get_domain(IWMPDVD* This,BSTR *strDomain) {
   3720     return This->lpVtbl->get_domain(This,strDomain);
   3721 }
   3722 static inline HRESULT IWMPDVD_topMenu(IWMPDVD* This) {
   3723     return This->lpVtbl->topMenu(This);
   3724 }
   3725 static inline HRESULT IWMPDVD_titleMenu(IWMPDVD* This) {
   3726     return This->lpVtbl->titleMenu(This);
   3727 }
   3728 static inline HRESULT IWMPDVD_back(IWMPDVD* This) {
   3729     return This->lpVtbl->back(This);
   3730 }
   3731 static inline HRESULT IWMPDVD_resume(IWMPDVD* This) {
   3732     return This->lpVtbl->resume(This);
   3733 }
   3734 #endif
   3735 #endif
   3736 
   3737 #endif
   3738 
   3739 
   3740 #endif  /* __IWMPDVD_INTERFACE_DEFINED__ */
   3741 
   3742 /*****************************************************************************
   3743  * IWMPClosedCaption interface
   3744  */
   3745 #ifndef __IWMPClosedCaption_INTERFACE_DEFINED__
   3746 #define __IWMPClosedCaption_INTERFACE_DEFINED__
   3747 
   3748 DEFINE_GUID(IID_IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37);
   3749 #if defined(__cplusplus) && !defined(CINTERFACE)
   3750 MIDL_INTERFACE("4f2df574-c588-11d3-9ed0-00c04fb6e937")
   3751 IWMPClosedCaption : public IDispatch
   3752 {
   3753     virtual HRESULT STDMETHODCALLTYPE get_SAMIStyle(
   3754         BSTR *pbstrSAMIStyle) = 0;
   3755 
   3756     virtual HRESULT STDMETHODCALLTYPE put_SAMIStyle(
   3757         BSTR pbstrSAMIStyle) = 0;
   3758 
   3759     virtual HRESULT STDMETHODCALLTYPE get_SAMILang(
   3760         BSTR *pbstrSAMILang) = 0;
   3761 
   3762     virtual HRESULT STDMETHODCALLTYPE put_SAMILang(
   3763         BSTR pbstrSAMILang) = 0;
   3764 
   3765     virtual HRESULT STDMETHODCALLTYPE get_SAMIFileName(
   3766         BSTR *pbstrSAMIFileName) = 0;
   3767 
   3768     virtual HRESULT STDMETHODCALLTYPE put_SAMIFileName(
   3769         BSTR pbstrSAMIFileName) = 0;
   3770 
   3771     virtual HRESULT STDMETHODCALLTYPE get_captioningId(
   3772         BSTR *pbstrCaptioningID) = 0;
   3773 
   3774     virtual HRESULT STDMETHODCALLTYPE put_captioningId(
   3775         BSTR pbstrCaptioningID) = 0;
   3776 
   3777 };
   3778 #ifdef __CRT_UUID_DECL
   3779 __CRT_UUID_DECL(IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37)
   3780 #endif
   3781 #else
   3782 typedef struct IWMPClosedCaptionVtbl {
   3783     BEGIN_INTERFACE
   3784 
   3785     /*** IUnknown methods ***/
   3786     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3787         IWMPClosedCaption *This,
   3788         REFIID riid,
   3789         void **ppvObject);
   3790 
   3791     ULONG (STDMETHODCALLTYPE *AddRef)(
   3792         IWMPClosedCaption *This);
   3793 
   3794     ULONG (STDMETHODCALLTYPE *Release)(
   3795         IWMPClosedCaption *This);
   3796 
   3797     /*** IDispatch methods ***/
   3798     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3799         IWMPClosedCaption *This,
   3800         UINT *pctinfo);
   3801 
   3802     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3803         IWMPClosedCaption *This,
   3804         UINT iTInfo,
   3805         LCID lcid,
   3806         ITypeInfo **ppTInfo);
   3807 
   3808     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3809         IWMPClosedCaption *This,
   3810         REFIID riid,
   3811         LPOLESTR *rgszNames,
   3812         UINT cNames,
   3813         LCID lcid,
   3814         DISPID *rgDispId);
   3815 
   3816     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3817         IWMPClosedCaption *This,
   3818         DISPID dispIdMember,
   3819         REFIID riid,
   3820         LCID lcid,
   3821         WORD wFlags,
   3822         DISPPARAMS *pDispParams,
   3823         VARIANT *pVarResult,
   3824         EXCEPINFO *pExcepInfo,
   3825         UINT *puArgErr);
   3826 
   3827     /*** IWMPClosedCaption methods ***/
   3828     HRESULT (STDMETHODCALLTYPE *get_SAMIStyle)(
   3829         IWMPClosedCaption *This,
   3830         BSTR *pbstrSAMIStyle);
   3831 
   3832     HRESULT (STDMETHODCALLTYPE *put_SAMIStyle)(
   3833         IWMPClosedCaption *This,
   3834         BSTR pbstrSAMIStyle);
   3835 
   3836     HRESULT (STDMETHODCALLTYPE *get_SAMILang)(
   3837         IWMPClosedCaption *This,
   3838         BSTR *pbstrSAMILang);
   3839 
   3840     HRESULT (STDMETHODCALLTYPE *put_SAMILang)(
   3841         IWMPClosedCaption *This,
   3842         BSTR pbstrSAMILang);
   3843 
   3844     HRESULT (STDMETHODCALLTYPE *get_SAMIFileName)(
   3845         IWMPClosedCaption *This,
   3846         BSTR *pbstrSAMIFileName);
   3847 
   3848     HRESULT (STDMETHODCALLTYPE *put_SAMIFileName)(
   3849         IWMPClosedCaption *This,
   3850         BSTR pbstrSAMIFileName);
   3851 
   3852     HRESULT (STDMETHODCALLTYPE *get_captioningId)(
   3853         IWMPClosedCaption *This,
   3854         BSTR *pbstrCaptioningID);
   3855 
   3856     HRESULT (STDMETHODCALLTYPE *put_captioningId)(
   3857         IWMPClosedCaption *This,
   3858         BSTR pbstrCaptioningID);
   3859 
   3860     END_INTERFACE
   3861 } IWMPClosedCaptionVtbl;
   3862 
   3863 interface IWMPClosedCaption {
   3864     CONST_VTBL IWMPClosedCaptionVtbl* lpVtbl;
   3865 };
   3866 
   3867 #ifdef COBJMACROS
   3868 #ifndef WIDL_C_INLINE_WRAPPERS
   3869 /*** IUnknown methods ***/
   3870 #define IWMPClosedCaption_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3871 #define IWMPClosedCaption_AddRef(This) (This)->lpVtbl->AddRef(This)
   3872 #define IWMPClosedCaption_Release(This) (This)->lpVtbl->Release(This)
   3873 /*** IDispatch methods ***/
   3874 #define IWMPClosedCaption_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3875 #define IWMPClosedCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3876 #define IWMPClosedCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3877 #define IWMPClosedCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3878 /*** IWMPClosedCaption methods ***/
   3879 #define IWMPClosedCaption_get_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle)
   3880 #define IWMPClosedCaption_put_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle)
   3881 #define IWMPClosedCaption_get_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->get_SAMILang(This,pbstrSAMILang)
   3882 #define IWMPClosedCaption_put_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->put_SAMILang(This,pbstrSAMILang)
   3883 #define IWMPClosedCaption_get_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName)
   3884 #define IWMPClosedCaption_put_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName)
   3885 #define IWMPClosedCaption_get_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->get_captioningId(This,pbstrCaptioningID)
   3886 #define IWMPClosedCaption_put_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->put_captioningId(This,pbstrCaptioningID)
   3887 #else
   3888 /*** IUnknown methods ***/
   3889 static inline HRESULT IWMPClosedCaption_QueryInterface(IWMPClosedCaption* This,REFIID riid,void **ppvObject) {
   3890     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3891 }
   3892 static inline ULONG IWMPClosedCaption_AddRef(IWMPClosedCaption* This) {
   3893     return This->lpVtbl->AddRef(This);
   3894 }
   3895 static inline ULONG IWMPClosedCaption_Release(IWMPClosedCaption* This) {
   3896     return This->lpVtbl->Release(This);
   3897 }
   3898 /*** IDispatch methods ***/
   3899 static inline HRESULT IWMPClosedCaption_GetTypeInfoCount(IWMPClosedCaption* This,UINT *pctinfo) {
   3900     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3901 }
   3902 static inline HRESULT IWMPClosedCaption_GetTypeInfo(IWMPClosedCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3903     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3904 }
   3905 static inline HRESULT IWMPClosedCaption_GetIDsOfNames(IWMPClosedCaption* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3906     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3907 }
   3908 static inline HRESULT IWMPClosedCaption_Invoke(IWMPClosedCaption* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3909     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3910 }
   3911 /*** IWMPClosedCaption methods ***/
   3912 static inline HRESULT IWMPClosedCaption_get_SAMIStyle(IWMPClosedCaption* This,BSTR *pbstrSAMIStyle) {
   3913     return This->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle);
   3914 }
   3915 static inline HRESULT IWMPClosedCaption_put_SAMIStyle(IWMPClosedCaption* This,BSTR pbstrSAMIStyle) {
   3916     return This->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle);
   3917 }
   3918 static inline HRESULT IWMPClosedCaption_get_SAMILang(IWMPClosedCaption* This,BSTR *pbstrSAMILang) {
   3919     return This->lpVtbl->get_SAMILang(This,pbstrSAMILang);
   3920 }
   3921 static inline HRESULT IWMPClosedCaption_put_SAMILang(IWMPClosedCaption* This,BSTR pbstrSAMILang) {
   3922     return This->lpVtbl->put_SAMILang(This,pbstrSAMILang);
   3923 }
   3924 static inline HRESULT IWMPClosedCaption_get_SAMIFileName(IWMPClosedCaption* This,BSTR *pbstrSAMIFileName) {
   3925     return This->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName);
   3926 }
   3927 static inline HRESULT IWMPClosedCaption_put_SAMIFileName(IWMPClosedCaption* This,BSTR pbstrSAMIFileName) {
   3928     return This->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName);
   3929 }
   3930 static inline HRESULT IWMPClosedCaption_get_captioningId(IWMPClosedCaption* This,BSTR *pbstrCaptioningID) {
   3931     return This->lpVtbl->get_captioningId(This,pbstrCaptioningID);
   3932 }
   3933 static inline HRESULT IWMPClosedCaption_put_captioningId(IWMPClosedCaption* This,BSTR pbstrCaptioningID) {
   3934     return This->lpVtbl->put_captioningId(This,pbstrCaptioningID);
   3935 }
   3936 #endif
   3937 #endif
   3938 
   3939 #endif
   3940 
   3941 
   3942 #endif  /* __IWMPClosedCaption_INTERFACE_DEFINED__ */
   3943 
   3944 /*****************************************************************************
   3945  * IWMPErrorItem interface
   3946  */
   3947 #ifndef __IWMPErrorItem_INTERFACE_DEFINED__
   3948 #define __IWMPErrorItem_INTERFACE_DEFINED__
   3949 
   3950 DEFINE_GUID(IID_IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3);
   3951 #if defined(__cplusplus) && !defined(CINTERFACE)
   3952 MIDL_INTERFACE("3614c646-3b3b-4de7-a81e-930e3f2127b3")
   3953 IWMPErrorItem : public IDispatch
   3954 {
   3955     virtual HRESULT STDMETHODCALLTYPE get_errorCode(
   3956         LONG *phr) = 0;
   3957 
   3958     virtual HRESULT STDMETHODCALLTYPE get_errorDescription(
   3959         BSTR *pbstrDescription) = 0;
   3960 
   3961     virtual HRESULT STDMETHODCALLTYPE get_errorContext(
   3962         VARIANT *pvarContext) = 0;
   3963 
   3964     virtual HRESULT STDMETHODCALLTYPE get_remedy(
   3965         LONG *plRemedy) = 0;
   3966 
   3967     virtual HRESULT STDMETHODCALLTYPE get_customUrl(
   3968         BSTR *pbstrCustomUrl) = 0;
   3969 
   3970 };
   3971 #ifdef __CRT_UUID_DECL
   3972 __CRT_UUID_DECL(IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3)
   3973 #endif
   3974 #else
   3975 typedef struct IWMPErrorItemVtbl {
   3976     BEGIN_INTERFACE
   3977 
   3978     /*** IUnknown methods ***/
   3979     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3980         IWMPErrorItem *This,
   3981         REFIID riid,
   3982         void **ppvObject);
   3983 
   3984     ULONG (STDMETHODCALLTYPE *AddRef)(
   3985         IWMPErrorItem *This);
   3986 
   3987     ULONG (STDMETHODCALLTYPE *Release)(
   3988         IWMPErrorItem *This);
   3989 
   3990     /*** IDispatch methods ***/
   3991     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3992         IWMPErrorItem *This,
   3993         UINT *pctinfo);
   3994 
   3995     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3996         IWMPErrorItem *This,
   3997         UINT iTInfo,
   3998         LCID lcid,
   3999         ITypeInfo **ppTInfo);
   4000 
   4001     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4002         IWMPErrorItem *This,
   4003         REFIID riid,
   4004         LPOLESTR *rgszNames,
   4005         UINT cNames,
   4006         LCID lcid,
   4007         DISPID *rgDispId);
   4008 
   4009     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4010         IWMPErrorItem *This,
   4011         DISPID dispIdMember,
   4012         REFIID riid,
   4013         LCID lcid,
   4014         WORD wFlags,
   4015         DISPPARAMS *pDispParams,
   4016         VARIANT *pVarResult,
   4017         EXCEPINFO *pExcepInfo,
   4018         UINT *puArgErr);
   4019 
   4020     /*** IWMPErrorItem methods ***/
   4021     HRESULT (STDMETHODCALLTYPE *get_errorCode)(
   4022         IWMPErrorItem *This,
   4023         LONG *phr);
   4024 
   4025     HRESULT (STDMETHODCALLTYPE *get_errorDescription)(
   4026         IWMPErrorItem *This,
   4027         BSTR *pbstrDescription);
   4028 
   4029     HRESULT (STDMETHODCALLTYPE *get_errorContext)(
   4030         IWMPErrorItem *This,
   4031         VARIANT *pvarContext);
   4032 
   4033     HRESULT (STDMETHODCALLTYPE *get_remedy)(
   4034         IWMPErrorItem *This,
   4035         LONG *plRemedy);
   4036 
   4037     HRESULT (STDMETHODCALLTYPE *get_customUrl)(
   4038         IWMPErrorItem *This,
   4039         BSTR *pbstrCustomUrl);
   4040 
   4041     END_INTERFACE
   4042 } IWMPErrorItemVtbl;
   4043 
   4044 interface IWMPErrorItem {
   4045     CONST_VTBL IWMPErrorItemVtbl* lpVtbl;
   4046 };
   4047 
   4048 #ifdef COBJMACROS
   4049 #ifndef WIDL_C_INLINE_WRAPPERS
   4050 /*** IUnknown methods ***/
   4051 #define IWMPErrorItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4052 #define IWMPErrorItem_AddRef(This) (This)->lpVtbl->AddRef(This)
   4053 #define IWMPErrorItem_Release(This) (This)->lpVtbl->Release(This)
   4054 /*** IDispatch methods ***/
   4055 #define IWMPErrorItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4056 #define IWMPErrorItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4057 #define IWMPErrorItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4058 #define IWMPErrorItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4059 /*** IWMPErrorItem methods ***/
   4060 #define IWMPErrorItem_get_errorCode(This,phr) (This)->lpVtbl->get_errorCode(This,phr)
   4061 #define IWMPErrorItem_get_errorDescription(This,pbstrDescription) (This)->lpVtbl->get_errorDescription(This,pbstrDescription)
   4062 #define IWMPErrorItem_get_errorContext(This,pvarContext) (This)->lpVtbl->get_errorContext(This,pvarContext)
   4063 #define IWMPErrorItem_get_remedy(This,plRemedy) (This)->lpVtbl->get_remedy(This,plRemedy)
   4064 #define IWMPErrorItem_get_customUrl(This,pbstrCustomUrl) (This)->lpVtbl->get_customUrl(This,pbstrCustomUrl)
   4065 #else
   4066 /*** IUnknown methods ***/
   4067 static inline HRESULT IWMPErrorItem_QueryInterface(IWMPErrorItem* This,REFIID riid,void **ppvObject) {
   4068     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4069 }
   4070 static inline ULONG IWMPErrorItem_AddRef(IWMPErrorItem* This) {
   4071     return This->lpVtbl->AddRef(This);
   4072 }
   4073 static inline ULONG IWMPErrorItem_Release(IWMPErrorItem* This) {
   4074     return This->lpVtbl->Release(This);
   4075 }
   4076 /*** IDispatch methods ***/
   4077 static inline HRESULT IWMPErrorItem_GetTypeInfoCount(IWMPErrorItem* This,UINT *pctinfo) {
   4078     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4079 }
   4080 static inline HRESULT IWMPErrorItem_GetTypeInfo(IWMPErrorItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4081     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4082 }
   4083 static inline HRESULT IWMPErrorItem_GetIDsOfNames(IWMPErrorItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4084     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4085 }
   4086 static inline HRESULT IWMPErrorItem_Invoke(IWMPErrorItem* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4087     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4088 }
   4089 /*** IWMPErrorItem methods ***/
   4090 static inline HRESULT IWMPErrorItem_get_errorCode(IWMPErrorItem* This,LONG *phr) {
   4091     return This->lpVtbl->get_errorCode(This,phr);
   4092 }
   4093 static inline HRESULT IWMPErrorItem_get_errorDescription(IWMPErrorItem* This,BSTR *pbstrDescription) {
   4094     return This->lpVtbl->get_errorDescription(This,pbstrDescription);
   4095 }
   4096 static inline HRESULT IWMPErrorItem_get_errorContext(IWMPErrorItem* This,VARIANT *pvarContext) {
   4097     return This->lpVtbl->get_errorContext(This,pvarContext);
   4098 }
   4099 static inline HRESULT IWMPErrorItem_get_remedy(IWMPErrorItem* This,LONG *plRemedy) {
   4100     return This->lpVtbl->get_remedy(This,plRemedy);
   4101 }
   4102 static inline HRESULT IWMPErrorItem_get_customUrl(IWMPErrorItem* This,BSTR *pbstrCustomUrl) {
   4103     return This->lpVtbl->get_customUrl(This,pbstrCustomUrl);
   4104 }
   4105 #endif
   4106 #endif
   4107 
   4108 #endif
   4109 
   4110 
   4111 #endif  /* __IWMPErrorItem_INTERFACE_DEFINED__ */
   4112 
   4113 /*****************************************************************************
   4114  * IWMPMedia2 interface
   4115  */
   4116 #ifndef __IWMPMedia2_INTERFACE_DEFINED__
   4117 #define __IWMPMedia2_INTERFACE_DEFINED__
   4118 
   4119 DEFINE_GUID(IID_IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3);
   4120 #if defined(__cplusplus) && !defined(CINTERFACE)
   4121 MIDL_INTERFACE("ab7c88bb-143e-4ea4-acc3-e4350b2106c3")
   4122 IWMPMedia2 : public IWMPMedia
   4123 {
   4124     virtual HRESULT STDMETHODCALLTYPE get_error(
   4125         IWMPErrorItem **out) = 0;
   4126 
   4127 };
   4128 #ifdef __CRT_UUID_DECL
   4129 __CRT_UUID_DECL(IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3)
   4130 #endif
   4131 #else
   4132 typedef struct IWMPMedia2Vtbl {
   4133     BEGIN_INTERFACE
   4134 
   4135     /*** IUnknown methods ***/
   4136     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4137         IWMPMedia2 *This,
   4138         REFIID riid,
   4139         void **ppvObject);
   4140 
   4141     ULONG (STDMETHODCALLTYPE *AddRef)(
   4142         IWMPMedia2 *This);
   4143 
   4144     ULONG (STDMETHODCALLTYPE *Release)(
   4145         IWMPMedia2 *This);
   4146 
   4147     /*** IDispatch methods ***/
   4148     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4149         IWMPMedia2 *This,
   4150         UINT *pctinfo);
   4151 
   4152     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4153         IWMPMedia2 *This,
   4154         UINT iTInfo,
   4155         LCID lcid,
   4156         ITypeInfo **ppTInfo);
   4157 
   4158     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4159         IWMPMedia2 *This,
   4160         REFIID riid,
   4161         LPOLESTR *rgszNames,
   4162         UINT cNames,
   4163         LCID lcid,
   4164         DISPID *rgDispId);
   4165 
   4166     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4167         IWMPMedia2 *This,
   4168         DISPID dispIdMember,
   4169         REFIID riid,
   4170         LCID lcid,
   4171         WORD wFlags,
   4172         DISPPARAMS *pDispParams,
   4173         VARIANT *pVarResult,
   4174         EXCEPINFO *pExcepInfo,
   4175         UINT *puArgErr);
   4176 
   4177     /*** IWMPMedia methods ***/
   4178     HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
   4179         IWMPMedia2 *This,
   4180         IWMPMedia *pIWMPMedia,
   4181         VARIANT_BOOL *pvbool);
   4182 
   4183     HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
   4184         IWMPMedia2 *This,
   4185         BSTR *pbstrSourceURL);
   4186 
   4187     HRESULT (STDMETHODCALLTYPE *get_name)(
   4188         IWMPMedia2 *This,
   4189         BSTR *pbstrName);
   4190 
   4191     HRESULT (STDMETHODCALLTYPE *put_name)(
   4192         IWMPMedia2 *This,
   4193         BSTR pbstrName);
   4194 
   4195     HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
   4196         IWMPMedia2 *This,
   4197         LONG *pWidth);
   4198 
   4199     HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
   4200         IWMPMedia2 *This,
   4201         LONG *pHeight);
   4202 
   4203     HRESULT (STDMETHODCALLTYPE *get_markerCount)(
   4204         IWMPMedia2 *This,
   4205         LONG *pMarkerCount);
   4206 
   4207     HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
   4208         IWMPMedia2 *This,
   4209         LONG MarkerNum,
   4210         double *pMarkerTime);
   4211 
   4212     HRESULT (STDMETHODCALLTYPE *getMarkerName)(
   4213         IWMPMedia2 *This,
   4214         LONG MarkerNum,
   4215         BSTR *pbstrMarkerName);
   4216 
   4217     HRESULT (STDMETHODCALLTYPE *get_duration)(
   4218         IWMPMedia2 *This,
   4219         double *pDuration);
   4220 
   4221     HRESULT (STDMETHODCALLTYPE *get_durationString)(
   4222         IWMPMedia2 *This,
   4223         BSTR *pbstrDuration);
   4224 
   4225     HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
   4226         IWMPMedia2 *This,
   4227         LONG *plCount);
   4228 
   4229     HRESULT (STDMETHODCALLTYPE *getAttributeName)(
   4230         IWMPMedia2 *This,
   4231         LONG lIndex,
   4232         BSTR *pbstrItemName);
   4233 
   4234     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
   4235         IWMPMedia2 *This,
   4236         BSTR bstrItemName,
   4237         BSTR *pbstrVal);
   4238 
   4239     HRESULT (STDMETHODCALLTYPE *setItemInfo)(
   4240         IWMPMedia2 *This,
   4241         BSTR bstrItemName,
   4242         BSTR bstrVal);
   4243 
   4244     HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
   4245         IWMPMedia2 *This,
   4246         LONG lAtom,
   4247         BSTR *pbstrVal);
   4248 
   4249     HRESULT (STDMETHODCALLTYPE *isMemberOf)(
   4250         IWMPMedia2 *This,
   4251         IWMPPlaylist *pPlaylist,
   4252         VARIANT_BOOL *pvarfIsMemberOf);
   4253 
   4254     HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
   4255         IWMPMedia2 *This,
   4256         BSTR bstrItemName,
   4257         VARIANT_BOOL *pvarfIsReadOnly);
   4258 
   4259     /*** IWMPMedia2 methods ***/
   4260     HRESULT (STDMETHODCALLTYPE *get_error)(
   4261         IWMPMedia2 *This,
   4262         IWMPErrorItem **out);
   4263 
   4264     END_INTERFACE
   4265 } IWMPMedia2Vtbl;
   4266 
   4267 interface IWMPMedia2 {
   4268     CONST_VTBL IWMPMedia2Vtbl* lpVtbl;
   4269 };
   4270 
   4271 #ifdef COBJMACROS
   4272 #ifndef WIDL_C_INLINE_WRAPPERS
   4273 /*** IUnknown methods ***/
   4274 #define IWMPMedia2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4275 #define IWMPMedia2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4276 #define IWMPMedia2_Release(This) (This)->lpVtbl->Release(This)
   4277 /*** IDispatch methods ***/
   4278 #define IWMPMedia2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4279 #define IWMPMedia2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4280 #define IWMPMedia2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4281 #define IWMPMedia2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4282 /*** IWMPMedia methods ***/
   4283 #define IWMPMedia2_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
   4284 #define IWMPMedia2_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
   4285 #define IWMPMedia2_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
   4286 #define IWMPMedia2_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
   4287 #define IWMPMedia2_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
   4288 #define IWMPMedia2_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
   4289 #define IWMPMedia2_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
   4290 #define IWMPMedia2_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
   4291 #define IWMPMedia2_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
   4292 #define IWMPMedia2_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
   4293 #define IWMPMedia2_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
   4294 #define IWMPMedia2_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
   4295 #define IWMPMedia2_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
   4296 #define IWMPMedia2_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
   4297 #define IWMPMedia2_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
   4298 #define IWMPMedia2_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
   4299 #define IWMPMedia2_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
   4300 #define IWMPMedia2_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
   4301 /*** IWMPMedia2 methods ***/
   4302 #define IWMPMedia2_get_error(This,out) (This)->lpVtbl->get_error(This,out)
   4303 #else
   4304 /*** IUnknown methods ***/
   4305 static inline HRESULT IWMPMedia2_QueryInterface(IWMPMedia2* This,REFIID riid,void **ppvObject) {
   4306     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4307 }
   4308 static inline ULONG IWMPMedia2_AddRef(IWMPMedia2* This) {
   4309     return This->lpVtbl->AddRef(This);
   4310 }
   4311 static inline ULONG IWMPMedia2_Release(IWMPMedia2* This) {
   4312     return This->lpVtbl->Release(This);
   4313 }
   4314 /*** IDispatch methods ***/
   4315 static inline HRESULT IWMPMedia2_GetTypeInfoCount(IWMPMedia2* This,UINT *pctinfo) {
   4316     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4317 }
   4318 static inline HRESULT IWMPMedia2_GetTypeInfo(IWMPMedia2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4319     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4320 }
   4321 static inline HRESULT IWMPMedia2_GetIDsOfNames(IWMPMedia2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4322     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4323 }
   4324 static inline HRESULT IWMPMedia2_Invoke(IWMPMedia2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4325     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4326 }
   4327 /*** IWMPMedia methods ***/
   4328 static inline HRESULT IWMPMedia2_get_isIdentical(IWMPMedia2* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
   4329     return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
   4330 }
   4331 static inline HRESULT IWMPMedia2_get_sourceURL(IWMPMedia2* This,BSTR *pbstrSourceURL) {
   4332     return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
   4333 }
   4334 static inline HRESULT IWMPMedia2_get_name(IWMPMedia2* This,BSTR *pbstrName) {
   4335     return This->lpVtbl->get_name(This,pbstrName);
   4336 }
   4337 static inline HRESULT IWMPMedia2_put_name(IWMPMedia2* This,BSTR pbstrName) {
   4338     return This->lpVtbl->put_name(This,pbstrName);
   4339 }
   4340 static inline HRESULT IWMPMedia2_get_imageSourceWidth(IWMPMedia2* This,LONG *pWidth) {
   4341     return This->lpVtbl->get_imageSourceWidth(This,pWidth);
   4342 }
   4343 static inline HRESULT IWMPMedia2_get_imageSourceHeight(IWMPMedia2* This,LONG *pHeight) {
   4344     return This->lpVtbl->get_imageSourceHeight(This,pHeight);
   4345 }
   4346 static inline HRESULT IWMPMedia2_get_markerCount(IWMPMedia2* This,LONG *pMarkerCount) {
   4347     return This->lpVtbl->get_markerCount(This,pMarkerCount);
   4348 }
   4349 static inline HRESULT IWMPMedia2_getMarkerTime(IWMPMedia2* This,LONG MarkerNum,double *pMarkerTime) {
   4350     return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
   4351 }
   4352 static inline HRESULT IWMPMedia2_getMarkerName(IWMPMedia2* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
   4353     return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
   4354 }
   4355 static inline HRESULT IWMPMedia2_get_duration(IWMPMedia2* This,double *pDuration) {
   4356     return This->lpVtbl->get_duration(This,pDuration);
   4357 }
   4358 static inline HRESULT IWMPMedia2_get_durationString(IWMPMedia2* This,BSTR *pbstrDuration) {
   4359     return This->lpVtbl->get_durationString(This,pbstrDuration);
   4360 }
   4361 static inline HRESULT IWMPMedia2_get_attributeCount(IWMPMedia2* This,LONG *plCount) {
   4362     return This->lpVtbl->get_attributeCount(This,plCount);
   4363 }
   4364 static inline HRESULT IWMPMedia2_getAttributeName(IWMPMedia2* This,LONG lIndex,BSTR *pbstrItemName) {
   4365     return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
   4366 }
   4367 static inline HRESULT IWMPMedia2_getItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR *pbstrVal) {
   4368     return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
   4369 }
   4370 static inline HRESULT IWMPMedia2_setItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR bstrVal) {
   4371     return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
   4372 }
   4373 static inline HRESULT IWMPMedia2_getItemInfoByAtom(IWMPMedia2* This,LONG lAtom,BSTR *pbstrVal) {
   4374     return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
   4375 }
   4376 static inline HRESULT IWMPMedia2_isMemberOf(IWMPMedia2* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
   4377     return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
   4378 }
   4379 static inline HRESULT IWMPMedia2_isReadOnlyItem(IWMPMedia2* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
   4380     return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
   4381 }
   4382 /*** IWMPMedia2 methods ***/
   4383 static inline HRESULT IWMPMedia2_get_error(IWMPMedia2* This,IWMPErrorItem **out) {
   4384     return This->lpVtbl->get_error(This,out);
   4385 }
   4386 #endif
   4387 #endif
   4388 
   4389 #endif
   4390 
   4391 
   4392 #endif  /* __IWMPMedia2_INTERFACE_DEFINED__ */
   4393 
   4394 /*****************************************************************************
   4395  * IWMPMedia3 interface
   4396  */
   4397 #ifndef __IWMPMedia3_INTERFACE_DEFINED__
   4398 #define __IWMPMedia3_INTERFACE_DEFINED__
   4399 
   4400 DEFINE_GUID(IID_IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b);
   4401 #if defined(__cplusplus) && !defined(CINTERFACE)
   4402 MIDL_INTERFACE("f118efc7-f03a-4fb4-99c9-1c02a5c1065b")
   4403 IWMPMedia3 : public IWMPMedia2
   4404 {
   4405     virtual HRESULT STDMETHODCALLTYPE getAttributeCountByType(
   4406         BSTR type,
   4407         BSTR language,
   4408         LONG *out) = 0;
   4409 
   4410     virtual HRESULT STDMETHODCALLTYPE getItemInfoByType(
   4411         BSTR type,
   4412         BSTR language,
   4413         LONG index,
   4414         VARIANT *out) = 0;
   4415 
   4416 };
   4417 #ifdef __CRT_UUID_DECL
   4418 __CRT_UUID_DECL(IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b)
   4419 #endif
   4420 #else
   4421 typedef struct IWMPMedia3Vtbl {
   4422     BEGIN_INTERFACE
   4423 
   4424     /*** IUnknown methods ***/
   4425     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4426         IWMPMedia3 *This,
   4427         REFIID riid,
   4428         void **ppvObject);
   4429 
   4430     ULONG (STDMETHODCALLTYPE *AddRef)(
   4431         IWMPMedia3 *This);
   4432 
   4433     ULONG (STDMETHODCALLTYPE *Release)(
   4434         IWMPMedia3 *This);
   4435 
   4436     /*** IDispatch methods ***/
   4437     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4438         IWMPMedia3 *This,
   4439         UINT *pctinfo);
   4440 
   4441     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4442         IWMPMedia3 *This,
   4443         UINT iTInfo,
   4444         LCID lcid,
   4445         ITypeInfo **ppTInfo);
   4446 
   4447     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4448         IWMPMedia3 *This,
   4449         REFIID riid,
   4450         LPOLESTR *rgszNames,
   4451         UINT cNames,
   4452         LCID lcid,
   4453         DISPID *rgDispId);
   4454 
   4455     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4456         IWMPMedia3 *This,
   4457         DISPID dispIdMember,
   4458         REFIID riid,
   4459         LCID lcid,
   4460         WORD wFlags,
   4461         DISPPARAMS *pDispParams,
   4462         VARIANT *pVarResult,
   4463         EXCEPINFO *pExcepInfo,
   4464         UINT *puArgErr);
   4465 
   4466     /*** IWMPMedia methods ***/
   4467     HRESULT (STDMETHODCALLTYPE *get_isIdentical)(
   4468         IWMPMedia3 *This,
   4469         IWMPMedia *pIWMPMedia,
   4470         VARIANT_BOOL *pvbool);
   4471 
   4472     HRESULT (STDMETHODCALLTYPE *get_sourceURL)(
   4473         IWMPMedia3 *This,
   4474         BSTR *pbstrSourceURL);
   4475 
   4476     HRESULT (STDMETHODCALLTYPE *get_name)(
   4477         IWMPMedia3 *This,
   4478         BSTR *pbstrName);
   4479 
   4480     HRESULT (STDMETHODCALLTYPE *put_name)(
   4481         IWMPMedia3 *This,
   4482         BSTR pbstrName);
   4483 
   4484     HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)(
   4485         IWMPMedia3 *This,
   4486         LONG *pWidth);
   4487 
   4488     HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)(
   4489         IWMPMedia3 *This,
   4490         LONG *pHeight);
   4491 
   4492     HRESULT (STDMETHODCALLTYPE *get_markerCount)(
   4493         IWMPMedia3 *This,
   4494         LONG *pMarkerCount);
   4495 
   4496     HRESULT (STDMETHODCALLTYPE *getMarkerTime)(
   4497         IWMPMedia3 *This,
   4498         LONG MarkerNum,
   4499         double *pMarkerTime);
   4500 
   4501     HRESULT (STDMETHODCALLTYPE *getMarkerName)(
   4502         IWMPMedia3 *This,
   4503         LONG MarkerNum,
   4504         BSTR *pbstrMarkerName);
   4505 
   4506     HRESULT (STDMETHODCALLTYPE *get_duration)(
   4507         IWMPMedia3 *This,
   4508         double *pDuration);
   4509 
   4510     HRESULT (STDMETHODCALLTYPE *get_durationString)(
   4511         IWMPMedia3 *This,
   4512         BSTR *pbstrDuration);
   4513 
   4514     HRESULT (STDMETHODCALLTYPE *get_attributeCount)(
   4515         IWMPMedia3 *This,
   4516         LONG *plCount);
   4517 
   4518     HRESULT (STDMETHODCALLTYPE *getAttributeName)(
   4519         IWMPMedia3 *This,
   4520         LONG lIndex,
   4521         BSTR *pbstrItemName);
   4522 
   4523     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
   4524         IWMPMedia3 *This,
   4525         BSTR bstrItemName,
   4526         BSTR *pbstrVal);
   4527 
   4528     HRESULT (STDMETHODCALLTYPE *setItemInfo)(
   4529         IWMPMedia3 *This,
   4530         BSTR bstrItemName,
   4531         BSTR bstrVal);
   4532 
   4533     HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)(
   4534         IWMPMedia3 *This,
   4535         LONG lAtom,
   4536         BSTR *pbstrVal);
   4537 
   4538     HRESULT (STDMETHODCALLTYPE *isMemberOf)(
   4539         IWMPMedia3 *This,
   4540         IWMPPlaylist *pPlaylist,
   4541         VARIANT_BOOL *pvarfIsMemberOf);
   4542 
   4543     HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)(
   4544         IWMPMedia3 *This,
   4545         BSTR bstrItemName,
   4546         VARIANT_BOOL *pvarfIsReadOnly);
   4547 
   4548     /*** IWMPMedia2 methods ***/
   4549     HRESULT (STDMETHODCALLTYPE *get_error)(
   4550         IWMPMedia3 *This,
   4551         IWMPErrorItem **out);
   4552 
   4553     /*** IWMPMedia3 methods ***/
   4554     HRESULT (STDMETHODCALLTYPE *getAttributeCountByType)(
   4555         IWMPMedia3 *This,
   4556         BSTR type,
   4557         BSTR language,
   4558         LONG *out);
   4559 
   4560     HRESULT (STDMETHODCALLTYPE *getItemInfoByType)(
   4561         IWMPMedia3 *This,
   4562         BSTR type,
   4563         BSTR language,
   4564         LONG index,
   4565         VARIANT *out);
   4566 
   4567     END_INTERFACE
   4568 } IWMPMedia3Vtbl;
   4569 
   4570 interface IWMPMedia3 {
   4571     CONST_VTBL IWMPMedia3Vtbl* lpVtbl;
   4572 };
   4573 
   4574 #ifdef COBJMACROS
   4575 #ifndef WIDL_C_INLINE_WRAPPERS
   4576 /*** IUnknown methods ***/
   4577 #define IWMPMedia3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4578 #define IWMPMedia3_AddRef(This) (This)->lpVtbl->AddRef(This)
   4579 #define IWMPMedia3_Release(This) (This)->lpVtbl->Release(This)
   4580 /*** IDispatch methods ***/
   4581 #define IWMPMedia3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4582 #define IWMPMedia3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4583 #define IWMPMedia3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4584 #define IWMPMedia3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4585 /*** IWMPMedia methods ***/
   4586 #define IWMPMedia3_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool)
   4587 #define IWMPMedia3_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL)
   4588 #define IWMPMedia3_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName)
   4589 #define IWMPMedia3_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName)
   4590 #define IWMPMedia3_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth)
   4591 #define IWMPMedia3_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight)
   4592 #define IWMPMedia3_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount)
   4593 #define IWMPMedia3_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime)
   4594 #define IWMPMedia3_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName)
   4595 #define IWMPMedia3_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration)
   4596 #define IWMPMedia3_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration)
   4597 #define IWMPMedia3_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount)
   4598 #define IWMPMedia3_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName)
   4599 #define IWMPMedia3_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal)
   4600 #define IWMPMedia3_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal)
   4601 #define IWMPMedia3_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal)
   4602 #define IWMPMedia3_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf)
   4603 #define IWMPMedia3_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly)
   4604 /*** IWMPMedia2 methods ***/
   4605 #define IWMPMedia3_get_error(This,out) (This)->lpVtbl->get_error(This,out)
   4606 /*** IWMPMedia3 methods ***/
   4607 #define IWMPMedia3_getAttributeCountByType(This,type,language,out) (This)->lpVtbl->getAttributeCountByType(This,type,language,out)
   4608 #define IWMPMedia3_getItemInfoByType(This,type,language,index,out) (This)->lpVtbl->getItemInfoByType(This,type,language,index,out)
   4609 #else
   4610 /*** IUnknown methods ***/
   4611 static inline HRESULT IWMPMedia3_QueryInterface(IWMPMedia3* This,REFIID riid,void **ppvObject) {
   4612     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4613 }
   4614 static inline ULONG IWMPMedia3_AddRef(IWMPMedia3* This) {
   4615     return This->lpVtbl->AddRef(This);
   4616 }
   4617 static inline ULONG IWMPMedia3_Release(IWMPMedia3* This) {
   4618     return This->lpVtbl->Release(This);
   4619 }
   4620 /*** IDispatch methods ***/
   4621 static inline HRESULT IWMPMedia3_GetTypeInfoCount(IWMPMedia3* This,UINT *pctinfo) {
   4622     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4623 }
   4624 static inline HRESULT IWMPMedia3_GetTypeInfo(IWMPMedia3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4625     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4626 }
   4627 static inline HRESULT IWMPMedia3_GetIDsOfNames(IWMPMedia3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4628     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4629 }
   4630 static inline HRESULT IWMPMedia3_Invoke(IWMPMedia3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4631     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4632 }
   4633 /*** IWMPMedia methods ***/
   4634 static inline HRESULT IWMPMedia3_get_isIdentical(IWMPMedia3* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) {
   4635     return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool);
   4636 }
   4637 static inline HRESULT IWMPMedia3_get_sourceURL(IWMPMedia3* This,BSTR *pbstrSourceURL) {
   4638     return This->lpVtbl->get_sourceURL(This,pbstrSourceURL);
   4639 }
   4640 static inline HRESULT IWMPMedia3_get_name(IWMPMedia3* This,BSTR *pbstrName) {
   4641     return This->lpVtbl->get_name(This,pbstrName);
   4642 }
   4643 static inline HRESULT IWMPMedia3_put_name(IWMPMedia3* This,BSTR pbstrName) {
   4644     return This->lpVtbl->put_name(This,pbstrName);
   4645 }
   4646 static inline HRESULT IWMPMedia3_get_imageSourceWidth(IWMPMedia3* This,LONG *pWidth) {
   4647     return This->lpVtbl->get_imageSourceWidth(This,pWidth);
   4648 }
   4649 static inline HRESULT IWMPMedia3_get_imageSourceHeight(IWMPMedia3* This,LONG *pHeight) {
   4650     return This->lpVtbl->get_imageSourceHeight(This,pHeight);
   4651 }
   4652 static inline HRESULT IWMPMedia3_get_markerCount(IWMPMedia3* This,LONG *pMarkerCount) {
   4653     return This->lpVtbl->get_markerCount(This,pMarkerCount);
   4654 }
   4655 static inline HRESULT IWMPMedia3_getMarkerTime(IWMPMedia3* This,LONG MarkerNum,double *pMarkerTime) {
   4656     return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime);
   4657 }
   4658 static inline HRESULT IWMPMedia3_getMarkerName(IWMPMedia3* This,LONG MarkerNum,BSTR *pbstrMarkerName) {
   4659     return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName);
   4660 }
   4661 static inline HRESULT IWMPMedia3_get_duration(IWMPMedia3* This,double *pDuration) {
   4662     return This->lpVtbl->get_duration(This,pDuration);
   4663 }
   4664 static inline HRESULT IWMPMedia3_get_durationString(IWMPMedia3* This,BSTR *pbstrDuration) {
   4665     return This->lpVtbl->get_durationString(This,pbstrDuration);
   4666 }
   4667 static inline HRESULT IWMPMedia3_get_attributeCount(IWMPMedia3* This,LONG *plCount) {
   4668     return This->lpVtbl->get_attributeCount(This,plCount);
   4669 }
   4670 static inline HRESULT IWMPMedia3_getAttributeName(IWMPMedia3* This,LONG lIndex,BSTR *pbstrItemName) {
   4671     return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName);
   4672 }
   4673 static inline HRESULT IWMPMedia3_getItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR *pbstrVal) {
   4674     return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal);
   4675 }
   4676 static inline HRESULT IWMPMedia3_setItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR bstrVal) {
   4677     return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal);
   4678 }
   4679 static inline HRESULT IWMPMedia3_getItemInfoByAtom(IWMPMedia3* This,LONG lAtom,BSTR *pbstrVal) {
   4680     return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal);
   4681 }
   4682 static inline HRESULT IWMPMedia3_isMemberOf(IWMPMedia3* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) {
   4683     return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf);
   4684 }
   4685 static inline HRESULT IWMPMedia3_isReadOnlyItem(IWMPMedia3* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) {
   4686     return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly);
   4687 }
   4688 /*** IWMPMedia2 methods ***/
   4689 static inline HRESULT IWMPMedia3_get_error(IWMPMedia3* This,IWMPErrorItem **out) {
   4690     return This->lpVtbl->get_error(This,out);
   4691 }
   4692 /*** IWMPMedia3 methods ***/
   4693 static inline HRESULT IWMPMedia3_getAttributeCountByType(IWMPMedia3* This,BSTR type,BSTR language,LONG *out) {
   4694     return This->lpVtbl->getAttributeCountByType(This,type,language,out);
   4695 }
   4696 static inline HRESULT IWMPMedia3_getItemInfoByType(IWMPMedia3* This,BSTR type,BSTR language,LONG index,VARIANT *out) {
   4697     return This->lpVtbl->getItemInfoByType(This,type,language,index,out);
   4698 }
   4699 #endif
   4700 #endif
   4701 
   4702 #endif
   4703 
   4704 
   4705 #endif  /* __IWMPMedia3_INTERFACE_DEFINED__ */
   4706 
   4707 /*****************************************************************************
   4708  * IWMPError interface
   4709  */
   4710 #ifndef __IWMPError_INTERFACE_DEFINED__
   4711 #define __IWMPError_INTERFACE_DEFINED__
   4712 
   4713 DEFINE_GUID(IID_IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b);
   4714 #if defined(__cplusplus) && !defined(CINTERFACE)
   4715 MIDL_INTERFACE("a12dcf7d-14ab-4c1b-a8cd-63909f06025b")
   4716 IWMPError : public IDispatch
   4717 {
   4718     virtual HRESULT STDMETHODCALLTYPE clearErrorQueue(
   4719         ) = 0;
   4720 
   4721     virtual HRESULT STDMETHODCALLTYPE get_errorCount(
   4722         LONG *plNumErrors) = 0;
   4723 
   4724     virtual HRESULT STDMETHODCALLTYPE get_Item(
   4725         LONG dwIndex,
   4726         IWMPErrorItem **ppErrorItem) = 0;
   4727 
   4728     virtual HRESULT STDMETHODCALLTYPE webHelp(
   4729         ) = 0;
   4730 
   4731 };
   4732 #ifdef __CRT_UUID_DECL
   4733 __CRT_UUID_DECL(IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b)
   4734 #endif
   4735 #else
   4736 typedef struct IWMPErrorVtbl {
   4737     BEGIN_INTERFACE
   4738 
   4739     /*** IUnknown methods ***/
   4740     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4741         IWMPError *This,
   4742         REFIID riid,
   4743         void **ppvObject);
   4744 
   4745     ULONG (STDMETHODCALLTYPE *AddRef)(
   4746         IWMPError *This);
   4747 
   4748     ULONG (STDMETHODCALLTYPE *Release)(
   4749         IWMPError *This);
   4750 
   4751     /*** IDispatch methods ***/
   4752     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4753         IWMPError *This,
   4754         UINT *pctinfo);
   4755 
   4756     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4757         IWMPError *This,
   4758         UINT iTInfo,
   4759         LCID lcid,
   4760         ITypeInfo **ppTInfo);
   4761 
   4762     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4763         IWMPError *This,
   4764         REFIID riid,
   4765         LPOLESTR *rgszNames,
   4766         UINT cNames,
   4767         LCID lcid,
   4768         DISPID *rgDispId);
   4769 
   4770     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4771         IWMPError *This,
   4772         DISPID dispIdMember,
   4773         REFIID riid,
   4774         LCID lcid,
   4775         WORD wFlags,
   4776         DISPPARAMS *pDispParams,
   4777         VARIANT *pVarResult,
   4778         EXCEPINFO *pExcepInfo,
   4779         UINT *puArgErr);
   4780 
   4781     /*** IWMPError methods ***/
   4782     HRESULT (STDMETHODCALLTYPE *clearErrorQueue)(
   4783         IWMPError *This);
   4784 
   4785     HRESULT (STDMETHODCALLTYPE *get_errorCount)(
   4786         IWMPError *This,
   4787         LONG *plNumErrors);
   4788 
   4789     HRESULT (STDMETHODCALLTYPE *get_Item)(
   4790         IWMPError *This,
   4791         LONG dwIndex,
   4792         IWMPErrorItem **ppErrorItem);
   4793 
   4794     HRESULT (STDMETHODCALLTYPE *webHelp)(
   4795         IWMPError *This);
   4796 
   4797     END_INTERFACE
   4798 } IWMPErrorVtbl;
   4799 
   4800 interface IWMPError {
   4801     CONST_VTBL IWMPErrorVtbl* lpVtbl;
   4802 };
   4803 
   4804 #ifdef COBJMACROS
   4805 #ifndef WIDL_C_INLINE_WRAPPERS
   4806 /*** IUnknown methods ***/
   4807 #define IWMPError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4808 #define IWMPError_AddRef(This) (This)->lpVtbl->AddRef(This)
   4809 #define IWMPError_Release(This) (This)->lpVtbl->Release(This)
   4810 /*** IDispatch methods ***/
   4811 #define IWMPError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4812 #define IWMPError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4813 #define IWMPError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4814 #define IWMPError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4815 /*** IWMPError methods ***/
   4816 #define IWMPError_clearErrorQueue(This) (This)->lpVtbl->clearErrorQueue(This)
   4817 #define IWMPError_get_errorCount(This,plNumErrors) (This)->lpVtbl->get_errorCount(This,plNumErrors)
   4818 #define IWMPError_get_Item(This,dwIndex,ppErrorItem) (This)->lpVtbl->get_Item(This,dwIndex,ppErrorItem)
   4819 #define IWMPError_webHelp(This) (This)->lpVtbl->webHelp(This)
   4820 #else
   4821 /*** IUnknown methods ***/
   4822 static inline HRESULT IWMPError_QueryInterface(IWMPError* This,REFIID riid,void **ppvObject) {
   4823     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4824 }
   4825 static inline ULONG IWMPError_AddRef(IWMPError* This) {
   4826     return This->lpVtbl->AddRef(This);
   4827 }
   4828 static inline ULONG IWMPError_Release(IWMPError* This) {
   4829     return This->lpVtbl->Release(This);
   4830 }
   4831 /*** IDispatch methods ***/
   4832 static inline HRESULT IWMPError_GetTypeInfoCount(IWMPError* This,UINT *pctinfo) {
   4833     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4834 }
   4835 static inline HRESULT IWMPError_GetTypeInfo(IWMPError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4836     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4837 }
   4838 static inline HRESULT IWMPError_GetIDsOfNames(IWMPError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4839     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4840 }
   4841 static inline HRESULT IWMPError_Invoke(IWMPError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4842     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4843 }
   4844 /*** IWMPError methods ***/
   4845 static inline HRESULT IWMPError_clearErrorQueue(IWMPError* This) {
   4846     return This->lpVtbl->clearErrorQueue(This);
   4847 }
   4848 static inline HRESULT IWMPError_get_errorCount(IWMPError* This,LONG *plNumErrors) {
   4849     return This->lpVtbl->get_errorCount(This,plNumErrors);
   4850 }
   4851 static inline HRESULT IWMPError_get_Item(IWMPError* This,LONG dwIndex,IWMPErrorItem **ppErrorItem) {
   4852     return This->lpVtbl->get_Item(This,dwIndex,ppErrorItem);
   4853 }
   4854 static inline HRESULT IWMPError_webHelp(IWMPError* This) {
   4855     return This->lpVtbl->webHelp(This);
   4856 }
   4857 #endif
   4858 #endif
   4859 
   4860 #endif
   4861 
   4862 
   4863 #endif  /* __IWMPError_INTERFACE_DEFINED__ */
   4864 
   4865 /*****************************************************************************
   4866  * IWMPPlayerApplication interface
   4867  */
   4868 #ifndef __IWMPPlayerApplication_INTERFACE_DEFINED__
   4869 #define __IWMPPlayerApplication_INTERFACE_DEFINED__
   4870 
   4871 DEFINE_GUID(IID_IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf);
   4872 #if defined(__cplusplus) && !defined(CINTERFACE)
   4873 MIDL_INTERFACE("40897764-ceab-47be-ad4a-8e28537f9bbf")
   4874 IWMPPlayerApplication : public IDispatch
   4875 {
   4876     virtual HRESULT STDMETHODCALLTYPE switchToPlayerApplication(
   4877         ) = 0;
   4878 
   4879     virtual HRESULT STDMETHODCALLTYPE switchToControl(
   4880         ) = 0;
   4881 
   4882     virtual HRESULT STDMETHODCALLTYPE get_playerDocked(
   4883         VARIANT_BOOL *pbPlayerDocked) = 0;
   4884 
   4885     virtual HRESULT STDMETHODCALLTYPE get_hasDisplay(
   4886         VARIANT_BOOL *pbHasDisplay) = 0;
   4887 
   4888 };
   4889 #ifdef __CRT_UUID_DECL
   4890 __CRT_UUID_DECL(IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf)
   4891 #endif
   4892 #else
   4893 typedef struct IWMPPlayerApplicationVtbl {
   4894     BEGIN_INTERFACE
   4895 
   4896     /*** IUnknown methods ***/
   4897     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4898         IWMPPlayerApplication *This,
   4899         REFIID riid,
   4900         void **ppvObject);
   4901 
   4902     ULONG (STDMETHODCALLTYPE *AddRef)(
   4903         IWMPPlayerApplication *This);
   4904 
   4905     ULONG (STDMETHODCALLTYPE *Release)(
   4906         IWMPPlayerApplication *This);
   4907 
   4908     /*** IDispatch methods ***/
   4909     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4910         IWMPPlayerApplication *This,
   4911         UINT *pctinfo);
   4912 
   4913     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4914         IWMPPlayerApplication *This,
   4915         UINT iTInfo,
   4916         LCID lcid,
   4917         ITypeInfo **ppTInfo);
   4918 
   4919     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4920         IWMPPlayerApplication *This,
   4921         REFIID riid,
   4922         LPOLESTR *rgszNames,
   4923         UINT cNames,
   4924         LCID lcid,
   4925         DISPID *rgDispId);
   4926 
   4927     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4928         IWMPPlayerApplication *This,
   4929         DISPID dispIdMember,
   4930         REFIID riid,
   4931         LCID lcid,
   4932         WORD wFlags,
   4933         DISPPARAMS *pDispParams,
   4934         VARIANT *pVarResult,
   4935         EXCEPINFO *pExcepInfo,
   4936         UINT *puArgErr);
   4937 
   4938     /*** IWMPPlayerApplication methods ***/
   4939     HRESULT (STDMETHODCALLTYPE *switchToPlayerApplication)(
   4940         IWMPPlayerApplication *This);
   4941 
   4942     HRESULT (STDMETHODCALLTYPE *switchToControl)(
   4943         IWMPPlayerApplication *This);
   4944 
   4945     HRESULT (STDMETHODCALLTYPE *get_playerDocked)(
   4946         IWMPPlayerApplication *This,
   4947         VARIANT_BOOL *pbPlayerDocked);
   4948 
   4949     HRESULT (STDMETHODCALLTYPE *get_hasDisplay)(
   4950         IWMPPlayerApplication *This,
   4951         VARIANT_BOOL *pbHasDisplay);
   4952 
   4953     END_INTERFACE
   4954 } IWMPPlayerApplicationVtbl;
   4955 
   4956 interface IWMPPlayerApplication {
   4957     CONST_VTBL IWMPPlayerApplicationVtbl* lpVtbl;
   4958 };
   4959 
   4960 #ifdef COBJMACROS
   4961 #ifndef WIDL_C_INLINE_WRAPPERS
   4962 /*** IUnknown methods ***/
   4963 #define IWMPPlayerApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4964 #define IWMPPlayerApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
   4965 #define IWMPPlayerApplication_Release(This) (This)->lpVtbl->Release(This)
   4966 /*** IDispatch methods ***/
   4967 #define IWMPPlayerApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4968 #define IWMPPlayerApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4969 #define IWMPPlayerApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4970 #define IWMPPlayerApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4971 /*** IWMPPlayerApplication methods ***/
   4972 #define IWMPPlayerApplication_switchToPlayerApplication(This) (This)->lpVtbl->switchToPlayerApplication(This)
   4973 #define IWMPPlayerApplication_switchToControl(This) (This)->lpVtbl->switchToControl(This)
   4974 #define IWMPPlayerApplication_get_playerDocked(This,pbPlayerDocked) (This)->lpVtbl->get_playerDocked(This,pbPlayerDocked)
   4975 #define IWMPPlayerApplication_get_hasDisplay(This,pbHasDisplay) (This)->lpVtbl->get_hasDisplay(This,pbHasDisplay)
   4976 #else
   4977 /*** IUnknown methods ***/
   4978 static inline HRESULT IWMPPlayerApplication_QueryInterface(IWMPPlayerApplication* This,REFIID riid,void **ppvObject) {
   4979     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4980 }
   4981 static inline ULONG IWMPPlayerApplication_AddRef(IWMPPlayerApplication* This) {
   4982     return This->lpVtbl->AddRef(This);
   4983 }
   4984 static inline ULONG IWMPPlayerApplication_Release(IWMPPlayerApplication* This) {
   4985     return This->lpVtbl->Release(This);
   4986 }
   4987 /*** IDispatch methods ***/
   4988 static inline HRESULT IWMPPlayerApplication_GetTypeInfoCount(IWMPPlayerApplication* This,UINT *pctinfo) {
   4989     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4990 }
   4991 static inline HRESULT IWMPPlayerApplication_GetTypeInfo(IWMPPlayerApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4992     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4993 }
   4994 static inline HRESULT IWMPPlayerApplication_GetIDsOfNames(IWMPPlayerApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4995     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4996 }
   4997 static inline HRESULT IWMPPlayerApplication_Invoke(IWMPPlayerApplication* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4998     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4999 }
   5000 /*** IWMPPlayerApplication methods ***/
   5001 static inline HRESULT IWMPPlayerApplication_switchToPlayerApplication(IWMPPlayerApplication* This) {
   5002     return This->lpVtbl->switchToPlayerApplication(This);
   5003 }
   5004 static inline HRESULT IWMPPlayerApplication_switchToControl(IWMPPlayerApplication* This) {
   5005     return This->lpVtbl->switchToControl(This);
   5006 }
   5007 static inline HRESULT IWMPPlayerApplication_get_playerDocked(IWMPPlayerApplication* This,VARIANT_BOOL *pbPlayerDocked) {
   5008     return This->lpVtbl->get_playerDocked(This,pbPlayerDocked);
   5009 }
   5010 static inline HRESULT IWMPPlayerApplication_get_hasDisplay(IWMPPlayerApplication* This,VARIANT_BOOL *pbHasDisplay) {
   5011     return This->lpVtbl->get_hasDisplay(This,pbHasDisplay);
   5012 }
   5013 #endif
   5014 #endif
   5015 
   5016 #endif
   5017 
   5018 
   5019 #endif  /* __IWMPPlayerApplication_INTERFACE_DEFINED__ */
   5020 
   5021 /*****************************************************************************
   5022  * IWMPCore interface
   5023  */
   5024 #ifndef __IWMPCore_INTERFACE_DEFINED__
   5025 #define __IWMPCore_INTERFACE_DEFINED__
   5026 
   5027 DEFINE_GUID(IID_IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81);
   5028 #if defined(__cplusplus) && !defined(CINTERFACE)
   5029 MIDL_INTERFACE("d84cca99-cce2-11d2-9ecc-0000f8085981")
   5030 IWMPCore : public IDispatch
   5031 {
   5032     virtual HRESULT STDMETHODCALLTYPE close(
   5033         ) = 0;
   5034 
   5035     virtual HRESULT STDMETHODCALLTYPE get_URL(
   5036         BSTR *pbstrURL) = 0;
   5037 
   5038     virtual HRESULT STDMETHODCALLTYPE put_URL(
   5039         BSTR pbstrURL) = 0;
   5040 
   5041     virtual HRESULT STDMETHODCALLTYPE get_openState(
   5042         WMPOpenState *pwmpos) = 0;
   5043 
   5044     virtual HRESULT STDMETHODCALLTYPE get_playState(
   5045         WMPPlayState *pwmpps) = 0;
   5046 
   5047     virtual HRESULT STDMETHODCALLTYPE get_controls(
   5048         IWMPControls **ppControl) = 0;
   5049 
   5050     virtual HRESULT STDMETHODCALLTYPE get_settings(
   5051         IWMPSettings **ppSettings) = 0;
   5052 
   5053     virtual HRESULT STDMETHODCALLTYPE get_currentMedia(
   5054         IWMPMedia **ppMedia) = 0;
   5055 
   5056     virtual HRESULT STDMETHODCALLTYPE put_currentMedia(
   5057         IWMPMedia *ppMedia) = 0;
   5058 
   5059     virtual HRESULT STDMETHODCALLTYPE get_mediaCollection(
   5060         IWMPMediaCollection **ppMediaCollection) = 0;
   5061 
   5062     virtual HRESULT STDMETHODCALLTYPE get_playlistCollection(
   5063         IWMPPlaylistCollection **ppPlaylistCollection) = 0;
   5064 
   5065     virtual HRESULT STDMETHODCALLTYPE get_versionInfo(
   5066         BSTR *pbstrVersionInfo) = 0;
   5067 
   5068     virtual HRESULT STDMETHODCALLTYPE launchURL(
   5069         BSTR bstrURL) = 0;
   5070 
   5071     virtual HRESULT STDMETHODCALLTYPE get_network(
   5072         IWMPNetwork **ppQNI) = 0;
   5073 
   5074     virtual HRESULT STDMETHODCALLTYPE get_currentPlaylist(
   5075         IWMPPlaylist **ppPL) = 0;
   5076 
   5077     virtual HRESULT STDMETHODCALLTYPE put_currentPlaylist(
   5078         IWMPPlaylist *ppPL) = 0;
   5079 
   5080     virtual HRESULT STDMETHODCALLTYPE get_cdromCollection(
   5081         IWMPCdromCollection **ppCdromCollection) = 0;
   5082 
   5083     virtual HRESULT STDMETHODCALLTYPE get_closedCaption(
   5084         IWMPClosedCaption **ppClosedCaption) = 0;
   5085 
   5086     virtual HRESULT STDMETHODCALLTYPE get_isOnline(
   5087         VARIANT_BOOL *pfOnline) = 0;
   5088 
   5089     virtual HRESULT STDMETHODCALLTYPE get_Error(
   5090         IWMPError **ppError) = 0;
   5091 
   5092     virtual HRESULT STDMETHODCALLTYPE get_status(
   5093         BSTR *pbstrStatus) = 0;
   5094 
   5095 };
   5096 #ifdef __CRT_UUID_DECL
   5097 __CRT_UUID_DECL(IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81)
   5098 #endif
   5099 #else
   5100 typedef struct IWMPCoreVtbl {
   5101     BEGIN_INTERFACE
   5102 
   5103     /*** IUnknown methods ***/
   5104     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5105         IWMPCore *This,
   5106         REFIID riid,
   5107         void **ppvObject);
   5108 
   5109     ULONG (STDMETHODCALLTYPE *AddRef)(
   5110         IWMPCore *This);
   5111 
   5112     ULONG (STDMETHODCALLTYPE *Release)(
   5113         IWMPCore *This);
   5114 
   5115     /*** IDispatch methods ***/
   5116     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5117         IWMPCore *This,
   5118         UINT *pctinfo);
   5119 
   5120     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5121         IWMPCore *This,
   5122         UINT iTInfo,
   5123         LCID lcid,
   5124         ITypeInfo **ppTInfo);
   5125 
   5126     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5127         IWMPCore *This,
   5128         REFIID riid,
   5129         LPOLESTR *rgszNames,
   5130         UINT cNames,
   5131         LCID lcid,
   5132         DISPID *rgDispId);
   5133 
   5134     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5135         IWMPCore *This,
   5136         DISPID dispIdMember,
   5137         REFIID riid,
   5138         LCID lcid,
   5139         WORD wFlags,
   5140         DISPPARAMS *pDispParams,
   5141         VARIANT *pVarResult,
   5142         EXCEPINFO *pExcepInfo,
   5143         UINT *puArgErr);
   5144 
   5145     /*** IWMPCore methods ***/
   5146     HRESULT (STDMETHODCALLTYPE *close)(
   5147         IWMPCore *This);
   5148 
   5149     HRESULT (STDMETHODCALLTYPE *get_URL)(
   5150         IWMPCore *This,
   5151         BSTR *pbstrURL);
   5152 
   5153     HRESULT (STDMETHODCALLTYPE *put_URL)(
   5154         IWMPCore *This,
   5155         BSTR pbstrURL);
   5156 
   5157     HRESULT (STDMETHODCALLTYPE *get_openState)(
   5158         IWMPCore *This,
   5159         WMPOpenState *pwmpos);
   5160 
   5161     HRESULT (STDMETHODCALLTYPE *get_playState)(
   5162         IWMPCore *This,
   5163         WMPPlayState *pwmpps);
   5164 
   5165     HRESULT (STDMETHODCALLTYPE *get_controls)(
   5166         IWMPCore *This,
   5167         IWMPControls **ppControl);
   5168 
   5169     HRESULT (STDMETHODCALLTYPE *get_settings)(
   5170         IWMPCore *This,
   5171         IWMPSettings **ppSettings);
   5172 
   5173     HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
   5174         IWMPCore *This,
   5175         IWMPMedia **ppMedia);
   5176 
   5177     HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
   5178         IWMPCore *This,
   5179         IWMPMedia *ppMedia);
   5180 
   5181     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   5182         IWMPCore *This,
   5183         IWMPMediaCollection **ppMediaCollection);
   5184 
   5185     HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
   5186         IWMPCore *This,
   5187         IWMPPlaylistCollection **ppPlaylistCollection);
   5188 
   5189     HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
   5190         IWMPCore *This,
   5191         BSTR *pbstrVersionInfo);
   5192 
   5193     HRESULT (STDMETHODCALLTYPE *launchURL)(
   5194         IWMPCore *This,
   5195         BSTR bstrURL);
   5196 
   5197     HRESULT (STDMETHODCALLTYPE *get_network)(
   5198         IWMPCore *This,
   5199         IWMPNetwork **ppQNI);
   5200 
   5201     HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
   5202         IWMPCore *This,
   5203         IWMPPlaylist **ppPL);
   5204 
   5205     HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
   5206         IWMPCore *This,
   5207         IWMPPlaylist *ppPL);
   5208 
   5209     HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
   5210         IWMPCore *This,
   5211         IWMPCdromCollection **ppCdromCollection);
   5212 
   5213     HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
   5214         IWMPCore *This,
   5215         IWMPClosedCaption **ppClosedCaption);
   5216 
   5217     HRESULT (STDMETHODCALLTYPE *get_isOnline)(
   5218         IWMPCore *This,
   5219         VARIANT_BOOL *pfOnline);
   5220 
   5221     HRESULT (STDMETHODCALLTYPE *get_Error)(
   5222         IWMPCore *This,
   5223         IWMPError **ppError);
   5224 
   5225     HRESULT (STDMETHODCALLTYPE *get_status)(
   5226         IWMPCore *This,
   5227         BSTR *pbstrStatus);
   5228 
   5229     END_INTERFACE
   5230 } IWMPCoreVtbl;
   5231 
   5232 interface IWMPCore {
   5233     CONST_VTBL IWMPCoreVtbl* lpVtbl;
   5234 };
   5235 
   5236 #ifdef COBJMACROS
   5237 #ifndef WIDL_C_INLINE_WRAPPERS
   5238 /*** IUnknown methods ***/
   5239 #define IWMPCore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5240 #define IWMPCore_AddRef(This) (This)->lpVtbl->AddRef(This)
   5241 #define IWMPCore_Release(This) (This)->lpVtbl->Release(This)
   5242 /*** IDispatch methods ***/
   5243 #define IWMPCore_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5244 #define IWMPCore_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5245 #define IWMPCore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5246 #define IWMPCore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5247 /*** IWMPCore methods ***/
   5248 #define IWMPCore_close(This) (This)->lpVtbl->close(This)
   5249 #define IWMPCore_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
   5250 #define IWMPCore_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
   5251 #define IWMPCore_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
   5252 #define IWMPCore_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
   5253 #define IWMPCore_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
   5254 #define IWMPCore_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
   5255 #define IWMPCore_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
   5256 #define IWMPCore_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
   5257 #define IWMPCore_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
   5258 #define IWMPCore_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
   5259 #define IWMPCore_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
   5260 #define IWMPCore_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
   5261 #define IWMPCore_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
   5262 #define IWMPCore_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
   5263 #define IWMPCore_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
   5264 #define IWMPCore_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
   5265 #define IWMPCore_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
   5266 #define IWMPCore_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
   5267 #define IWMPCore_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
   5268 #define IWMPCore_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
   5269 #else
   5270 /*** IUnknown methods ***/
   5271 static inline HRESULT IWMPCore_QueryInterface(IWMPCore* This,REFIID riid,void **ppvObject) {
   5272     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5273 }
   5274 static inline ULONG IWMPCore_AddRef(IWMPCore* This) {
   5275     return This->lpVtbl->AddRef(This);
   5276 }
   5277 static inline ULONG IWMPCore_Release(IWMPCore* This) {
   5278     return This->lpVtbl->Release(This);
   5279 }
   5280 /*** IDispatch methods ***/
   5281 static inline HRESULT IWMPCore_GetTypeInfoCount(IWMPCore* This,UINT *pctinfo) {
   5282     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5283 }
   5284 static inline HRESULT IWMPCore_GetTypeInfo(IWMPCore* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5285     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5286 }
   5287 static inline HRESULT IWMPCore_GetIDsOfNames(IWMPCore* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5288     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5289 }
   5290 static inline HRESULT IWMPCore_Invoke(IWMPCore* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5291     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5292 }
   5293 /*** IWMPCore methods ***/
   5294 static inline HRESULT IWMPCore_close(IWMPCore* This) {
   5295     return This->lpVtbl->close(This);
   5296 }
   5297 static inline HRESULT IWMPCore_get_URL(IWMPCore* This,BSTR *pbstrURL) {
   5298     return This->lpVtbl->get_URL(This,pbstrURL);
   5299 }
   5300 static inline HRESULT IWMPCore_put_URL(IWMPCore* This,BSTR pbstrURL) {
   5301     return This->lpVtbl->put_URL(This,pbstrURL);
   5302 }
   5303 static inline HRESULT IWMPCore_get_openState(IWMPCore* This,WMPOpenState *pwmpos) {
   5304     return This->lpVtbl->get_openState(This,pwmpos);
   5305 }
   5306 static inline HRESULT IWMPCore_get_playState(IWMPCore* This,WMPPlayState *pwmpps) {
   5307     return This->lpVtbl->get_playState(This,pwmpps);
   5308 }
   5309 static inline HRESULT IWMPCore_get_controls(IWMPCore* This,IWMPControls **ppControl) {
   5310     return This->lpVtbl->get_controls(This,ppControl);
   5311 }
   5312 static inline HRESULT IWMPCore_get_settings(IWMPCore* This,IWMPSettings **ppSettings) {
   5313     return This->lpVtbl->get_settings(This,ppSettings);
   5314 }
   5315 static inline HRESULT IWMPCore_get_currentMedia(IWMPCore* This,IWMPMedia **ppMedia) {
   5316     return This->lpVtbl->get_currentMedia(This,ppMedia);
   5317 }
   5318 static inline HRESULT IWMPCore_put_currentMedia(IWMPCore* This,IWMPMedia *ppMedia) {
   5319     return This->lpVtbl->put_currentMedia(This,ppMedia);
   5320 }
   5321 static inline HRESULT IWMPCore_get_mediaCollection(IWMPCore* This,IWMPMediaCollection **ppMediaCollection) {
   5322     return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
   5323 }
   5324 static inline HRESULT IWMPCore_get_playlistCollection(IWMPCore* This,IWMPPlaylistCollection **ppPlaylistCollection) {
   5325     return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
   5326 }
   5327 static inline HRESULT IWMPCore_get_versionInfo(IWMPCore* This,BSTR *pbstrVersionInfo) {
   5328     return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
   5329 }
   5330 static inline HRESULT IWMPCore_launchURL(IWMPCore* This,BSTR bstrURL) {
   5331     return This->lpVtbl->launchURL(This,bstrURL);
   5332 }
   5333 static inline HRESULT IWMPCore_get_network(IWMPCore* This,IWMPNetwork **ppQNI) {
   5334     return This->lpVtbl->get_network(This,ppQNI);
   5335 }
   5336 static inline HRESULT IWMPCore_get_currentPlaylist(IWMPCore* This,IWMPPlaylist **ppPL) {
   5337     return This->lpVtbl->get_currentPlaylist(This,ppPL);
   5338 }
   5339 static inline HRESULT IWMPCore_put_currentPlaylist(IWMPCore* This,IWMPPlaylist *ppPL) {
   5340     return This->lpVtbl->put_currentPlaylist(This,ppPL);
   5341 }
   5342 static inline HRESULT IWMPCore_get_cdromCollection(IWMPCore* This,IWMPCdromCollection **ppCdromCollection) {
   5343     return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
   5344 }
   5345 static inline HRESULT IWMPCore_get_closedCaption(IWMPCore* This,IWMPClosedCaption **ppClosedCaption) {
   5346     return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
   5347 }
   5348 static inline HRESULT IWMPCore_get_isOnline(IWMPCore* This,VARIANT_BOOL *pfOnline) {
   5349     return This->lpVtbl->get_isOnline(This,pfOnline);
   5350 }
   5351 static inline HRESULT IWMPCore_get_Error(IWMPCore* This,IWMPError **ppError) {
   5352     return This->lpVtbl->get_Error(This,ppError);
   5353 }
   5354 static inline HRESULT IWMPCore_get_status(IWMPCore* This,BSTR *pbstrStatus) {
   5355     return This->lpVtbl->get_status(This,pbstrStatus);
   5356 }
   5357 #endif
   5358 #endif
   5359 
   5360 #endif
   5361 
   5362 
   5363 #endif  /* __IWMPCore_INTERFACE_DEFINED__ */
   5364 
   5365 /*****************************************************************************
   5366  * IWMPCore2 interface
   5367  */
   5368 #ifndef __IWMPCore2_INTERFACE_DEFINED__
   5369 #define __IWMPCore2_INTERFACE_DEFINED__
   5370 
   5371 DEFINE_GUID(IID_IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59);
   5372 #if defined(__cplusplus) && !defined(CINTERFACE)
   5373 MIDL_INTERFACE("bc17e5b7-7561-4c18-bb90-17d485775659")
   5374 IWMPCore2 : public IWMPCore
   5375 {
   5376     virtual HRESULT STDMETHODCALLTYPE get_dvd(
   5377         IWMPDVD **ppDVD) = 0;
   5378 
   5379 };
   5380 #ifdef __CRT_UUID_DECL
   5381 __CRT_UUID_DECL(IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59)
   5382 #endif
   5383 #else
   5384 typedef struct IWMPCore2Vtbl {
   5385     BEGIN_INTERFACE
   5386 
   5387     /*** IUnknown methods ***/
   5388     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5389         IWMPCore2 *This,
   5390         REFIID riid,
   5391         void **ppvObject);
   5392 
   5393     ULONG (STDMETHODCALLTYPE *AddRef)(
   5394         IWMPCore2 *This);
   5395 
   5396     ULONG (STDMETHODCALLTYPE *Release)(
   5397         IWMPCore2 *This);
   5398 
   5399     /*** IDispatch methods ***/
   5400     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5401         IWMPCore2 *This,
   5402         UINT *pctinfo);
   5403 
   5404     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5405         IWMPCore2 *This,
   5406         UINT iTInfo,
   5407         LCID lcid,
   5408         ITypeInfo **ppTInfo);
   5409 
   5410     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5411         IWMPCore2 *This,
   5412         REFIID riid,
   5413         LPOLESTR *rgszNames,
   5414         UINT cNames,
   5415         LCID lcid,
   5416         DISPID *rgDispId);
   5417 
   5418     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5419         IWMPCore2 *This,
   5420         DISPID dispIdMember,
   5421         REFIID riid,
   5422         LCID lcid,
   5423         WORD wFlags,
   5424         DISPPARAMS *pDispParams,
   5425         VARIANT *pVarResult,
   5426         EXCEPINFO *pExcepInfo,
   5427         UINT *puArgErr);
   5428 
   5429     /*** IWMPCore methods ***/
   5430     HRESULT (STDMETHODCALLTYPE *close)(
   5431         IWMPCore2 *This);
   5432 
   5433     HRESULT (STDMETHODCALLTYPE *get_URL)(
   5434         IWMPCore2 *This,
   5435         BSTR *pbstrURL);
   5436 
   5437     HRESULT (STDMETHODCALLTYPE *put_URL)(
   5438         IWMPCore2 *This,
   5439         BSTR pbstrURL);
   5440 
   5441     HRESULT (STDMETHODCALLTYPE *get_openState)(
   5442         IWMPCore2 *This,
   5443         WMPOpenState *pwmpos);
   5444 
   5445     HRESULT (STDMETHODCALLTYPE *get_playState)(
   5446         IWMPCore2 *This,
   5447         WMPPlayState *pwmpps);
   5448 
   5449     HRESULT (STDMETHODCALLTYPE *get_controls)(
   5450         IWMPCore2 *This,
   5451         IWMPControls **ppControl);
   5452 
   5453     HRESULT (STDMETHODCALLTYPE *get_settings)(
   5454         IWMPCore2 *This,
   5455         IWMPSettings **ppSettings);
   5456 
   5457     HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
   5458         IWMPCore2 *This,
   5459         IWMPMedia **ppMedia);
   5460 
   5461     HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
   5462         IWMPCore2 *This,
   5463         IWMPMedia *ppMedia);
   5464 
   5465     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   5466         IWMPCore2 *This,
   5467         IWMPMediaCollection **ppMediaCollection);
   5468 
   5469     HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
   5470         IWMPCore2 *This,
   5471         IWMPPlaylistCollection **ppPlaylistCollection);
   5472 
   5473     HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
   5474         IWMPCore2 *This,
   5475         BSTR *pbstrVersionInfo);
   5476 
   5477     HRESULT (STDMETHODCALLTYPE *launchURL)(
   5478         IWMPCore2 *This,
   5479         BSTR bstrURL);
   5480 
   5481     HRESULT (STDMETHODCALLTYPE *get_network)(
   5482         IWMPCore2 *This,
   5483         IWMPNetwork **ppQNI);
   5484 
   5485     HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
   5486         IWMPCore2 *This,
   5487         IWMPPlaylist **ppPL);
   5488 
   5489     HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
   5490         IWMPCore2 *This,
   5491         IWMPPlaylist *ppPL);
   5492 
   5493     HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
   5494         IWMPCore2 *This,
   5495         IWMPCdromCollection **ppCdromCollection);
   5496 
   5497     HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
   5498         IWMPCore2 *This,
   5499         IWMPClosedCaption **ppClosedCaption);
   5500 
   5501     HRESULT (STDMETHODCALLTYPE *get_isOnline)(
   5502         IWMPCore2 *This,
   5503         VARIANT_BOOL *pfOnline);
   5504 
   5505     HRESULT (STDMETHODCALLTYPE *get_Error)(
   5506         IWMPCore2 *This,
   5507         IWMPError **ppError);
   5508 
   5509     HRESULT (STDMETHODCALLTYPE *get_status)(
   5510         IWMPCore2 *This,
   5511         BSTR *pbstrStatus);
   5512 
   5513     /*** IWMPCore2 methods ***/
   5514     HRESULT (STDMETHODCALLTYPE *get_dvd)(
   5515         IWMPCore2 *This,
   5516         IWMPDVD **ppDVD);
   5517 
   5518     END_INTERFACE
   5519 } IWMPCore2Vtbl;
   5520 
   5521 interface IWMPCore2 {
   5522     CONST_VTBL IWMPCore2Vtbl* lpVtbl;
   5523 };
   5524 
   5525 #ifdef COBJMACROS
   5526 #ifndef WIDL_C_INLINE_WRAPPERS
   5527 /*** IUnknown methods ***/
   5528 #define IWMPCore2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5529 #define IWMPCore2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5530 #define IWMPCore2_Release(This) (This)->lpVtbl->Release(This)
   5531 /*** IDispatch methods ***/
   5532 #define IWMPCore2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5533 #define IWMPCore2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5534 #define IWMPCore2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5535 #define IWMPCore2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5536 /*** IWMPCore methods ***/
   5537 #define IWMPCore2_close(This) (This)->lpVtbl->close(This)
   5538 #define IWMPCore2_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
   5539 #define IWMPCore2_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
   5540 #define IWMPCore2_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
   5541 #define IWMPCore2_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
   5542 #define IWMPCore2_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
   5543 #define IWMPCore2_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
   5544 #define IWMPCore2_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
   5545 #define IWMPCore2_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
   5546 #define IWMPCore2_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
   5547 #define IWMPCore2_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
   5548 #define IWMPCore2_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
   5549 #define IWMPCore2_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
   5550 #define IWMPCore2_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
   5551 #define IWMPCore2_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
   5552 #define IWMPCore2_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
   5553 #define IWMPCore2_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
   5554 #define IWMPCore2_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
   5555 #define IWMPCore2_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
   5556 #define IWMPCore2_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
   5557 #define IWMPCore2_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
   5558 /*** IWMPCore2 methods ***/
   5559 #define IWMPCore2_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
   5560 #else
   5561 /*** IUnknown methods ***/
   5562 static inline HRESULT IWMPCore2_QueryInterface(IWMPCore2* This,REFIID riid,void **ppvObject) {
   5563     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5564 }
   5565 static inline ULONG IWMPCore2_AddRef(IWMPCore2* This) {
   5566     return This->lpVtbl->AddRef(This);
   5567 }
   5568 static inline ULONG IWMPCore2_Release(IWMPCore2* This) {
   5569     return This->lpVtbl->Release(This);
   5570 }
   5571 /*** IDispatch methods ***/
   5572 static inline HRESULT IWMPCore2_GetTypeInfoCount(IWMPCore2* This,UINT *pctinfo) {
   5573     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5574 }
   5575 static inline HRESULT IWMPCore2_GetTypeInfo(IWMPCore2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5576     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5577 }
   5578 static inline HRESULT IWMPCore2_GetIDsOfNames(IWMPCore2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5579     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5580 }
   5581 static inline HRESULT IWMPCore2_Invoke(IWMPCore2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5582     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5583 }
   5584 /*** IWMPCore methods ***/
   5585 static inline HRESULT IWMPCore2_close(IWMPCore2* This) {
   5586     return This->lpVtbl->close(This);
   5587 }
   5588 static inline HRESULT IWMPCore2_get_URL(IWMPCore2* This,BSTR *pbstrURL) {
   5589     return This->lpVtbl->get_URL(This,pbstrURL);
   5590 }
   5591 static inline HRESULT IWMPCore2_put_URL(IWMPCore2* This,BSTR pbstrURL) {
   5592     return This->lpVtbl->put_URL(This,pbstrURL);
   5593 }
   5594 static inline HRESULT IWMPCore2_get_openState(IWMPCore2* This,WMPOpenState *pwmpos) {
   5595     return This->lpVtbl->get_openState(This,pwmpos);
   5596 }
   5597 static inline HRESULT IWMPCore2_get_playState(IWMPCore2* This,WMPPlayState *pwmpps) {
   5598     return This->lpVtbl->get_playState(This,pwmpps);
   5599 }
   5600 static inline HRESULT IWMPCore2_get_controls(IWMPCore2* This,IWMPControls **ppControl) {
   5601     return This->lpVtbl->get_controls(This,ppControl);
   5602 }
   5603 static inline HRESULT IWMPCore2_get_settings(IWMPCore2* This,IWMPSettings **ppSettings) {
   5604     return This->lpVtbl->get_settings(This,ppSettings);
   5605 }
   5606 static inline HRESULT IWMPCore2_get_currentMedia(IWMPCore2* This,IWMPMedia **ppMedia) {
   5607     return This->lpVtbl->get_currentMedia(This,ppMedia);
   5608 }
   5609 static inline HRESULT IWMPCore2_put_currentMedia(IWMPCore2* This,IWMPMedia *ppMedia) {
   5610     return This->lpVtbl->put_currentMedia(This,ppMedia);
   5611 }
   5612 static inline HRESULT IWMPCore2_get_mediaCollection(IWMPCore2* This,IWMPMediaCollection **ppMediaCollection) {
   5613     return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
   5614 }
   5615 static inline HRESULT IWMPCore2_get_playlistCollection(IWMPCore2* This,IWMPPlaylistCollection **ppPlaylistCollection) {
   5616     return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
   5617 }
   5618 static inline HRESULT IWMPCore2_get_versionInfo(IWMPCore2* This,BSTR *pbstrVersionInfo) {
   5619     return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
   5620 }
   5621 static inline HRESULT IWMPCore2_launchURL(IWMPCore2* This,BSTR bstrURL) {
   5622     return This->lpVtbl->launchURL(This,bstrURL);
   5623 }
   5624 static inline HRESULT IWMPCore2_get_network(IWMPCore2* This,IWMPNetwork **ppQNI) {
   5625     return This->lpVtbl->get_network(This,ppQNI);
   5626 }
   5627 static inline HRESULT IWMPCore2_get_currentPlaylist(IWMPCore2* This,IWMPPlaylist **ppPL) {
   5628     return This->lpVtbl->get_currentPlaylist(This,ppPL);
   5629 }
   5630 static inline HRESULT IWMPCore2_put_currentPlaylist(IWMPCore2* This,IWMPPlaylist *ppPL) {
   5631     return This->lpVtbl->put_currentPlaylist(This,ppPL);
   5632 }
   5633 static inline HRESULT IWMPCore2_get_cdromCollection(IWMPCore2* This,IWMPCdromCollection **ppCdromCollection) {
   5634     return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
   5635 }
   5636 static inline HRESULT IWMPCore2_get_closedCaption(IWMPCore2* This,IWMPClosedCaption **ppClosedCaption) {
   5637     return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
   5638 }
   5639 static inline HRESULT IWMPCore2_get_isOnline(IWMPCore2* This,VARIANT_BOOL *pfOnline) {
   5640     return This->lpVtbl->get_isOnline(This,pfOnline);
   5641 }
   5642 static inline HRESULT IWMPCore2_get_Error(IWMPCore2* This,IWMPError **ppError) {
   5643     return This->lpVtbl->get_Error(This,ppError);
   5644 }
   5645 static inline HRESULT IWMPCore2_get_status(IWMPCore2* This,BSTR *pbstrStatus) {
   5646     return This->lpVtbl->get_status(This,pbstrStatus);
   5647 }
   5648 /*** IWMPCore2 methods ***/
   5649 static inline HRESULT IWMPCore2_get_dvd(IWMPCore2* This,IWMPDVD **ppDVD) {
   5650     return This->lpVtbl->get_dvd(This,ppDVD);
   5651 }
   5652 #endif
   5653 #endif
   5654 
   5655 #endif
   5656 
   5657 
   5658 #endif  /* __IWMPCore2_INTERFACE_DEFINED__ */
   5659 
   5660 /*****************************************************************************
   5661  * IWMPCore3 interface
   5662  */
   5663 #ifndef __IWMPCore3_INTERFACE_DEFINED__
   5664 #define __IWMPCore3_INTERFACE_DEFINED__
   5665 
   5666 DEFINE_GUID(IID_IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64);
   5667 #if defined(__cplusplus) && !defined(CINTERFACE)
   5668 MIDL_INTERFACE("7587c667-628f-499f-88e7-6a6f4e888464")
   5669 IWMPCore3 : public IWMPCore2
   5670 {
   5671     virtual HRESULT STDMETHODCALLTYPE newPlaylist(
   5672         BSTR bstrName,
   5673         BSTR bstrURL,
   5674         IWMPPlaylist **ppPlaylist) = 0;
   5675 
   5676     virtual HRESULT STDMETHODCALLTYPE newMedia(
   5677         BSTR bstrURL,
   5678         IWMPMedia **ppMedia) = 0;
   5679 
   5680 };
   5681 #ifdef __CRT_UUID_DECL
   5682 __CRT_UUID_DECL(IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64)
   5683 #endif
   5684 #else
   5685 typedef struct IWMPCore3Vtbl {
   5686     BEGIN_INTERFACE
   5687 
   5688     /*** IUnknown methods ***/
   5689     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5690         IWMPCore3 *This,
   5691         REFIID riid,
   5692         void **ppvObject);
   5693 
   5694     ULONG (STDMETHODCALLTYPE *AddRef)(
   5695         IWMPCore3 *This);
   5696 
   5697     ULONG (STDMETHODCALLTYPE *Release)(
   5698         IWMPCore3 *This);
   5699 
   5700     /*** IDispatch methods ***/
   5701     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5702         IWMPCore3 *This,
   5703         UINT *pctinfo);
   5704 
   5705     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5706         IWMPCore3 *This,
   5707         UINT iTInfo,
   5708         LCID lcid,
   5709         ITypeInfo **ppTInfo);
   5710 
   5711     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5712         IWMPCore3 *This,
   5713         REFIID riid,
   5714         LPOLESTR *rgszNames,
   5715         UINT cNames,
   5716         LCID lcid,
   5717         DISPID *rgDispId);
   5718 
   5719     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5720         IWMPCore3 *This,
   5721         DISPID dispIdMember,
   5722         REFIID riid,
   5723         LCID lcid,
   5724         WORD wFlags,
   5725         DISPPARAMS *pDispParams,
   5726         VARIANT *pVarResult,
   5727         EXCEPINFO *pExcepInfo,
   5728         UINT *puArgErr);
   5729 
   5730     /*** IWMPCore methods ***/
   5731     HRESULT (STDMETHODCALLTYPE *close)(
   5732         IWMPCore3 *This);
   5733 
   5734     HRESULT (STDMETHODCALLTYPE *get_URL)(
   5735         IWMPCore3 *This,
   5736         BSTR *pbstrURL);
   5737 
   5738     HRESULT (STDMETHODCALLTYPE *put_URL)(
   5739         IWMPCore3 *This,
   5740         BSTR pbstrURL);
   5741 
   5742     HRESULT (STDMETHODCALLTYPE *get_openState)(
   5743         IWMPCore3 *This,
   5744         WMPOpenState *pwmpos);
   5745 
   5746     HRESULT (STDMETHODCALLTYPE *get_playState)(
   5747         IWMPCore3 *This,
   5748         WMPPlayState *pwmpps);
   5749 
   5750     HRESULT (STDMETHODCALLTYPE *get_controls)(
   5751         IWMPCore3 *This,
   5752         IWMPControls **ppControl);
   5753 
   5754     HRESULT (STDMETHODCALLTYPE *get_settings)(
   5755         IWMPCore3 *This,
   5756         IWMPSettings **ppSettings);
   5757 
   5758     HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
   5759         IWMPCore3 *This,
   5760         IWMPMedia **ppMedia);
   5761 
   5762     HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
   5763         IWMPCore3 *This,
   5764         IWMPMedia *ppMedia);
   5765 
   5766     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   5767         IWMPCore3 *This,
   5768         IWMPMediaCollection **ppMediaCollection);
   5769 
   5770     HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
   5771         IWMPCore3 *This,
   5772         IWMPPlaylistCollection **ppPlaylistCollection);
   5773 
   5774     HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
   5775         IWMPCore3 *This,
   5776         BSTR *pbstrVersionInfo);
   5777 
   5778     HRESULT (STDMETHODCALLTYPE *launchURL)(
   5779         IWMPCore3 *This,
   5780         BSTR bstrURL);
   5781 
   5782     HRESULT (STDMETHODCALLTYPE *get_network)(
   5783         IWMPCore3 *This,
   5784         IWMPNetwork **ppQNI);
   5785 
   5786     HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
   5787         IWMPCore3 *This,
   5788         IWMPPlaylist **ppPL);
   5789 
   5790     HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
   5791         IWMPCore3 *This,
   5792         IWMPPlaylist *ppPL);
   5793 
   5794     HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
   5795         IWMPCore3 *This,
   5796         IWMPCdromCollection **ppCdromCollection);
   5797 
   5798     HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
   5799         IWMPCore3 *This,
   5800         IWMPClosedCaption **ppClosedCaption);
   5801 
   5802     HRESULT (STDMETHODCALLTYPE *get_isOnline)(
   5803         IWMPCore3 *This,
   5804         VARIANT_BOOL *pfOnline);
   5805 
   5806     HRESULT (STDMETHODCALLTYPE *get_Error)(
   5807         IWMPCore3 *This,
   5808         IWMPError **ppError);
   5809 
   5810     HRESULT (STDMETHODCALLTYPE *get_status)(
   5811         IWMPCore3 *This,
   5812         BSTR *pbstrStatus);
   5813 
   5814     /*** IWMPCore2 methods ***/
   5815     HRESULT (STDMETHODCALLTYPE *get_dvd)(
   5816         IWMPCore3 *This,
   5817         IWMPDVD **ppDVD);
   5818 
   5819     /*** IWMPCore3 methods ***/
   5820     HRESULT (STDMETHODCALLTYPE *newPlaylist)(
   5821         IWMPCore3 *This,
   5822         BSTR bstrName,
   5823         BSTR bstrURL,
   5824         IWMPPlaylist **ppPlaylist);
   5825 
   5826     HRESULT (STDMETHODCALLTYPE *newMedia)(
   5827         IWMPCore3 *This,
   5828         BSTR bstrURL,
   5829         IWMPMedia **ppMedia);
   5830 
   5831     END_INTERFACE
   5832 } IWMPCore3Vtbl;
   5833 
   5834 interface IWMPCore3 {
   5835     CONST_VTBL IWMPCore3Vtbl* lpVtbl;
   5836 };
   5837 
   5838 #ifdef COBJMACROS
   5839 #ifndef WIDL_C_INLINE_WRAPPERS
   5840 /*** IUnknown methods ***/
   5841 #define IWMPCore3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5842 #define IWMPCore3_AddRef(This) (This)->lpVtbl->AddRef(This)
   5843 #define IWMPCore3_Release(This) (This)->lpVtbl->Release(This)
   5844 /*** IDispatch methods ***/
   5845 #define IWMPCore3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5846 #define IWMPCore3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5847 #define IWMPCore3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5848 #define IWMPCore3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5849 /*** IWMPCore methods ***/
   5850 #define IWMPCore3_close(This) (This)->lpVtbl->close(This)
   5851 #define IWMPCore3_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
   5852 #define IWMPCore3_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
   5853 #define IWMPCore3_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
   5854 #define IWMPCore3_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
   5855 #define IWMPCore3_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
   5856 #define IWMPCore3_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
   5857 #define IWMPCore3_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
   5858 #define IWMPCore3_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
   5859 #define IWMPCore3_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
   5860 #define IWMPCore3_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
   5861 #define IWMPCore3_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
   5862 #define IWMPCore3_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
   5863 #define IWMPCore3_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
   5864 #define IWMPCore3_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
   5865 #define IWMPCore3_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
   5866 #define IWMPCore3_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
   5867 #define IWMPCore3_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
   5868 #define IWMPCore3_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
   5869 #define IWMPCore3_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
   5870 #define IWMPCore3_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
   5871 /*** IWMPCore2 methods ***/
   5872 #define IWMPCore3_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
   5873 /*** IWMPCore3 methods ***/
   5874 #define IWMPCore3_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist)
   5875 #define IWMPCore3_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia)
   5876 #else
   5877 /*** IUnknown methods ***/
   5878 static inline HRESULT IWMPCore3_QueryInterface(IWMPCore3* This,REFIID riid,void **ppvObject) {
   5879     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5880 }
   5881 static inline ULONG IWMPCore3_AddRef(IWMPCore3* This) {
   5882     return This->lpVtbl->AddRef(This);
   5883 }
   5884 static inline ULONG IWMPCore3_Release(IWMPCore3* This) {
   5885     return This->lpVtbl->Release(This);
   5886 }
   5887 /*** IDispatch methods ***/
   5888 static inline HRESULT IWMPCore3_GetTypeInfoCount(IWMPCore3* This,UINT *pctinfo) {
   5889     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5890 }
   5891 static inline HRESULT IWMPCore3_GetTypeInfo(IWMPCore3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5892     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5893 }
   5894 static inline HRESULT IWMPCore3_GetIDsOfNames(IWMPCore3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5895     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5896 }
   5897 static inline HRESULT IWMPCore3_Invoke(IWMPCore3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5898     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5899 }
   5900 /*** IWMPCore methods ***/
   5901 static inline HRESULT IWMPCore3_close(IWMPCore3* This) {
   5902     return This->lpVtbl->close(This);
   5903 }
   5904 static inline HRESULT IWMPCore3_get_URL(IWMPCore3* This,BSTR *pbstrURL) {
   5905     return This->lpVtbl->get_URL(This,pbstrURL);
   5906 }
   5907 static inline HRESULT IWMPCore3_put_URL(IWMPCore3* This,BSTR pbstrURL) {
   5908     return This->lpVtbl->put_URL(This,pbstrURL);
   5909 }
   5910 static inline HRESULT IWMPCore3_get_openState(IWMPCore3* This,WMPOpenState *pwmpos) {
   5911     return This->lpVtbl->get_openState(This,pwmpos);
   5912 }
   5913 static inline HRESULT IWMPCore3_get_playState(IWMPCore3* This,WMPPlayState *pwmpps) {
   5914     return This->lpVtbl->get_playState(This,pwmpps);
   5915 }
   5916 static inline HRESULT IWMPCore3_get_controls(IWMPCore3* This,IWMPControls **ppControl) {
   5917     return This->lpVtbl->get_controls(This,ppControl);
   5918 }
   5919 static inline HRESULT IWMPCore3_get_settings(IWMPCore3* This,IWMPSettings **ppSettings) {
   5920     return This->lpVtbl->get_settings(This,ppSettings);
   5921 }
   5922 static inline HRESULT IWMPCore3_get_currentMedia(IWMPCore3* This,IWMPMedia **ppMedia) {
   5923     return This->lpVtbl->get_currentMedia(This,ppMedia);
   5924 }
   5925 static inline HRESULT IWMPCore3_put_currentMedia(IWMPCore3* This,IWMPMedia *ppMedia) {
   5926     return This->lpVtbl->put_currentMedia(This,ppMedia);
   5927 }
   5928 static inline HRESULT IWMPCore3_get_mediaCollection(IWMPCore3* This,IWMPMediaCollection **ppMediaCollection) {
   5929     return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
   5930 }
   5931 static inline HRESULT IWMPCore3_get_playlistCollection(IWMPCore3* This,IWMPPlaylistCollection **ppPlaylistCollection) {
   5932     return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
   5933 }
   5934 static inline HRESULT IWMPCore3_get_versionInfo(IWMPCore3* This,BSTR *pbstrVersionInfo) {
   5935     return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
   5936 }
   5937 static inline HRESULT IWMPCore3_launchURL(IWMPCore3* This,BSTR bstrURL) {
   5938     return This->lpVtbl->launchURL(This,bstrURL);
   5939 }
   5940 static inline HRESULT IWMPCore3_get_network(IWMPCore3* This,IWMPNetwork **ppQNI) {
   5941     return This->lpVtbl->get_network(This,ppQNI);
   5942 }
   5943 static inline HRESULT IWMPCore3_get_currentPlaylist(IWMPCore3* This,IWMPPlaylist **ppPL) {
   5944     return This->lpVtbl->get_currentPlaylist(This,ppPL);
   5945 }
   5946 static inline HRESULT IWMPCore3_put_currentPlaylist(IWMPCore3* This,IWMPPlaylist *ppPL) {
   5947     return This->lpVtbl->put_currentPlaylist(This,ppPL);
   5948 }
   5949 static inline HRESULT IWMPCore3_get_cdromCollection(IWMPCore3* This,IWMPCdromCollection **ppCdromCollection) {
   5950     return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
   5951 }
   5952 static inline HRESULT IWMPCore3_get_closedCaption(IWMPCore3* This,IWMPClosedCaption **ppClosedCaption) {
   5953     return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
   5954 }
   5955 static inline HRESULT IWMPCore3_get_isOnline(IWMPCore3* This,VARIANT_BOOL *pfOnline) {
   5956     return This->lpVtbl->get_isOnline(This,pfOnline);
   5957 }
   5958 static inline HRESULT IWMPCore3_get_Error(IWMPCore3* This,IWMPError **ppError) {
   5959     return This->lpVtbl->get_Error(This,ppError);
   5960 }
   5961 static inline HRESULT IWMPCore3_get_status(IWMPCore3* This,BSTR *pbstrStatus) {
   5962     return This->lpVtbl->get_status(This,pbstrStatus);
   5963 }
   5964 /*** IWMPCore2 methods ***/
   5965 static inline HRESULT IWMPCore3_get_dvd(IWMPCore3* This,IWMPDVD **ppDVD) {
   5966     return This->lpVtbl->get_dvd(This,ppDVD);
   5967 }
   5968 /*** IWMPCore3 methods ***/
   5969 static inline HRESULT IWMPCore3_newPlaylist(IWMPCore3* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) {
   5970     return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist);
   5971 }
   5972 static inline HRESULT IWMPCore3_newMedia(IWMPCore3* This,BSTR bstrURL,IWMPMedia **ppMedia) {
   5973     return This->lpVtbl->newMedia(This,bstrURL,ppMedia);
   5974 }
   5975 #endif
   5976 #endif
   5977 
   5978 #endif
   5979 
   5980 
   5981 #endif  /* __IWMPCore3_INTERFACE_DEFINED__ */
   5982 
   5983 /*****************************************************************************
   5984  * IWMPPlayer4 interface
   5985  */
   5986 #ifndef __IWMPPlayer4_INTERFACE_DEFINED__
   5987 #define __IWMPPlayer4_INTERFACE_DEFINED__
   5988 
   5989 DEFINE_GUID(IID_IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84);
   5990 #if defined(__cplusplus) && !defined(CINTERFACE)
   5991 MIDL_INTERFACE("6c497d62-8919-413c-82db-e935fb3ec584")
   5992 IWMPPlayer4 : public IWMPCore3
   5993 {
   5994     virtual HRESULT STDMETHODCALLTYPE get_enabled(
   5995         VARIANT_BOOL *pbEnabled) = 0;
   5996 
   5997     virtual HRESULT STDMETHODCALLTYPE put_enabled(
   5998         VARIANT_BOOL pbEnabled) = 0;
   5999 
   6000     virtual HRESULT STDMETHODCALLTYPE get_fullScreen(
   6001         VARIANT_BOOL *pbFullScreen) = 0;
   6002 
   6003     virtual HRESULT STDMETHODCALLTYPE put_fullScreen(
   6004         VARIANT_BOOL pbFullScreen) = 0;
   6005 
   6006     virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu(
   6007         VARIANT_BOOL *pbEnableContextMenu) = 0;
   6008 
   6009     virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu(
   6010         VARIANT_BOOL pbEnableContextMenu) = 0;
   6011 
   6012     virtual HRESULT STDMETHODCALLTYPE put_uiMode(
   6013         BSTR pbstrMode) = 0;
   6014 
   6015     virtual HRESULT STDMETHODCALLTYPE get_uiMode(
   6016         BSTR *pbstrMode) = 0;
   6017 
   6018     virtual HRESULT STDMETHODCALLTYPE get_stretchToFit(
   6019         VARIANT_BOOL *pbEnabled) = 0;
   6020 
   6021     virtual HRESULT STDMETHODCALLTYPE put_stretchToFit(
   6022         VARIANT_BOOL pbEnabled) = 0;
   6023 
   6024     virtual HRESULT STDMETHODCALLTYPE get_windowlessVideo(
   6025         VARIANT_BOOL *pbEnabled) = 0;
   6026 
   6027     virtual HRESULT STDMETHODCALLTYPE put_windowlessVideo(
   6028         VARIANT_BOOL pbEnabled) = 0;
   6029 
   6030     virtual HRESULT STDMETHODCALLTYPE get_isRemote(
   6031         VARIANT_BOOL *pvarfIsRemote) = 0;
   6032 
   6033     virtual HRESULT STDMETHODCALLTYPE get_playerApplication(
   6034         IWMPPlayerApplication **ppIWMPPlayerApplication) = 0;
   6035 
   6036     virtual HRESULT STDMETHODCALLTYPE openPlayer(
   6037         BSTR bstrURL) = 0;
   6038 
   6039 };
   6040 #ifdef __CRT_UUID_DECL
   6041 __CRT_UUID_DECL(IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84)
   6042 #endif
   6043 #else
   6044 typedef struct IWMPPlayer4Vtbl {
   6045     BEGIN_INTERFACE
   6046 
   6047     /*** IUnknown methods ***/
   6048     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6049         IWMPPlayer4 *This,
   6050         REFIID riid,
   6051         void **ppvObject);
   6052 
   6053     ULONG (STDMETHODCALLTYPE *AddRef)(
   6054         IWMPPlayer4 *This);
   6055 
   6056     ULONG (STDMETHODCALLTYPE *Release)(
   6057         IWMPPlayer4 *This);
   6058 
   6059     /*** IDispatch methods ***/
   6060     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6061         IWMPPlayer4 *This,
   6062         UINT *pctinfo);
   6063 
   6064     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6065         IWMPPlayer4 *This,
   6066         UINT iTInfo,
   6067         LCID lcid,
   6068         ITypeInfo **ppTInfo);
   6069 
   6070     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6071         IWMPPlayer4 *This,
   6072         REFIID riid,
   6073         LPOLESTR *rgszNames,
   6074         UINT cNames,
   6075         LCID lcid,
   6076         DISPID *rgDispId);
   6077 
   6078     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6079         IWMPPlayer4 *This,
   6080         DISPID dispIdMember,
   6081         REFIID riid,
   6082         LCID lcid,
   6083         WORD wFlags,
   6084         DISPPARAMS *pDispParams,
   6085         VARIANT *pVarResult,
   6086         EXCEPINFO *pExcepInfo,
   6087         UINT *puArgErr);
   6088 
   6089     /*** IWMPCore methods ***/
   6090     HRESULT (STDMETHODCALLTYPE *close)(
   6091         IWMPPlayer4 *This);
   6092 
   6093     HRESULT (STDMETHODCALLTYPE *get_URL)(
   6094         IWMPPlayer4 *This,
   6095         BSTR *pbstrURL);
   6096 
   6097     HRESULT (STDMETHODCALLTYPE *put_URL)(
   6098         IWMPPlayer4 *This,
   6099         BSTR pbstrURL);
   6100 
   6101     HRESULT (STDMETHODCALLTYPE *get_openState)(
   6102         IWMPPlayer4 *This,
   6103         WMPOpenState *pwmpos);
   6104 
   6105     HRESULT (STDMETHODCALLTYPE *get_playState)(
   6106         IWMPPlayer4 *This,
   6107         WMPPlayState *pwmpps);
   6108 
   6109     HRESULT (STDMETHODCALLTYPE *get_controls)(
   6110         IWMPPlayer4 *This,
   6111         IWMPControls **ppControl);
   6112 
   6113     HRESULT (STDMETHODCALLTYPE *get_settings)(
   6114         IWMPPlayer4 *This,
   6115         IWMPSettings **ppSettings);
   6116 
   6117     HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
   6118         IWMPPlayer4 *This,
   6119         IWMPMedia **ppMedia);
   6120 
   6121     HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
   6122         IWMPPlayer4 *This,
   6123         IWMPMedia *ppMedia);
   6124 
   6125     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   6126         IWMPPlayer4 *This,
   6127         IWMPMediaCollection **ppMediaCollection);
   6128 
   6129     HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
   6130         IWMPPlayer4 *This,
   6131         IWMPPlaylistCollection **ppPlaylistCollection);
   6132 
   6133     HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
   6134         IWMPPlayer4 *This,
   6135         BSTR *pbstrVersionInfo);
   6136 
   6137     HRESULT (STDMETHODCALLTYPE *launchURL)(
   6138         IWMPPlayer4 *This,
   6139         BSTR bstrURL);
   6140 
   6141     HRESULT (STDMETHODCALLTYPE *get_network)(
   6142         IWMPPlayer4 *This,
   6143         IWMPNetwork **ppQNI);
   6144 
   6145     HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
   6146         IWMPPlayer4 *This,
   6147         IWMPPlaylist **ppPL);
   6148 
   6149     HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
   6150         IWMPPlayer4 *This,
   6151         IWMPPlaylist *ppPL);
   6152 
   6153     HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
   6154         IWMPPlayer4 *This,
   6155         IWMPCdromCollection **ppCdromCollection);
   6156 
   6157     HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
   6158         IWMPPlayer4 *This,
   6159         IWMPClosedCaption **ppClosedCaption);
   6160 
   6161     HRESULT (STDMETHODCALLTYPE *get_isOnline)(
   6162         IWMPPlayer4 *This,
   6163         VARIANT_BOOL *pfOnline);
   6164 
   6165     HRESULT (STDMETHODCALLTYPE *get_Error)(
   6166         IWMPPlayer4 *This,
   6167         IWMPError **ppError);
   6168 
   6169     HRESULT (STDMETHODCALLTYPE *get_status)(
   6170         IWMPPlayer4 *This,
   6171         BSTR *pbstrStatus);
   6172 
   6173     /*** IWMPCore2 methods ***/
   6174     HRESULT (STDMETHODCALLTYPE *get_dvd)(
   6175         IWMPPlayer4 *This,
   6176         IWMPDVD **ppDVD);
   6177 
   6178     /*** IWMPCore3 methods ***/
   6179     HRESULT (STDMETHODCALLTYPE *newPlaylist)(
   6180         IWMPPlayer4 *This,
   6181         BSTR bstrName,
   6182         BSTR bstrURL,
   6183         IWMPPlaylist **ppPlaylist);
   6184 
   6185     HRESULT (STDMETHODCALLTYPE *newMedia)(
   6186         IWMPPlayer4 *This,
   6187         BSTR bstrURL,
   6188         IWMPMedia **ppMedia);
   6189 
   6190     /*** IWMPPlayer4 methods ***/
   6191     HRESULT (STDMETHODCALLTYPE *get_enabled)(
   6192         IWMPPlayer4 *This,
   6193         VARIANT_BOOL *pbEnabled);
   6194 
   6195     HRESULT (STDMETHODCALLTYPE *put_enabled)(
   6196         IWMPPlayer4 *This,
   6197         VARIANT_BOOL pbEnabled);
   6198 
   6199     HRESULT (STDMETHODCALLTYPE *get_fullScreen)(
   6200         IWMPPlayer4 *This,
   6201         VARIANT_BOOL *pbFullScreen);
   6202 
   6203     HRESULT (STDMETHODCALLTYPE *put_fullScreen)(
   6204         IWMPPlayer4 *This,
   6205         VARIANT_BOOL pbFullScreen);
   6206 
   6207     HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)(
   6208         IWMPPlayer4 *This,
   6209         VARIANT_BOOL *pbEnableContextMenu);
   6210 
   6211     HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)(
   6212         IWMPPlayer4 *This,
   6213         VARIANT_BOOL pbEnableContextMenu);
   6214 
   6215     HRESULT (STDMETHODCALLTYPE *put_uiMode)(
   6216         IWMPPlayer4 *This,
   6217         BSTR pbstrMode);
   6218 
   6219     HRESULT (STDMETHODCALLTYPE *get_uiMode)(
   6220         IWMPPlayer4 *This,
   6221         BSTR *pbstrMode);
   6222 
   6223     HRESULT (STDMETHODCALLTYPE *get_stretchToFit)(
   6224         IWMPPlayer4 *This,
   6225         VARIANT_BOOL *pbEnabled);
   6226 
   6227     HRESULT (STDMETHODCALLTYPE *put_stretchToFit)(
   6228         IWMPPlayer4 *This,
   6229         VARIANT_BOOL pbEnabled);
   6230 
   6231     HRESULT (STDMETHODCALLTYPE *get_windowlessVideo)(
   6232         IWMPPlayer4 *This,
   6233         VARIANT_BOOL *pbEnabled);
   6234 
   6235     HRESULT (STDMETHODCALLTYPE *put_windowlessVideo)(
   6236         IWMPPlayer4 *This,
   6237         VARIANT_BOOL pbEnabled);
   6238 
   6239     HRESULT (STDMETHODCALLTYPE *get_isRemote)(
   6240         IWMPPlayer4 *This,
   6241         VARIANT_BOOL *pvarfIsRemote);
   6242 
   6243     HRESULT (STDMETHODCALLTYPE *get_playerApplication)(
   6244         IWMPPlayer4 *This,
   6245         IWMPPlayerApplication **ppIWMPPlayerApplication);
   6246 
   6247     HRESULT (STDMETHODCALLTYPE *openPlayer)(
   6248         IWMPPlayer4 *This,
   6249         BSTR bstrURL);
   6250 
   6251     END_INTERFACE
   6252 } IWMPPlayer4Vtbl;
   6253 
   6254 interface IWMPPlayer4 {
   6255     CONST_VTBL IWMPPlayer4Vtbl* lpVtbl;
   6256 };
   6257 
   6258 #ifdef COBJMACROS
   6259 #ifndef WIDL_C_INLINE_WRAPPERS
   6260 /*** IUnknown methods ***/
   6261 #define IWMPPlayer4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6262 #define IWMPPlayer4_AddRef(This) (This)->lpVtbl->AddRef(This)
   6263 #define IWMPPlayer4_Release(This) (This)->lpVtbl->Release(This)
   6264 /*** IDispatch methods ***/
   6265 #define IWMPPlayer4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6266 #define IWMPPlayer4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6267 #define IWMPPlayer4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6268 #define IWMPPlayer4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6269 /*** IWMPCore methods ***/
   6270 #define IWMPPlayer4_close(This) (This)->lpVtbl->close(This)
   6271 #define IWMPPlayer4_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
   6272 #define IWMPPlayer4_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
   6273 #define IWMPPlayer4_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
   6274 #define IWMPPlayer4_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
   6275 #define IWMPPlayer4_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
   6276 #define IWMPPlayer4_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
   6277 #define IWMPPlayer4_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
   6278 #define IWMPPlayer4_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
   6279 #define IWMPPlayer4_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
   6280 #define IWMPPlayer4_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
   6281 #define IWMPPlayer4_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
   6282 #define IWMPPlayer4_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
   6283 #define IWMPPlayer4_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
   6284 #define IWMPPlayer4_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
   6285 #define IWMPPlayer4_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
   6286 #define IWMPPlayer4_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
   6287 #define IWMPPlayer4_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
   6288 #define IWMPPlayer4_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
   6289 #define IWMPPlayer4_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
   6290 #define IWMPPlayer4_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
   6291 /*** IWMPCore2 methods ***/
   6292 #define IWMPPlayer4_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD)
   6293 /*** IWMPCore3 methods ***/
   6294 #define IWMPPlayer4_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist)
   6295 #define IWMPPlayer4_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia)
   6296 /*** IWMPPlayer4 methods ***/
   6297 #define IWMPPlayer4_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled)
   6298 #define IWMPPlayer4_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled)
   6299 #define IWMPPlayer4_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen)
   6300 #define IWMPPlayer4_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen)
   6301 #define IWMPPlayer4_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu)
   6302 #define IWMPPlayer4_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu)
   6303 #define IWMPPlayer4_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode)
   6304 #define IWMPPlayer4_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode)
   6305 #define IWMPPlayer4_get_stretchToFit(This,pbEnabled) (This)->lpVtbl->get_stretchToFit(This,pbEnabled)
   6306 #define IWMPPlayer4_put_stretchToFit(This,pbEnabled) (This)->lpVtbl->put_stretchToFit(This,pbEnabled)
   6307 #define IWMPPlayer4_get_windowlessVideo(This,pbEnabled) (This)->lpVtbl->get_windowlessVideo(This,pbEnabled)
   6308 #define IWMPPlayer4_put_windowlessVideo(This,pbEnabled) (This)->lpVtbl->put_windowlessVideo(This,pbEnabled)
   6309 #define IWMPPlayer4_get_isRemote(This,pvarfIsRemote) (This)->lpVtbl->get_isRemote(This,pvarfIsRemote)
   6310 #define IWMPPlayer4_get_playerApplication(This,ppIWMPPlayerApplication) (This)->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication)
   6311 #define IWMPPlayer4_openPlayer(This,bstrURL) (This)->lpVtbl->openPlayer(This,bstrURL)
   6312 #else
   6313 /*** IUnknown methods ***/
   6314 static inline HRESULT IWMPPlayer4_QueryInterface(IWMPPlayer4* This,REFIID riid,void **ppvObject) {
   6315     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6316 }
   6317 static inline ULONG IWMPPlayer4_AddRef(IWMPPlayer4* This) {
   6318     return This->lpVtbl->AddRef(This);
   6319 }
   6320 static inline ULONG IWMPPlayer4_Release(IWMPPlayer4* This) {
   6321     return This->lpVtbl->Release(This);
   6322 }
   6323 /*** IDispatch methods ***/
   6324 static inline HRESULT IWMPPlayer4_GetTypeInfoCount(IWMPPlayer4* This,UINT *pctinfo) {
   6325     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6326 }
   6327 static inline HRESULT IWMPPlayer4_GetTypeInfo(IWMPPlayer4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6328     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6329 }
   6330 static inline HRESULT IWMPPlayer4_GetIDsOfNames(IWMPPlayer4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6331     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6332 }
   6333 static inline HRESULT IWMPPlayer4_Invoke(IWMPPlayer4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6334     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6335 }
   6336 /*** IWMPCore methods ***/
   6337 static inline HRESULT IWMPPlayer4_close(IWMPPlayer4* This) {
   6338     return This->lpVtbl->close(This);
   6339 }
   6340 static inline HRESULT IWMPPlayer4_get_URL(IWMPPlayer4* This,BSTR *pbstrURL) {
   6341     return This->lpVtbl->get_URL(This,pbstrURL);
   6342 }
   6343 static inline HRESULT IWMPPlayer4_put_URL(IWMPPlayer4* This,BSTR pbstrURL) {
   6344     return This->lpVtbl->put_URL(This,pbstrURL);
   6345 }
   6346 static inline HRESULT IWMPPlayer4_get_openState(IWMPPlayer4* This,WMPOpenState *pwmpos) {
   6347     return This->lpVtbl->get_openState(This,pwmpos);
   6348 }
   6349 static inline HRESULT IWMPPlayer4_get_playState(IWMPPlayer4* This,WMPPlayState *pwmpps) {
   6350     return This->lpVtbl->get_playState(This,pwmpps);
   6351 }
   6352 static inline HRESULT IWMPPlayer4_get_controls(IWMPPlayer4* This,IWMPControls **ppControl) {
   6353     return This->lpVtbl->get_controls(This,ppControl);
   6354 }
   6355 static inline HRESULT IWMPPlayer4_get_settings(IWMPPlayer4* This,IWMPSettings **ppSettings) {
   6356     return This->lpVtbl->get_settings(This,ppSettings);
   6357 }
   6358 static inline HRESULT IWMPPlayer4_get_currentMedia(IWMPPlayer4* This,IWMPMedia **ppMedia) {
   6359     return This->lpVtbl->get_currentMedia(This,ppMedia);
   6360 }
   6361 static inline HRESULT IWMPPlayer4_put_currentMedia(IWMPPlayer4* This,IWMPMedia *ppMedia) {
   6362     return This->lpVtbl->put_currentMedia(This,ppMedia);
   6363 }
   6364 static inline HRESULT IWMPPlayer4_get_mediaCollection(IWMPPlayer4* This,IWMPMediaCollection **ppMediaCollection) {
   6365     return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
   6366 }
   6367 static inline HRESULT IWMPPlayer4_get_playlistCollection(IWMPPlayer4* This,IWMPPlaylistCollection **ppPlaylistCollection) {
   6368     return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
   6369 }
   6370 static inline HRESULT IWMPPlayer4_get_versionInfo(IWMPPlayer4* This,BSTR *pbstrVersionInfo) {
   6371     return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
   6372 }
   6373 static inline HRESULT IWMPPlayer4_launchURL(IWMPPlayer4* This,BSTR bstrURL) {
   6374     return This->lpVtbl->launchURL(This,bstrURL);
   6375 }
   6376 static inline HRESULT IWMPPlayer4_get_network(IWMPPlayer4* This,IWMPNetwork **ppQNI) {
   6377     return This->lpVtbl->get_network(This,ppQNI);
   6378 }
   6379 static inline HRESULT IWMPPlayer4_get_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist **ppPL) {
   6380     return This->lpVtbl->get_currentPlaylist(This,ppPL);
   6381 }
   6382 static inline HRESULT IWMPPlayer4_put_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist *ppPL) {
   6383     return This->lpVtbl->put_currentPlaylist(This,ppPL);
   6384 }
   6385 static inline HRESULT IWMPPlayer4_get_cdromCollection(IWMPPlayer4* This,IWMPCdromCollection **ppCdromCollection) {
   6386     return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
   6387 }
   6388 static inline HRESULT IWMPPlayer4_get_closedCaption(IWMPPlayer4* This,IWMPClosedCaption **ppClosedCaption) {
   6389     return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
   6390 }
   6391 static inline HRESULT IWMPPlayer4_get_isOnline(IWMPPlayer4* This,VARIANT_BOOL *pfOnline) {
   6392     return This->lpVtbl->get_isOnline(This,pfOnline);
   6393 }
   6394 static inline HRESULT IWMPPlayer4_get_Error(IWMPPlayer4* This,IWMPError **ppError) {
   6395     return This->lpVtbl->get_Error(This,ppError);
   6396 }
   6397 static inline HRESULT IWMPPlayer4_get_status(IWMPPlayer4* This,BSTR *pbstrStatus) {
   6398     return This->lpVtbl->get_status(This,pbstrStatus);
   6399 }
   6400 /*** IWMPCore2 methods ***/
   6401 static inline HRESULT IWMPPlayer4_get_dvd(IWMPPlayer4* This,IWMPDVD **ppDVD) {
   6402     return This->lpVtbl->get_dvd(This,ppDVD);
   6403 }
   6404 /*** IWMPCore3 methods ***/
   6405 static inline HRESULT IWMPPlayer4_newPlaylist(IWMPPlayer4* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) {
   6406     return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist);
   6407 }
   6408 static inline HRESULT IWMPPlayer4_newMedia(IWMPPlayer4* This,BSTR bstrURL,IWMPMedia **ppMedia) {
   6409     return This->lpVtbl->newMedia(This,bstrURL,ppMedia);
   6410 }
   6411 /*** IWMPPlayer4 methods ***/
   6412 static inline HRESULT IWMPPlayer4_get_enabled(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
   6413     return This->lpVtbl->get_enabled(This,pbEnabled);
   6414 }
   6415 static inline HRESULT IWMPPlayer4_put_enabled(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
   6416     return This->lpVtbl->put_enabled(This,pbEnabled);
   6417 }
   6418 static inline HRESULT IWMPPlayer4_get_fullScreen(IWMPPlayer4* This,VARIANT_BOOL *pbFullScreen) {
   6419     return This->lpVtbl->get_fullScreen(This,pbFullScreen);
   6420 }
   6421 static inline HRESULT IWMPPlayer4_put_fullScreen(IWMPPlayer4* This,VARIANT_BOOL pbFullScreen) {
   6422     return This->lpVtbl->put_fullScreen(This,pbFullScreen);
   6423 }
   6424 static inline HRESULT IWMPPlayer4_get_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL *pbEnableContextMenu) {
   6425     return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu);
   6426 }
   6427 static inline HRESULT IWMPPlayer4_put_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL pbEnableContextMenu) {
   6428     return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu);
   6429 }
   6430 static inline HRESULT IWMPPlayer4_put_uiMode(IWMPPlayer4* This,BSTR pbstrMode) {
   6431     return This->lpVtbl->put_uiMode(This,pbstrMode);
   6432 }
   6433 static inline HRESULT IWMPPlayer4_get_uiMode(IWMPPlayer4* This,BSTR *pbstrMode) {
   6434     return This->lpVtbl->get_uiMode(This,pbstrMode);
   6435 }
   6436 static inline HRESULT IWMPPlayer4_get_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
   6437     return This->lpVtbl->get_stretchToFit(This,pbEnabled);
   6438 }
   6439 static inline HRESULT IWMPPlayer4_put_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
   6440     return This->lpVtbl->put_stretchToFit(This,pbEnabled);
   6441 }
   6442 static inline HRESULT IWMPPlayer4_get_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) {
   6443     return This->lpVtbl->get_windowlessVideo(This,pbEnabled);
   6444 }
   6445 static inline HRESULT IWMPPlayer4_put_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) {
   6446     return This->lpVtbl->put_windowlessVideo(This,pbEnabled);
   6447 }
   6448 static inline HRESULT IWMPPlayer4_get_isRemote(IWMPPlayer4* This,VARIANT_BOOL *pvarfIsRemote) {
   6449     return This->lpVtbl->get_isRemote(This,pvarfIsRemote);
   6450 }
   6451 static inline HRESULT IWMPPlayer4_get_playerApplication(IWMPPlayer4* This,IWMPPlayerApplication **ppIWMPPlayerApplication) {
   6452     return This->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication);
   6453 }
   6454 static inline HRESULT IWMPPlayer4_openPlayer(IWMPPlayer4* This,BSTR bstrURL) {
   6455     return This->lpVtbl->openPlayer(This,bstrURL);
   6456 }
   6457 #endif
   6458 #endif
   6459 
   6460 #endif
   6461 
   6462 
   6463 #endif  /* __IWMPPlayer4_INTERFACE_DEFINED__ */
   6464 
   6465 /*****************************************************************************
   6466  * IWMPPlayer interface
   6467  */
   6468 #ifndef __IWMPPlayer_INTERFACE_DEFINED__
   6469 #define __IWMPPlayer_INTERFACE_DEFINED__
   6470 
   6471 DEFINE_GUID(IID_IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
   6472 #if defined(__cplusplus) && !defined(CINTERFACE)
   6473 MIDL_INTERFACE("6bf52a4f-394a-11d3-b153-00c04f79faa6")
   6474 IWMPPlayer : public IWMPCore
   6475 {
   6476     virtual HRESULT STDMETHODCALLTYPE get_enabled(
   6477         VARIANT_BOOL *pbEnabled) = 0;
   6478 
   6479     virtual HRESULT STDMETHODCALLTYPE put_enabled(
   6480         VARIANT_BOOL pbEnabled) = 0;
   6481 
   6482     virtual HRESULT STDMETHODCALLTYPE get_fullScreen(
   6483         VARIANT_BOOL *pbFullScreen) = 0;
   6484 
   6485     virtual HRESULT STDMETHODCALLTYPE put_fullScreen(
   6486         VARIANT_BOOL pbFullScreen) = 0;
   6487 
   6488     virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu(
   6489         VARIANT_BOOL *pbEnableContextMenu) = 0;
   6490 
   6491     virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu(
   6492         VARIANT_BOOL pbEnableContextMenu) = 0;
   6493 
   6494     virtual HRESULT STDMETHODCALLTYPE put_uiMode(
   6495         BSTR pbstrMode) = 0;
   6496 
   6497     virtual HRESULT STDMETHODCALLTYPE get_uiMode(
   6498         BSTR *pbstrMode) = 0;
   6499 
   6500 };
   6501 #ifdef __CRT_UUID_DECL
   6502 __CRT_UUID_DECL(IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
   6503 #endif
   6504 #else
   6505 typedef struct IWMPPlayerVtbl {
   6506     BEGIN_INTERFACE
   6507 
   6508     /*** IUnknown methods ***/
   6509     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6510         IWMPPlayer *This,
   6511         REFIID riid,
   6512         void **ppvObject);
   6513 
   6514     ULONG (STDMETHODCALLTYPE *AddRef)(
   6515         IWMPPlayer *This);
   6516 
   6517     ULONG (STDMETHODCALLTYPE *Release)(
   6518         IWMPPlayer *This);
   6519 
   6520     /*** IDispatch methods ***/
   6521     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6522         IWMPPlayer *This,
   6523         UINT *pctinfo);
   6524 
   6525     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6526         IWMPPlayer *This,
   6527         UINT iTInfo,
   6528         LCID lcid,
   6529         ITypeInfo **ppTInfo);
   6530 
   6531     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6532         IWMPPlayer *This,
   6533         REFIID riid,
   6534         LPOLESTR *rgszNames,
   6535         UINT cNames,
   6536         LCID lcid,
   6537         DISPID *rgDispId);
   6538 
   6539     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6540         IWMPPlayer *This,
   6541         DISPID dispIdMember,
   6542         REFIID riid,
   6543         LCID lcid,
   6544         WORD wFlags,
   6545         DISPPARAMS *pDispParams,
   6546         VARIANT *pVarResult,
   6547         EXCEPINFO *pExcepInfo,
   6548         UINT *puArgErr);
   6549 
   6550     /*** IWMPCore methods ***/
   6551     HRESULT (STDMETHODCALLTYPE *close)(
   6552         IWMPPlayer *This);
   6553 
   6554     HRESULT (STDMETHODCALLTYPE *get_URL)(
   6555         IWMPPlayer *This,
   6556         BSTR *pbstrURL);
   6557 
   6558     HRESULT (STDMETHODCALLTYPE *put_URL)(
   6559         IWMPPlayer *This,
   6560         BSTR pbstrURL);
   6561 
   6562     HRESULT (STDMETHODCALLTYPE *get_openState)(
   6563         IWMPPlayer *This,
   6564         WMPOpenState *pwmpos);
   6565 
   6566     HRESULT (STDMETHODCALLTYPE *get_playState)(
   6567         IWMPPlayer *This,
   6568         WMPPlayState *pwmpps);
   6569 
   6570     HRESULT (STDMETHODCALLTYPE *get_controls)(
   6571         IWMPPlayer *This,
   6572         IWMPControls **ppControl);
   6573 
   6574     HRESULT (STDMETHODCALLTYPE *get_settings)(
   6575         IWMPPlayer *This,
   6576         IWMPSettings **ppSettings);
   6577 
   6578     HRESULT (STDMETHODCALLTYPE *get_currentMedia)(
   6579         IWMPPlayer *This,
   6580         IWMPMedia **ppMedia);
   6581 
   6582     HRESULT (STDMETHODCALLTYPE *put_currentMedia)(
   6583         IWMPPlayer *This,
   6584         IWMPMedia *ppMedia);
   6585 
   6586     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   6587         IWMPPlayer *This,
   6588         IWMPMediaCollection **ppMediaCollection);
   6589 
   6590     HRESULT (STDMETHODCALLTYPE *get_playlistCollection)(
   6591         IWMPPlayer *This,
   6592         IWMPPlaylistCollection **ppPlaylistCollection);
   6593 
   6594     HRESULT (STDMETHODCALLTYPE *get_versionInfo)(
   6595         IWMPPlayer *This,
   6596         BSTR *pbstrVersionInfo);
   6597 
   6598     HRESULT (STDMETHODCALLTYPE *launchURL)(
   6599         IWMPPlayer *This,
   6600         BSTR bstrURL);
   6601 
   6602     HRESULT (STDMETHODCALLTYPE *get_network)(
   6603         IWMPPlayer *This,
   6604         IWMPNetwork **ppQNI);
   6605 
   6606     HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)(
   6607         IWMPPlayer *This,
   6608         IWMPPlaylist **ppPL);
   6609 
   6610     HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)(
   6611         IWMPPlayer *This,
   6612         IWMPPlaylist *ppPL);
   6613 
   6614     HRESULT (STDMETHODCALLTYPE *get_cdromCollection)(
   6615         IWMPPlayer *This,
   6616         IWMPCdromCollection **ppCdromCollection);
   6617 
   6618     HRESULT (STDMETHODCALLTYPE *get_closedCaption)(
   6619         IWMPPlayer *This,
   6620         IWMPClosedCaption **ppClosedCaption);
   6621 
   6622     HRESULT (STDMETHODCALLTYPE *get_isOnline)(
   6623         IWMPPlayer *This,
   6624         VARIANT_BOOL *pfOnline);
   6625 
   6626     HRESULT (STDMETHODCALLTYPE *get_Error)(
   6627         IWMPPlayer *This,
   6628         IWMPError **ppError);
   6629 
   6630     HRESULT (STDMETHODCALLTYPE *get_status)(
   6631         IWMPPlayer *This,
   6632         BSTR *pbstrStatus);
   6633 
   6634     /*** IWMPPlayer methods ***/
   6635     HRESULT (STDMETHODCALLTYPE *get_enabled)(
   6636         IWMPPlayer *This,
   6637         VARIANT_BOOL *pbEnabled);
   6638 
   6639     HRESULT (STDMETHODCALLTYPE *put_enabled)(
   6640         IWMPPlayer *This,
   6641         VARIANT_BOOL pbEnabled);
   6642 
   6643     HRESULT (STDMETHODCALLTYPE *get_fullScreen)(
   6644         IWMPPlayer *This,
   6645         VARIANT_BOOL *pbFullScreen);
   6646 
   6647     HRESULT (STDMETHODCALLTYPE *put_fullScreen)(
   6648         IWMPPlayer *This,
   6649         VARIANT_BOOL pbFullScreen);
   6650 
   6651     HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)(
   6652         IWMPPlayer *This,
   6653         VARIANT_BOOL *pbEnableContextMenu);
   6654 
   6655     HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)(
   6656         IWMPPlayer *This,
   6657         VARIANT_BOOL pbEnableContextMenu);
   6658 
   6659     HRESULT (STDMETHODCALLTYPE *put_uiMode)(
   6660         IWMPPlayer *This,
   6661         BSTR pbstrMode);
   6662 
   6663     HRESULT (STDMETHODCALLTYPE *get_uiMode)(
   6664         IWMPPlayer *This,
   6665         BSTR *pbstrMode);
   6666 
   6667     END_INTERFACE
   6668 } IWMPPlayerVtbl;
   6669 
   6670 interface IWMPPlayer {
   6671     CONST_VTBL IWMPPlayerVtbl* lpVtbl;
   6672 };
   6673 
   6674 #ifdef COBJMACROS
   6675 #ifndef WIDL_C_INLINE_WRAPPERS
   6676 /*** IUnknown methods ***/
   6677 #define IWMPPlayer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6678 #define IWMPPlayer_AddRef(This) (This)->lpVtbl->AddRef(This)
   6679 #define IWMPPlayer_Release(This) (This)->lpVtbl->Release(This)
   6680 /*** IDispatch methods ***/
   6681 #define IWMPPlayer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6682 #define IWMPPlayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6683 #define IWMPPlayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6684 #define IWMPPlayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6685 /*** IWMPCore methods ***/
   6686 #define IWMPPlayer_close(This) (This)->lpVtbl->close(This)
   6687 #define IWMPPlayer_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL)
   6688 #define IWMPPlayer_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL)
   6689 #define IWMPPlayer_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos)
   6690 #define IWMPPlayer_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps)
   6691 #define IWMPPlayer_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl)
   6692 #define IWMPPlayer_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings)
   6693 #define IWMPPlayer_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia)
   6694 #define IWMPPlayer_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia)
   6695 #define IWMPPlayer_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection)
   6696 #define IWMPPlayer_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection)
   6697 #define IWMPPlayer_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo)
   6698 #define IWMPPlayer_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL)
   6699 #define IWMPPlayer_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI)
   6700 #define IWMPPlayer_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL)
   6701 #define IWMPPlayer_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL)
   6702 #define IWMPPlayer_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection)
   6703 #define IWMPPlayer_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption)
   6704 #define IWMPPlayer_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline)
   6705 #define IWMPPlayer_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError)
   6706 #define IWMPPlayer_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus)
   6707 /*** IWMPPlayer methods ***/
   6708 #define IWMPPlayer_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled)
   6709 #define IWMPPlayer_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled)
   6710 #define IWMPPlayer_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen)
   6711 #define IWMPPlayer_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen)
   6712 #define IWMPPlayer_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu)
   6713 #define IWMPPlayer_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu)
   6714 #define IWMPPlayer_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode)
   6715 #define IWMPPlayer_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode)
   6716 #else
   6717 /*** IUnknown methods ***/
   6718 static inline HRESULT IWMPPlayer_QueryInterface(IWMPPlayer* This,REFIID riid,void **ppvObject) {
   6719     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6720 }
   6721 static inline ULONG IWMPPlayer_AddRef(IWMPPlayer* This) {
   6722     return This->lpVtbl->AddRef(This);
   6723 }
   6724 static inline ULONG IWMPPlayer_Release(IWMPPlayer* This) {
   6725     return This->lpVtbl->Release(This);
   6726 }
   6727 /*** IDispatch methods ***/
   6728 static inline HRESULT IWMPPlayer_GetTypeInfoCount(IWMPPlayer* This,UINT *pctinfo) {
   6729     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6730 }
   6731 static inline HRESULT IWMPPlayer_GetTypeInfo(IWMPPlayer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6732     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6733 }
   6734 static inline HRESULT IWMPPlayer_GetIDsOfNames(IWMPPlayer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6735     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6736 }
   6737 static inline HRESULT IWMPPlayer_Invoke(IWMPPlayer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6738     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6739 }
   6740 /*** IWMPCore methods ***/
   6741 static inline HRESULT IWMPPlayer_close(IWMPPlayer* This) {
   6742     return This->lpVtbl->close(This);
   6743 }
   6744 static inline HRESULT IWMPPlayer_get_URL(IWMPPlayer* This,BSTR *pbstrURL) {
   6745     return This->lpVtbl->get_URL(This,pbstrURL);
   6746 }
   6747 static inline HRESULT IWMPPlayer_put_URL(IWMPPlayer* This,BSTR pbstrURL) {
   6748     return This->lpVtbl->put_URL(This,pbstrURL);
   6749 }
   6750 static inline HRESULT IWMPPlayer_get_openState(IWMPPlayer* This,WMPOpenState *pwmpos) {
   6751     return This->lpVtbl->get_openState(This,pwmpos);
   6752 }
   6753 static inline HRESULT IWMPPlayer_get_playState(IWMPPlayer* This,WMPPlayState *pwmpps) {
   6754     return This->lpVtbl->get_playState(This,pwmpps);
   6755 }
   6756 static inline HRESULT IWMPPlayer_get_controls(IWMPPlayer* This,IWMPControls **ppControl) {
   6757     return This->lpVtbl->get_controls(This,ppControl);
   6758 }
   6759 static inline HRESULT IWMPPlayer_get_settings(IWMPPlayer* This,IWMPSettings **ppSettings) {
   6760     return This->lpVtbl->get_settings(This,ppSettings);
   6761 }
   6762 static inline HRESULT IWMPPlayer_get_currentMedia(IWMPPlayer* This,IWMPMedia **ppMedia) {
   6763     return This->lpVtbl->get_currentMedia(This,ppMedia);
   6764 }
   6765 static inline HRESULT IWMPPlayer_put_currentMedia(IWMPPlayer* This,IWMPMedia *ppMedia) {
   6766     return This->lpVtbl->put_currentMedia(This,ppMedia);
   6767 }
   6768 static inline HRESULT IWMPPlayer_get_mediaCollection(IWMPPlayer* This,IWMPMediaCollection **ppMediaCollection) {
   6769     return This->lpVtbl->get_mediaCollection(This,ppMediaCollection);
   6770 }
   6771 static inline HRESULT IWMPPlayer_get_playlistCollection(IWMPPlayer* This,IWMPPlaylistCollection **ppPlaylistCollection) {
   6772     return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection);
   6773 }
   6774 static inline HRESULT IWMPPlayer_get_versionInfo(IWMPPlayer* This,BSTR *pbstrVersionInfo) {
   6775     return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo);
   6776 }
   6777 static inline HRESULT IWMPPlayer_launchURL(IWMPPlayer* This,BSTR bstrURL) {
   6778     return This->lpVtbl->launchURL(This,bstrURL);
   6779 }
   6780 static inline HRESULT IWMPPlayer_get_network(IWMPPlayer* This,IWMPNetwork **ppQNI) {
   6781     return This->lpVtbl->get_network(This,ppQNI);
   6782 }
   6783 static inline HRESULT IWMPPlayer_get_currentPlaylist(IWMPPlayer* This,IWMPPlaylist **ppPL) {
   6784     return This->lpVtbl->get_currentPlaylist(This,ppPL);
   6785 }
   6786 static inline HRESULT IWMPPlayer_put_currentPlaylist(IWMPPlayer* This,IWMPPlaylist *ppPL) {
   6787     return This->lpVtbl->put_currentPlaylist(This,ppPL);
   6788 }
   6789 static inline HRESULT IWMPPlayer_get_cdromCollection(IWMPPlayer* This,IWMPCdromCollection **ppCdromCollection) {
   6790     return This->lpVtbl->get_cdromCollection(This,ppCdromCollection);
   6791 }
   6792 static inline HRESULT IWMPPlayer_get_closedCaption(IWMPPlayer* This,IWMPClosedCaption **ppClosedCaption) {
   6793     return This->lpVtbl->get_closedCaption(This,ppClosedCaption);
   6794 }
   6795 static inline HRESULT IWMPPlayer_get_isOnline(IWMPPlayer* This,VARIANT_BOOL *pfOnline) {
   6796     return This->lpVtbl->get_isOnline(This,pfOnline);
   6797 }
   6798 static inline HRESULT IWMPPlayer_get_Error(IWMPPlayer* This,IWMPError **ppError) {
   6799     return This->lpVtbl->get_Error(This,ppError);
   6800 }
   6801 static inline HRESULT IWMPPlayer_get_status(IWMPPlayer* This,BSTR *pbstrStatus) {
   6802     return This->lpVtbl->get_status(This,pbstrStatus);
   6803 }
   6804 /*** IWMPPlayer methods ***/
   6805 static inline HRESULT IWMPPlayer_get_enabled(IWMPPlayer* This,VARIANT_BOOL *pbEnabled) {
   6806     return This->lpVtbl->get_enabled(This,pbEnabled);
   6807 }
   6808 static inline HRESULT IWMPPlayer_put_enabled(IWMPPlayer* This,VARIANT_BOOL pbEnabled) {
   6809     return This->lpVtbl->put_enabled(This,pbEnabled);
   6810 }
   6811 static inline HRESULT IWMPPlayer_get_fullScreen(IWMPPlayer* This,VARIANT_BOOL *pbFullScreen) {
   6812     return This->lpVtbl->get_fullScreen(This,pbFullScreen);
   6813 }
   6814 static inline HRESULT IWMPPlayer_put_fullScreen(IWMPPlayer* This,VARIANT_BOOL pbFullScreen) {
   6815     return This->lpVtbl->put_fullScreen(This,pbFullScreen);
   6816 }
   6817 static inline HRESULT IWMPPlayer_get_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL *pbEnableContextMenu) {
   6818     return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu);
   6819 }
   6820 static inline HRESULT IWMPPlayer_put_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL pbEnableContextMenu) {
   6821     return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu);
   6822 }
   6823 static inline HRESULT IWMPPlayer_put_uiMode(IWMPPlayer* This,BSTR pbstrMode) {
   6824     return This->lpVtbl->put_uiMode(This,pbstrMode);
   6825 }
   6826 static inline HRESULT IWMPPlayer_get_uiMode(IWMPPlayer* This,BSTR *pbstrMode) {
   6827     return This->lpVtbl->get_uiMode(This,pbstrMode);
   6828 }
   6829 #endif
   6830 #endif
   6831 
   6832 #endif
   6833 
   6834 
   6835 #endif  /* __IWMPPlayer_INTERFACE_DEFINED__ */
   6836 
   6837 /*****************************************************************************
   6838  * IWMPSyncDevice interface
   6839  */
   6840 #ifndef __IWMPSyncDevice_INTERFACE_DEFINED__
   6841 #define __IWMPSyncDevice_INTERFACE_DEFINED__
   6842 
   6843 DEFINE_GUID(IID_IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe);
   6844 #if defined(__cplusplus) && !defined(CINTERFACE)
   6845 MIDL_INTERFACE("82a2986c-0293-4fd0-b279-b21b86c058be")
   6846 IWMPSyncDevice : public IUnknown
   6847 {
   6848     virtual HRESULT STDMETHODCALLTYPE get_friendlyName(
   6849         BSTR *name) = 0;
   6850 
   6851     virtual HRESULT STDMETHODCALLTYPE put_friendlyName(
   6852         BSTR name) = 0;
   6853 
   6854     virtual HRESULT STDMETHODCALLTYPE get_deviceName(
   6855         BSTR *name) = 0;
   6856 
   6857     virtual HRESULT STDMETHODCALLTYPE get_deviceId(
   6858         BSTR *device) = 0;
   6859 
   6860     virtual HRESULT STDMETHODCALLTYPE get_partnershipIndex(
   6861         LONG *index) = 0;
   6862 
   6863     virtual HRESULT STDMETHODCALLTYPE get_connected(
   6864         VARIANT_BOOL *connected) = 0;
   6865 
   6866     virtual HRESULT STDMETHODCALLTYPE get_status(
   6867         WMPDeviceStatus *status) = 0;
   6868 
   6869     virtual HRESULT STDMETHODCALLTYPE get_syncState(
   6870         WMPSyncState *state) = 0;
   6871 
   6872     virtual HRESULT STDMETHODCALLTYPE get_progress(
   6873         LONG *progress) = 0;
   6874 
   6875     virtual HRESULT STDMETHODCALLTYPE getItemInfo(
   6876         BSTR name,
   6877         BSTR *val) = 0;
   6878 
   6879     virtual HRESULT STDMETHODCALLTYPE createPartnership(
   6880         VARIANT_BOOL showui) = 0;
   6881 
   6882     virtual HRESULT STDMETHODCALLTYPE deletePartnership(
   6883         ) = 0;
   6884 
   6885     virtual HRESULT STDMETHODCALLTYPE start(
   6886         ) = 0;
   6887 
   6888     virtual HRESULT STDMETHODCALLTYPE stop(
   6889         ) = 0;
   6890 
   6891     virtual HRESULT STDMETHODCALLTYPE showSettings(
   6892         ) = 0;
   6893 
   6894     virtual HRESULT STDMETHODCALLTYPE isIdentical(
   6895         IWMPSyncDevice *device,
   6896         VARIANT_BOOL *ret) = 0;
   6897 
   6898 };
   6899 #ifdef __CRT_UUID_DECL
   6900 __CRT_UUID_DECL(IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe)
   6901 #endif
   6902 #else
   6903 typedef struct IWMPSyncDeviceVtbl {
   6904     BEGIN_INTERFACE
   6905 
   6906     /*** IUnknown methods ***/
   6907     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6908         IWMPSyncDevice *This,
   6909         REFIID riid,
   6910         void **ppvObject);
   6911 
   6912     ULONG (STDMETHODCALLTYPE *AddRef)(
   6913         IWMPSyncDevice *This);
   6914 
   6915     ULONG (STDMETHODCALLTYPE *Release)(
   6916         IWMPSyncDevice *This);
   6917 
   6918     /*** IWMPSyncDevice methods ***/
   6919     HRESULT (STDMETHODCALLTYPE *get_friendlyName)(
   6920         IWMPSyncDevice *This,
   6921         BSTR *name);
   6922 
   6923     HRESULT (STDMETHODCALLTYPE *put_friendlyName)(
   6924         IWMPSyncDevice *This,
   6925         BSTR name);
   6926 
   6927     HRESULT (STDMETHODCALLTYPE *get_deviceName)(
   6928         IWMPSyncDevice *This,
   6929         BSTR *name);
   6930 
   6931     HRESULT (STDMETHODCALLTYPE *get_deviceId)(
   6932         IWMPSyncDevice *This,
   6933         BSTR *device);
   6934 
   6935     HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)(
   6936         IWMPSyncDevice *This,
   6937         LONG *index);
   6938 
   6939     HRESULT (STDMETHODCALLTYPE *get_connected)(
   6940         IWMPSyncDevice *This,
   6941         VARIANT_BOOL *connected);
   6942 
   6943     HRESULT (STDMETHODCALLTYPE *get_status)(
   6944         IWMPSyncDevice *This,
   6945         WMPDeviceStatus *status);
   6946 
   6947     HRESULT (STDMETHODCALLTYPE *get_syncState)(
   6948         IWMPSyncDevice *This,
   6949         WMPSyncState *state);
   6950 
   6951     HRESULT (STDMETHODCALLTYPE *get_progress)(
   6952         IWMPSyncDevice *This,
   6953         LONG *progress);
   6954 
   6955     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
   6956         IWMPSyncDevice *This,
   6957         BSTR name,
   6958         BSTR *val);
   6959 
   6960     HRESULT (STDMETHODCALLTYPE *createPartnership)(
   6961         IWMPSyncDevice *This,
   6962         VARIANT_BOOL showui);
   6963 
   6964     HRESULT (STDMETHODCALLTYPE *deletePartnership)(
   6965         IWMPSyncDevice *This);
   6966 
   6967     HRESULT (STDMETHODCALLTYPE *start)(
   6968         IWMPSyncDevice *This);
   6969 
   6970     HRESULT (STDMETHODCALLTYPE *stop)(
   6971         IWMPSyncDevice *This);
   6972 
   6973     HRESULT (STDMETHODCALLTYPE *showSettings)(
   6974         IWMPSyncDevice *This);
   6975 
   6976     HRESULT (STDMETHODCALLTYPE *isIdentical)(
   6977         IWMPSyncDevice *This,
   6978         IWMPSyncDevice *device,
   6979         VARIANT_BOOL *ret);
   6980 
   6981     END_INTERFACE
   6982 } IWMPSyncDeviceVtbl;
   6983 
   6984 interface IWMPSyncDevice {
   6985     CONST_VTBL IWMPSyncDeviceVtbl* lpVtbl;
   6986 };
   6987 
   6988 #ifdef COBJMACROS
   6989 #ifndef WIDL_C_INLINE_WRAPPERS
   6990 /*** IUnknown methods ***/
   6991 #define IWMPSyncDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6992 #define IWMPSyncDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   6993 #define IWMPSyncDevice_Release(This) (This)->lpVtbl->Release(This)
   6994 /*** IWMPSyncDevice methods ***/
   6995 #define IWMPSyncDevice_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name)
   6996 #define IWMPSyncDevice_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name)
   6997 #define IWMPSyncDevice_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name)
   6998 #define IWMPSyncDevice_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device)
   6999 #define IWMPSyncDevice_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index)
   7000 #define IWMPSyncDevice_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected)
   7001 #define IWMPSyncDevice_get_status(This,status) (This)->lpVtbl->get_status(This,status)
   7002 #define IWMPSyncDevice_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state)
   7003 #define IWMPSyncDevice_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress)
   7004 #define IWMPSyncDevice_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val)
   7005 #define IWMPSyncDevice_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui)
   7006 #define IWMPSyncDevice_deletePartnership(This) (This)->lpVtbl->deletePartnership(This)
   7007 #define IWMPSyncDevice_start(This) (This)->lpVtbl->start(This)
   7008 #define IWMPSyncDevice_stop(This) (This)->lpVtbl->stop(This)
   7009 #define IWMPSyncDevice_showSettings(This) (This)->lpVtbl->showSettings(This)
   7010 #define IWMPSyncDevice_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret)
   7011 #else
   7012 /*** IUnknown methods ***/
   7013 static inline HRESULT IWMPSyncDevice_QueryInterface(IWMPSyncDevice* This,REFIID riid,void **ppvObject) {
   7014     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7015 }
   7016 static inline ULONG IWMPSyncDevice_AddRef(IWMPSyncDevice* This) {
   7017     return This->lpVtbl->AddRef(This);
   7018 }
   7019 static inline ULONG IWMPSyncDevice_Release(IWMPSyncDevice* This) {
   7020     return This->lpVtbl->Release(This);
   7021 }
   7022 /*** IWMPSyncDevice methods ***/
   7023 static inline HRESULT IWMPSyncDevice_get_friendlyName(IWMPSyncDevice* This,BSTR *name) {
   7024     return This->lpVtbl->get_friendlyName(This,name);
   7025 }
   7026 static inline HRESULT IWMPSyncDevice_put_friendlyName(IWMPSyncDevice* This,BSTR name) {
   7027     return This->lpVtbl->put_friendlyName(This,name);
   7028 }
   7029 static inline HRESULT IWMPSyncDevice_get_deviceName(IWMPSyncDevice* This,BSTR *name) {
   7030     return This->lpVtbl->get_deviceName(This,name);
   7031 }
   7032 static inline HRESULT IWMPSyncDevice_get_deviceId(IWMPSyncDevice* This,BSTR *device) {
   7033     return This->lpVtbl->get_deviceId(This,device);
   7034 }
   7035 static inline HRESULT IWMPSyncDevice_get_partnershipIndex(IWMPSyncDevice* This,LONG *index) {
   7036     return This->lpVtbl->get_partnershipIndex(This,index);
   7037 }
   7038 static inline HRESULT IWMPSyncDevice_get_connected(IWMPSyncDevice* This,VARIANT_BOOL *connected) {
   7039     return This->lpVtbl->get_connected(This,connected);
   7040 }
   7041 static inline HRESULT IWMPSyncDevice_get_status(IWMPSyncDevice* This,WMPDeviceStatus *status) {
   7042     return This->lpVtbl->get_status(This,status);
   7043 }
   7044 static inline HRESULT IWMPSyncDevice_get_syncState(IWMPSyncDevice* This,WMPSyncState *state) {
   7045     return This->lpVtbl->get_syncState(This,state);
   7046 }
   7047 static inline HRESULT IWMPSyncDevice_get_progress(IWMPSyncDevice* This,LONG *progress) {
   7048     return This->lpVtbl->get_progress(This,progress);
   7049 }
   7050 static inline HRESULT IWMPSyncDevice_getItemInfo(IWMPSyncDevice* This,BSTR name,BSTR *val) {
   7051     return This->lpVtbl->getItemInfo(This,name,val);
   7052 }
   7053 static inline HRESULT IWMPSyncDevice_createPartnership(IWMPSyncDevice* This,VARIANT_BOOL showui) {
   7054     return This->lpVtbl->createPartnership(This,showui);
   7055 }
   7056 static inline HRESULT IWMPSyncDevice_deletePartnership(IWMPSyncDevice* This) {
   7057     return This->lpVtbl->deletePartnership(This);
   7058 }
   7059 static inline HRESULT IWMPSyncDevice_start(IWMPSyncDevice* This) {
   7060     return This->lpVtbl->start(This);
   7061 }
   7062 static inline HRESULT IWMPSyncDevice_stop(IWMPSyncDevice* This) {
   7063     return This->lpVtbl->stop(This);
   7064 }
   7065 static inline HRESULT IWMPSyncDevice_showSettings(IWMPSyncDevice* This) {
   7066     return This->lpVtbl->showSettings(This);
   7067 }
   7068 static inline HRESULT IWMPSyncDevice_isIdentical(IWMPSyncDevice* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) {
   7069     return This->lpVtbl->isIdentical(This,device,ret);
   7070 }
   7071 #endif
   7072 #endif
   7073 
   7074 #endif
   7075 
   7076 
   7077 #endif  /* __IWMPSyncDevice_INTERFACE_DEFINED__ */
   7078 
   7079 /*****************************************************************************
   7080  * IWMPSyncDevice2 interface
   7081  */
   7082 #ifndef __IWMPSyncDevice2_INTERFACE_DEFINED__
   7083 #define __IWMPSyncDevice2_INTERFACE_DEFINED__
   7084 
   7085 DEFINE_GUID(IID_IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1);
   7086 #if defined(__cplusplus) && !defined(CINTERFACE)
   7087 MIDL_INTERFACE("88afb4b2-140a-44d2-91e6-4543da467cd1")
   7088 IWMPSyncDevice2 : public IWMPSyncDevice
   7089 {
   7090     virtual HRESULT STDMETHODCALLTYPE setItemInfo(
   7091         BSTR name,
   7092         BSTR val) = 0;
   7093 
   7094 };
   7095 #ifdef __CRT_UUID_DECL
   7096 __CRT_UUID_DECL(IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1)
   7097 #endif
   7098 #else
   7099 typedef struct IWMPSyncDevice2Vtbl {
   7100     BEGIN_INTERFACE
   7101 
   7102     /*** IUnknown methods ***/
   7103     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7104         IWMPSyncDevice2 *This,
   7105         REFIID riid,
   7106         void **ppvObject);
   7107 
   7108     ULONG (STDMETHODCALLTYPE *AddRef)(
   7109         IWMPSyncDevice2 *This);
   7110 
   7111     ULONG (STDMETHODCALLTYPE *Release)(
   7112         IWMPSyncDevice2 *This);
   7113 
   7114     /*** IWMPSyncDevice methods ***/
   7115     HRESULT (STDMETHODCALLTYPE *get_friendlyName)(
   7116         IWMPSyncDevice2 *This,
   7117         BSTR *name);
   7118 
   7119     HRESULT (STDMETHODCALLTYPE *put_friendlyName)(
   7120         IWMPSyncDevice2 *This,
   7121         BSTR name);
   7122 
   7123     HRESULT (STDMETHODCALLTYPE *get_deviceName)(
   7124         IWMPSyncDevice2 *This,
   7125         BSTR *name);
   7126 
   7127     HRESULT (STDMETHODCALLTYPE *get_deviceId)(
   7128         IWMPSyncDevice2 *This,
   7129         BSTR *device);
   7130 
   7131     HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)(
   7132         IWMPSyncDevice2 *This,
   7133         LONG *index);
   7134 
   7135     HRESULT (STDMETHODCALLTYPE *get_connected)(
   7136         IWMPSyncDevice2 *This,
   7137         VARIANT_BOOL *connected);
   7138 
   7139     HRESULT (STDMETHODCALLTYPE *get_status)(
   7140         IWMPSyncDevice2 *This,
   7141         WMPDeviceStatus *status);
   7142 
   7143     HRESULT (STDMETHODCALLTYPE *get_syncState)(
   7144         IWMPSyncDevice2 *This,
   7145         WMPSyncState *state);
   7146 
   7147     HRESULT (STDMETHODCALLTYPE *get_progress)(
   7148         IWMPSyncDevice2 *This,
   7149         LONG *progress);
   7150 
   7151     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
   7152         IWMPSyncDevice2 *This,
   7153         BSTR name,
   7154         BSTR *val);
   7155 
   7156     HRESULT (STDMETHODCALLTYPE *createPartnership)(
   7157         IWMPSyncDevice2 *This,
   7158         VARIANT_BOOL showui);
   7159 
   7160     HRESULT (STDMETHODCALLTYPE *deletePartnership)(
   7161         IWMPSyncDevice2 *This);
   7162 
   7163     HRESULT (STDMETHODCALLTYPE *start)(
   7164         IWMPSyncDevice2 *This);
   7165 
   7166     HRESULT (STDMETHODCALLTYPE *stop)(
   7167         IWMPSyncDevice2 *This);
   7168 
   7169     HRESULT (STDMETHODCALLTYPE *showSettings)(
   7170         IWMPSyncDevice2 *This);
   7171 
   7172     HRESULT (STDMETHODCALLTYPE *isIdentical)(
   7173         IWMPSyncDevice2 *This,
   7174         IWMPSyncDevice *device,
   7175         VARIANT_BOOL *ret);
   7176 
   7177     /*** IWMPSyncDevice2 methods ***/
   7178     HRESULT (STDMETHODCALLTYPE *setItemInfo)(
   7179         IWMPSyncDevice2 *This,
   7180         BSTR name,
   7181         BSTR val);
   7182 
   7183     END_INTERFACE
   7184 } IWMPSyncDevice2Vtbl;
   7185 
   7186 interface IWMPSyncDevice2 {
   7187     CONST_VTBL IWMPSyncDevice2Vtbl* lpVtbl;
   7188 };
   7189 
   7190 #ifdef COBJMACROS
   7191 #ifndef WIDL_C_INLINE_WRAPPERS
   7192 /*** IUnknown methods ***/
   7193 #define IWMPSyncDevice2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7194 #define IWMPSyncDevice2_AddRef(This) (This)->lpVtbl->AddRef(This)
   7195 #define IWMPSyncDevice2_Release(This) (This)->lpVtbl->Release(This)
   7196 /*** IWMPSyncDevice methods ***/
   7197 #define IWMPSyncDevice2_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name)
   7198 #define IWMPSyncDevice2_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name)
   7199 #define IWMPSyncDevice2_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name)
   7200 #define IWMPSyncDevice2_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device)
   7201 #define IWMPSyncDevice2_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index)
   7202 #define IWMPSyncDevice2_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected)
   7203 #define IWMPSyncDevice2_get_status(This,status) (This)->lpVtbl->get_status(This,status)
   7204 #define IWMPSyncDevice2_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state)
   7205 #define IWMPSyncDevice2_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress)
   7206 #define IWMPSyncDevice2_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val)
   7207 #define IWMPSyncDevice2_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui)
   7208 #define IWMPSyncDevice2_deletePartnership(This) (This)->lpVtbl->deletePartnership(This)
   7209 #define IWMPSyncDevice2_start(This) (This)->lpVtbl->start(This)
   7210 #define IWMPSyncDevice2_stop(This) (This)->lpVtbl->stop(This)
   7211 #define IWMPSyncDevice2_showSettings(This) (This)->lpVtbl->showSettings(This)
   7212 #define IWMPSyncDevice2_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret)
   7213 /*** IWMPSyncDevice2 methods ***/
   7214 #define IWMPSyncDevice2_setItemInfo(This,name,val) (This)->lpVtbl->setItemInfo(This,name,val)
   7215 #else
   7216 /*** IUnknown methods ***/
   7217 static inline HRESULT IWMPSyncDevice2_QueryInterface(IWMPSyncDevice2* This,REFIID riid,void **ppvObject) {
   7218     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7219 }
   7220 static inline ULONG IWMPSyncDevice2_AddRef(IWMPSyncDevice2* This) {
   7221     return This->lpVtbl->AddRef(This);
   7222 }
   7223 static inline ULONG IWMPSyncDevice2_Release(IWMPSyncDevice2* This) {
   7224     return This->lpVtbl->Release(This);
   7225 }
   7226 /*** IWMPSyncDevice methods ***/
   7227 static inline HRESULT IWMPSyncDevice2_get_friendlyName(IWMPSyncDevice2* This,BSTR *name) {
   7228     return This->lpVtbl->get_friendlyName(This,name);
   7229 }
   7230 static inline HRESULT IWMPSyncDevice2_put_friendlyName(IWMPSyncDevice2* This,BSTR name) {
   7231     return This->lpVtbl->put_friendlyName(This,name);
   7232 }
   7233 static inline HRESULT IWMPSyncDevice2_get_deviceName(IWMPSyncDevice2* This,BSTR *name) {
   7234     return This->lpVtbl->get_deviceName(This,name);
   7235 }
   7236 static inline HRESULT IWMPSyncDevice2_get_deviceId(IWMPSyncDevice2* This,BSTR *device) {
   7237     return This->lpVtbl->get_deviceId(This,device);
   7238 }
   7239 static inline HRESULT IWMPSyncDevice2_get_partnershipIndex(IWMPSyncDevice2* This,LONG *index) {
   7240     return This->lpVtbl->get_partnershipIndex(This,index);
   7241 }
   7242 static inline HRESULT IWMPSyncDevice2_get_connected(IWMPSyncDevice2* This,VARIANT_BOOL *connected) {
   7243     return This->lpVtbl->get_connected(This,connected);
   7244 }
   7245 static inline HRESULT IWMPSyncDevice2_get_status(IWMPSyncDevice2* This,WMPDeviceStatus *status) {
   7246     return This->lpVtbl->get_status(This,status);
   7247 }
   7248 static inline HRESULT IWMPSyncDevice2_get_syncState(IWMPSyncDevice2* This,WMPSyncState *state) {
   7249     return This->lpVtbl->get_syncState(This,state);
   7250 }
   7251 static inline HRESULT IWMPSyncDevice2_get_progress(IWMPSyncDevice2* This,LONG *progress) {
   7252     return This->lpVtbl->get_progress(This,progress);
   7253 }
   7254 static inline HRESULT IWMPSyncDevice2_getItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR *val) {
   7255     return This->lpVtbl->getItemInfo(This,name,val);
   7256 }
   7257 static inline HRESULT IWMPSyncDevice2_createPartnership(IWMPSyncDevice2* This,VARIANT_BOOL showui) {
   7258     return This->lpVtbl->createPartnership(This,showui);
   7259 }
   7260 static inline HRESULT IWMPSyncDevice2_deletePartnership(IWMPSyncDevice2* This) {
   7261     return This->lpVtbl->deletePartnership(This);
   7262 }
   7263 static inline HRESULT IWMPSyncDevice2_start(IWMPSyncDevice2* This) {
   7264     return This->lpVtbl->start(This);
   7265 }
   7266 static inline HRESULT IWMPSyncDevice2_stop(IWMPSyncDevice2* This) {
   7267     return This->lpVtbl->stop(This);
   7268 }
   7269 static inline HRESULT IWMPSyncDevice2_showSettings(IWMPSyncDevice2* This) {
   7270     return This->lpVtbl->showSettings(This);
   7271 }
   7272 static inline HRESULT IWMPSyncDevice2_isIdentical(IWMPSyncDevice2* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) {
   7273     return This->lpVtbl->isIdentical(This,device,ret);
   7274 }
   7275 /*** IWMPSyncDevice2 methods ***/
   7276 static inline HRESULT IWMPSyncDevice2_setItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR val) {
   7277     return This->lpVtbl->setItemInfo(This,name,val);
   7278 }
   7279 #endif
   7280 #endif
   7281 
   7282 #endif
   7283 
   7284 
   7285 #endif  /* __IWMPSyncDevice2_INTERFACE_DEFINED__ */
   7286 
   7287 /*****************************************************************************
   7288  * IWMPCdromRip interface
   7289  */
   7290 #ifndef __IWMPCdromRip_INTERFACE_DEFINED__
   7291 #define __IWMPCdromRip_INTERFACE_DEFINED__
   7292 
   7293 DEFINE_GUID(IID_IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c);
   7294 #if defined(__cplusplus) && !defined(CINTERFACE)
   7295 MIDL_INTERFACE("56e2294f-69ed-4629-a869-aea72c0dcc2c")
   7296 IWMPCdromRip : public IUnknown
   7297 {
   7298     virtual HRESULT STDMETHODCALLTYPE get_ripState(
   7299         WMPRipState *state) = 0;
   7300 
   7301     virtual HRESULT STDMETHODCALLTYPE get_ripProgress(
   7302         LONG *progress) = 0;
   7303 
   7304     virtual HRESULT STDMETHODCALLTYPE startRip(
   7305         ) = 0;
   7306 
   7307     virtual HRESULT STDMETHODCALLTYPE stopRip(
   7308         ) = 0;
   7309 
   7310 };
   7311 #ifdef __CRT_UUID_DECL
   7312 __CRT_UUID_DECL(IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c)
   7313 #endif
   7314 #else
   7315 typedef struct IWMPCdromRipVtbl {
   7316     BEGIN_INTERFACE
   7317 
   7318     /*** IUnknown methods ***/
   7319     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7320         IWMPCdromRip *This,
   7321         REFIID riid,
   7322         void **ppvObject);
   7323 
   7324     ULONG (STDMETHODCALLTYPE *AddRef)(
   7325         IWMPCdromRip *This);
   7326 
   7327     ULONG (STDMETHODCALLTYPE *Release)(
   7328         IWMPCdromRip *This);
   7329 
   7330     /*** IWMPCdromRip methods ***/
   7331     HRESULT (STDMETHODCALLTYPE *get_ripState)(
   7332         IWMPCdromRip *This,
   7333         WMPRipState *state);
   7334 
   7335     HRESULT (STDMETHODCALLTYPE *get_ripProgress)(
   7336         IWMPCdromRip *This,
   7337         LONG *progress);
   7338 
   7339     HRESULT (STDMETHODCALLTYPE *startRip)(
   7340         IWMPCdromRip *This);
   7341 
   7342     HRESULT (STDMETHODCALLTYPE *stopRip)(
   7343         IWMPCdromRip *This);
   7344 
   7345     END_INTERFACE
   7346 } IWMPCdromRipVtbl;
   7347 
   7348 interface IWMPCdromRip {
   7349     CONST_VTBL IWMPCdromRipVtbl* lpVtbl;
   7350 };
   7351 
   7352 #ifdef COBJMACROS
   7353 #ifndef WIDL_C_INLINE_WRAPPERS
   7354 /*** IUnknown methods ***/
   7355 #define IWMPCdromRip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7356 #define IWMPCdromRip_AddRef(This) (This)->lpVtbl->AddRef(This)
   7357 #define IWMPCdromRip_Release(This) (This)->lpVtbl->Release(This)
   7358 /*** IWMPCdromRip methods ***/
   7359 #define IWMPCdromRip_get_ripState(This,state) (This)->lpVtbl->get_ripState(This,state)
   7360 #define IWMPCdromRip_get_ripProgress(This,progress) (This)->lpVtbl->get_ripProgress(This,progress)
   7361 #define IWMPCdromRip_startRip(This) (This)->lpVtbl->startRip(This)
   7362 #define IWMPCdromRip_stopRip(This) (This)->lpVtbl->stopRip(This)
   7363 #else
   7364 /*** IUnknown methods ***/
   7365 static inline HRESULT IWMPCdromRip_QueryInterface(IWMPCdromRip* This,REFIID riid,void **ppvObject) {
   7366     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7367 }
   7368 static inline ULONG IWMPCdromRip_AddRef(IWMPCdromRip* This) {
   7369     return This->lpVtbl->AddRef(This);
   7370 }
   7371 static inline ULONG IWMPCdromRip_Release(IWMPCdromRip* This) {
   7372     return This->lpVtbl->Release(This);
   7373 }
   7374 /*** IWMPCdromRip methods ***/
   7375 static inline HRESULT IWMPCdromRip_get_ripState(IWMPCdromRip* This,WMPRipState *state) {
   7376     return This->lpVtbl->get_ripState(This,state);
   7377 }
   7378 static inline HRESULT IWMPCdromRip_get_ripProgress(IWMPCdromRip* This,LONG *progress) {
   7379     return This->lpVtbl->get_ripProgress(This,progress);
   7380 }
   7381 static inline HRESULT IWMPCdromRip_startRip(IWMPCdromRip* This) {
   7382     return This->lpVtbl->startRip(This);
   7383 }
   7384 static inline HRESULT IWMPCdromRip_stopRip(IWMPCdromRip* This) {
   7385     return This->lpVtbl->stopRip(This);
   7386 }
   7387 #endif
   7388 #endif
   7389 
   7390 #endif
   7391 
   7392 
   7393 #endif  /* __IWMPCdromRip_INTERFACE_DEFINED__ */
   7394 
   7395 /*****************************************************************************
   7396  * IWMPCdromBurn interface
   7397  */
   7398 #ifndef __IWMPCdromBurn_INTERFACE_DEFINED__
   7399 #define __IWMPCdromBurn_INTERFACE_DEFINED__
   7400 
   7401 DEFINE_GUID(IID_IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59);
   7402 #if defined(__cplusplus) && !defined(CINTERFACE)
   7403 MIDL_INTERFACE("bd94dbeb-417f-4928-aa06-087d56ed9b59")
   7404 IWMPCdromBurn : public IUnknown
   7405 {
   7406     virtual HRESULT STDMETHODCALLTYPE isAvailable(
   7407         BSTR item,
   7408         VARIANT_BOOL *available) = 0;
   7409 
   7410     virtual HRESULT STDMETHODCALLTYPE getItemInfo(
   7411         BSTR item,
   7412         BSTR *val) = 0;
   7413 
   7414     virtual HRESULT STDMETHODCALLTYPE get_label(
   7415         BSTR *label) = 0;
   7416 
   7417     virtual HRESULT STDMETHODCALLTYPE put_label(
   7418         BSTR label) = 0;
   7419 
   7420     virtual HRESULT STDMETHODCALLTYPE get_burnFormat(
   7421         WMPBurnFormat *format) = 0;
   7422 
   7423     virtual HRESULT STDMETHODCALLTYPE put_burnFormat(
   7424         WMPBurnFormat format) = 0;
   7425 
   7426     virtual HRESULT STDMETHODCALLTYPE get_burnPlaylist(
   7427         IWMPPlaylist **playlist) = 0;
   7428 
   7429     virtual HRESULT STDMETHODCALLTYPE put_burnPlaylist(
   7430         IWMPPlaylist *playlist) = 0;
   7431 
   7432     virtual HRESULT STDMETHODCALLTYPE refreshStatus(
   7433         ) = 0;
   7434 
   7435     virtual HRESULT STDMETHODCALLTYPE get_burnState(
   7436         WMPBurnState *state) = 0;
   7437 
   7438     virtual HRESULT STDMETHODCALLTYPE get_burnProgress(
   7439         LONG *progress) = 0;
   7440 
   7441     virtual HRESULT STDMETHODCALLTYPE startBurn(
   7442         ) = 0;
   7443 
   7444     virtual HRESULT STDMETHODCALLTYPE stopBurn(
   7445         ) = 0;
   7446 
   7447     virtual HRESULT STDMETHODCALLTYPE erase(
   7448         ) = 0;
   7449 
   7450 };
   7451 #ifdef __CRT_UUID_DECL
   7452 __CRT_UUID_DECL(IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59)
   7453 #endif
   7454 #else
   7455 typedef struct IWMPCdromBurnVtbl {
   7456     BEGIN_INTERFACE
   7457 
   7458     /*** IUnknown methods ***/
   7459     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7460         IWMPCdromBurn *This,
   7461         REFIID riid,
   7462         void **ppvObject);
   7463 
   7464     ULONG (STDMETHODCALLTYPE *AddRef)(
   7465         IWMPCdromBurn *This);
   7466 
   7467     ULONG (STDMETHODCALLTYPE *Release)(
   7468         IWMPCdromBurn *This);
   7469 
   7470     /*** IWMPCdromBurn methods ***/
   7471     HRESULT (STDMETHODCALLTYPE *isAvailable)(
   7472         IWMPCdromBurn *This,
   7473         BSTR item,
   7474         VARIANT_BOOL *available);
   7475 
   7476     HRESULT (STDMETHODCALLTYPE *getItemInfo)(
   7477         IWMPCdromBurn *This,
   7478         BSTR item,
   7479         BSTR *val);
   7480 
   7481     HRESULT (STDMETHODCALLTYPE *get_label)(
   7482         IWMPCdromBurn *This,
   7483         BSTR *label);
   7484 
   7485     HRESULT (STDMETHODCALLTYPE *put_label)(
   7486         IWMPCdromBurn *This,
   7487         BSTR label);
   7488 
   7489     HRESULT (STDMETHODCALLTYPE *get_burnFormat)(
   7490         IWMPCdromBurn *This,
   7491         WMPBurnFormat *format);
   7492 
   7493     HRESULT (STDMETHODCALLTYPE *put_burnFormat)(
   7494         IWMPCdromBurn *This,
   7495         WMPBurnFormat format);
   7496 
   7497     HRESULT (STDMETHODCALLTYPE *get_burnPlaylist)(
   7498         IWMPCdromBurn *This,
   7499         IWMPPlaylist **playlist);
   7500 
   7501     HRESULT (STDMETHODCALLTYPE *put_burnPlaylist)(
   7502         IWMPCdromBurn *This,
   7503         IWMPPlaylist *playlist);
   7504 
   7505     HRESULT (STDMETHODCALLTYPE *refreshStatus)(
   7506         IWMPCdromBurn *This);
   7507 
   7508     HRESULT (STDMETHODCALLTYPE *get_burnState)(
   7509         IWMPCdromBurn *This,
   7510         WMPBurnState *state);
   7511 
   7512     HRESULT (STDMETHODCALLTYPE *get_burnProgress)(
   7513         IWMPCdromBurn *This,
   7514         LONG *progress);
   7515 
   7516     HRESULT (STDMETHODCALLTYPE *startBurn)(
   7517         IWMPCdromBurn *This);
   7518 
   7519     HRESULT (STDMETHODCALLTYPE *stopBurn)(
   7520         IWMPCdromBurn *This);
   7521 
   7522     HRESULT (STDMETHODCALLTYPE *erase)(
   7523         IWMPCdromBurn *This);
   7524 
   7525     END_INTERFACE
   7526 } IWMPCdromBurnVtbl;
   7527 
   7528 interface IWMPCdromBurn {
   7529     CONST_VTBL IWMPCdromBurnVtbl* lpVtbl;
   7530 };
   7531 
   7532 #ifdef COBJMACROS
   7533 #ifndef WIDL_C_INLINE_WRAPPERS
   7534 /*** IUnknown methods ***/
   7535 #define IWMPCdromBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7536 #define IWMPCdromBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
   7537 #define IWMPCdromBurn_Release(This) (This)->lpVtbl->Release(This)
   7538 /*** IWMPCdromBurn methods ***/
   7539 #define IWMPCdromBurn_isAvailable(This,item,available) (This)->lpVtbl->isAvailable(This,item,available)
   7540 #define IWMPCdromBurn_getItemInfo(This,item,val) (This)->lpVtbl->getItemInfo(This,item,val)
   7541 #define IWMPCdromBurn_get_label(This,label) (This)->lpVtbl->get_label(This,label)
   7542 #define IWMPCdromBurn_put_label(This,label) (This)->lpVtbl->put_label(This,label)
   7543 #define IWMPCdromBurn_get_burnFormat(This,format) (This)->lpVtbl->get_burnFormat(This,format)
   7544 #define IWMPCdromBurn_put_burnFormat(This,format) (This)->lpVtbl->put_burnFormat(This,format)
   7545 #define IWMPCdromBurn_get_burnPlaylist(This,playlist) (This)->lpVtbl->get_burnPlaylist(This,playlist)
   7546 #define IWMPCdromBurn_put_burnPlaylist(This,playlist) (This)->lpVtbl->put_burnPlaylist(This,playlist)
   7547 #define IWMPCdromBurn_refreshStatus(This) (This)->lpVtbl->refreshStatus(This)
   7548 #define IWMPCdromBurn_get_burnState(This,state) (This)->lpVtbl->get_burnState(This,state)
   7549 #define IWMPCdromBurn_get_burnProgress(This,progress) (This)->lpVtbl->get_burnProgress(This,progress)
   7550 #define IWMPCdromBurn_startBurn(This) (This)->lpVtbl->startBurn(This)
   7551 #define IWMPCdromBurn_stopBurn(This) (This)->lpVtbl->stopBurn(This)
   7552 #define IWMPCdromBurn_erase(This) (This)->lpVtbl->erase(This)
   7553 #else
   7554 /*** IUnknown methods ***/
   7555 static inline HRESULT IWMPCdromBurn_QueryInterface(IWMPCdromBurn* This,REFIID riid,void **ppvObject) {
   7556     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7557 }
   7558 static inline ULONG IWMPCdromBurn_AddRef(IWMPCdromBurn* This) {
   7559     return This->lpVtbl->AddRef(This);
   7560 }
   7561 static inline ULONG IWMPCdromBurn_Release(IWMPCdromBurn* This) {
   7562     return This->lpVtbl->Release(This);
   7563 }
   7564 /*** IWMPCdromBurn methods ***/
   7565 static inline HRESULT IWMPCdromBurn_isAvailable(IWMPCdromBurn* This,BSTR item,VARIANT_BOOL *available) {
   7566     return This->lpVtbl->isAvailable(This,item,available);
   7567 }
   7568 static inline HRESULT IWMPCdromBurn_getItemInfo(IWMPCdromBurn* This,BSTR item,BSTR *val) {
   7569     return This->lpVtbl->getItemInfo(This,item,val);
   7570 }
   7571 static inline HRESULT IWMPCdromBurn_get_label(IWMPCdromBurn* This,BSTR *label) {
   7572     return This->lpVtbl->get_label(This,label);
   7573 }
   7574 static inline HRESULT IWMPCdromBurn_put_label(IWMPCdromBurn* This,BSTR label) {
   7575     return This->lpVtbl->put_label(This,label);
   7576 }
   7577 static inline HRESULT IWMPCdromBurn_get_burnFormat(IWMPCdromBurn* This,WMPBurnFormat *format) {
   7578     return This->lpVtbl->get_burnFormat(This,format);
   7579 }
   7580 static inline HRESULT IWMPCdromBurn_put_burnFormat(IWMPCdromBurn* This,WMPBurnFormat format) {
   7581     return This->lpVtbl->put_burnFormat(This,format);
   7582 }
   7583 static inline HRESULT IWMPCdromBurn_get_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist **playlist) {
   7584     return This->lpVtbl->get_burnPlaylist(This,playlist);
   7585 }
   7586 static inline HRESULT IWMPCdromBurn_put_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist *playlist) {
   7587     return This->lpVtbl->put_burnPlaylist(This,playlist);
   7588 }
   7589 static inline HRESULT IWMPCdromBurn_refreshStatus(IWMPCdromBurn* This) {
   7590     return This->lpVtbl->refreshStatus(This);
   7591 }
   7592 static inline HRESULT IWMPCdromBurn_get_burnState(IWMPCdromBurn* This,WMPBurnState *state) {
   7593     return This->lpVtbl->get_burnState(This,state);
   7594 }
   7595 static inline HRESULT IWMPCdromBurn_get_burnProgress(IWMPCdromBurn* This,LONG *progress) {
   7596     return This->lpVtbl->get_burnProgress(This,progress);
   7597 }
   7598 static inline HRESULT IWMPCdromBurn_startBurn(IWMPCdromBurn* This) {
   7599     return This->lpVtbl->startBurn(This);
   7600 }
   7601 static inline HRESULT IWMPCdromBurn_stopBurn(IWMPCdromBurn* This) {
   7602     return This->lpVtbl->stopBurn(This);
   7603 }
   7604 static inline HRESULT IWMPCdromBurn_erase(IWMPCdromBurn* This) {
   7605     return This->lpVtbl->erase(This);
   7606 }
   7607 #endif
   7608 #endif
   7609 
   7610 #endif
   7611 
   7612 
   7613 #endif  /* __IWMPCdromBurn_INTERFACE_DEFINED__ */
   7614 
   7615 /*****************************************************************************
   7616  * IWMPLibrary interface
   7617  */
   7618 #ifndef __IWMPLibrary_INTERFACE_DEFINED__
   7619 #define __IWMPLibrary_INTERFACE_DEFINED__
   7620 
   7621 DEFINE_GUID(IID_IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6);
   7622 #if defined(__cplusplus) && !defined(CINTERFACE)
   7623 MIDL_INTERFACE("3df47861-7df1-4c1f-a81b-4c26f0f7a7c6")
   7624 IWMPLibrary : public IUnknown
   7625 {
   7626     virtual HRESULT STDMETHODCALLTYPE get_name(
   7627         BSTR *name) = 0;
   7628 
   7629     virtual HRESULT STDMETHODCALLTYPE get_type(
   7630         WMPLibraryType *type) = 0;
   7631 
   7632     virtual HRESULT STDMETHODCALLTYPE get_mediaCollection(
   7633         IWMPMediaCollection **collection) = 0;
   7634 
   7635     virtual HRESULT STDMETHODCALLTYPE isIdentical(
   7636         IWMPLibrary *wmplibrary,
   7637         VARIANT_BOOL *ret) = 0;
   7638 
   7639 };
   7640 #ifdef __CRT_UUID_DECL
   7641 __CRT_UUID_DECL(IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6)
   7642 #endif
   7643 #else
   7644 typedef struct IWMPLibraryVtbl {
   7645     BEGIN_INTERFACE
   7646 
   7647     /*** IUnknown methods ***/
   7648     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7649         IWMPLibrary *This,
   7650         REFIID riid,
   7651         void **ppvObject);
   7652 
   7653     ULONG (STDMETHODCALLTYPE *AddRef)(
   7654         IWMPLibrary *This);
   7655 
   7656     ULONG (STDMETHODCALLTYPE *Release)(
   7657         IWMPLibrary *This);
   7658 
   7659     /*** IWMPLibrary methods ***/
   7660     HRESULT (STDMETHODCALLTYPE *get_name)(
   7661         IWMPLibrary *This,
   7662         BSTR *name);
   7663 
   7664     HRESULT (STDMETHODCALLTYPE *get_type)(
   7665         IWMPLibrary *This,
   7666         WMPLibraryType *type);
   7667 
   7668     HRESULT (STDMETHODCALLTYPE *get_mediaCollection)(
   7669         IWMPLibrary *This,
   7670         IWMPMediaCollection **collection);
   7671 
   7672     HRESULT (STDMETHODCALLTYPE *isIdentical)(
   7673         IWMPLibrary *This,
   7674         IWMPLibrary *wmplibrary,
   7675         VARIANT_BOOL *ret);
   7676 
   7677     END_INTERFACE
   7678 } IWMPLibraryVtbl;
   7679 
   7680 interface IWMPLibrary {
   7681     CONST_VTBL IWMPLibraryVtbl* lpVtbl;
   7682 };
   7683 
   7684 #ifdef COBJMACROS
   7685 #ifndef WIDL_C_INLINE_WRAPPERS
   7686 /*** IUnknown methods ***/
   7687 #define IWMPLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7688 #define IWMPLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
   7689 #define IWMPLibrary_Release(This) (This)->lpVtbl->Release(This)
   7690 /*** IWMPLibrary methods ***/
   7691 #define IWMPLibrary_get_name(This,name) (This)->lpVtbl->get_name(This,name)
   7692 #define IWMPLibrary_get_type(This,type) (This)->lpVtbl->get_type(This,type)
   7693 #define IWMPLibrary_get_mediaCollection(This,collection) (This)->lpVtbl->get_mediaCollection(This,collection)
   7694 #define IWMPLibrary_isIdentical(This,wmplibrary,ret) (This)->lpVtbl->isIdentical(This,wmplibrary,ret)
   7695 #else
   7696 /*** IUnknown methods ***/
   7697 static inline HRESULT IWMPLibrary_QueryInterface(IWMPLibrary* This,REFIID riid,void **ppvObject) {
   7698     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7699 }
   7700 static inline ULONG IWMPLibrary_AddRef(IWMPLibrary* This) {
   7701     return This->lpVtbl->AddRef(This);
   7702 }
   7703 static inline ULONG IWMPLibrary_Release(IWMPLibrary* This) {
   7704     return This->lpVtbl->Release(This);
   7705 }
   7706 /*** IWMPLibrary methods ***/
   7707 static inline HRESULT IWMPLibrary_get_name(IWMPLibrary* This,BSTR *name) {
   7708     return This->lpVtbl->get_name(This,name);
   7709 }
   7710 static inline HRESULT IWMPLibrary_get_type(IWMPLibrary* This,WMPLibraryType *type) {
   7711     return This->lpVtbl->get_type(This,type);
   7712 }
   7713 static inline HRESULT IWMPLibrary_get_mediaCollection(IWMPLibrary* This,IWMPMediaCollection **collection) {
   7714     return This->lpVtbl->get_mediaCollection(This,collection);
   7715 }
   7716 static inline HRESULT IWMPLibrary_isIdentical(IWMPLibrary* This,IWMPLibrary *wmplibrary,VARIANT_BOOL *ret) {
   7717     return This->lpVtbl->isIdentical(This,wmplibrary,ret);
   7718 }
   7719 #endif
   7720 #endif
   7721 
   7722 #endif
   7723 
   7724 
   7725 #endif  /* __IWMPLibrary_INTERFACE_DEFINED__ */
   7726 
   7727 /*****************************************************************************
   7728  * IWMPEvents interface
   7729  */
   7730 #ifndef __IWMPEvents_INTERFACE_DEFINED__
   7731 #define __IWMPEvents_INTERFACE_DEFINED__
   7732 
   7733 DEFINE_GUID(IID_IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a);
   7734 #if defined(__cplusplus) && !defined(CINTERFACE)
   7735 MIDL_INTERFACE("19a6627b-da9e-47c1-bb23-00b5e668236a")
   7736 IWMPEvents : public IUnknown
   7737 {
   7738     virtual void STDMETHODCALLTYPE OpenStateChange(
   7739         LONG state) = 0;
   7740 
   7741     virtual void STDMETHODCALLTYPE PlayStateChange(
   7742         LONG state) = 0;
   7743 
   7744     virtual void STDMETHODCALLTYPE AudioLanguageChange(
   7745         LONG lang) = 0;
   7746 
   7747     virtual void STDMETHODCALLTYPE StatusChange(
   7748         ) = 0;
   7749 
   7750     virtual void STDMETHODCALLTYPE ScriptCommand(
   7751         BSTR type,
   7752         BSTR param) = 0;
   7753 
   7754     virtual void STDMETHODCALLTYPE NewStream(
   7755         ) = 0;
   7756 
   7757     virtual void STDMETHODCALLTYPE Disconnect(
   7758         LONG result) = 0;
   7759 
   7760     virtual void STDMETHODCALLTYPE Buffering(
   7761         VARIANT_BOOL start) = 0;
   7762 
   7763     virtual void STDMETHODCALLTYPE Error(
   7764         ) = 0;
   7765 
   7766     virtual void STDMETHODCALLTYPE Warning(
   7767         LONG warning,
   7768         LONG param,
   7769         BSTR description) = 0;
   7770 
   7771     virtual void STDMETHODCALLTYPE EndOfStream(
   7772         LONG result) = 0;
   7773 
   7774     virtual void STDMETHODCALLTYPE PositionChange(
   7775         double old_position,
   7776         double new_position) = 0;
   7777 
   7778     virtual void STDMETHODCALLTYPE MarkerHit(
   7779         LONG marker) = 0;
   7780 
   7781     virtual void STDMETHODCALLTYPE DurationUnitChange(
   7782         LONG duration) = 0;
   7783 
   7784     virtual void STDMETHODCALLTYPE CdromMediaChange(
   7785         LONG num) = 0;
   7786 
   7787     virtual void STDMETHODCALLTYPE PlaylistChange(
   7788         IDispatch *playlist,
   7789         WMPPlaylistChangeEventType change) = 0;
   7790 
   7791     virtual void STDMETHODCALLTYPE CurrentPlaylistChange(
   7792         WMPPlaylistChangeEventType change) = 0;
   7793 
   7794     virtual void STDMETHODCALLTYPE CurrentPlaylistItemAvailable(
   7795         BSTR item) = 0;
   7796 
   7797     virtual void STDMETHODCALLTYPE MediaChange(
   7798         IDispatch *item) = 0;
   7799 
   7800     virtual void STDMETHODCALLTYPE CurrentMediaItemAvailable(
   7801         BSTR name) = 0;
   7802 
   7803     virtual void STDMETHODCALLTYPE CurrentItemChange(
   7804         IDispatch *media) = 0;
   7805 
   7806     virtual void STDMETHODCALLTYPE MediaCollectionChange(
   7807         ) = 0;
   7808 
   7809     virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded(
   7810         BSTR name,
   7811         BSTR val) = 0;
   7812 
   7813     virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved(
   7814         BSTR name,
   7815         BSTR val) = 0;
   7816 
   7817     virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged(
   7818         BSTR name,
   7819         BSTR old_val,
   7820         BSTR new_val) = 0;
   7821 
   7822     virtual void STDMETHODCALLTYPE PlaylistCollectionChange(
   7823         ) = 0;
   7824 
   7825     virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded(
   7826         BSTR name) = 0;
   7827 
   7828     virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved(
   7829         BSTR name) = 0;
   7830 
   7831     virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted(
   7832         BSTR name,
   7833         VARIANT_BOOL deleted) = 0;
   7834 
   7835     virtual void STDMETHODCALLTYPE ModeChange(
   7836         BSTR ModeName,
   7837         VARIANT_BOOL value) = 0;
   7838 
   7839     virtual void STDMETHODCALLTYPE MediaError(
   7840         IDispatch *media) = 0;
   7841 
   7842     virtual void STDMETHODCALLTYPE OpenPlaylistSwitch(
   7843         IDispatch *item) = 0;
   7844 
   7845     virtual void STDMETHODCALLTYPE DomainChange(
   7846         BSTR domain) = 0;
   7847 
   7848     virtual void STDMETHODCALLTYPE SwitchedToPlayerApplication(
   7849         ) = 0;
   7850 
   7851     virtual void STDMETHODCALLTYPE SwitchedToControl(
   7852         ) = 0;
   7853 
   7854     virtual void STDMETHODCALLTYPE PlayerDockedStateChange(
   7855         ) = 0;
   7856 
   7857     virtual void STDMETHODCALLTYPE PlayerReconnect(
   7858         ) = 0;
   7859 
   7860     virtual void STDMETHODCALLTYPE Click(
   7861         short button,
   7862         short shift_state,
   7863         LONG x,
   7864         LONG y) = 0;
   7865 
   7866     virtual void STDMETHODCALLTYPE DoubleClick(
   7867         short button,
   7868         short shift_state,
   7869         LONG fX,
   7870         LONG fY) = 0;
   7871 
   7872     virtual void STDMETHODCALLTYPE KeyDown(
   7873         short keycode,
   7874         short shift_state) = 0;
   7875 
   7876     virtual void STDMETHODCALLTYPE KeyPress(
   7877         short ascii) = 0;
   7878 
   7879     virtual void STDMETHODCALLTYPE KeyUp(
   7880         short keycode,
   7881         short shift_state) = 0;
   7882 
   7883     virtual void STDMETHODCALLTYPE MouseDown(
   7884         short button,
   7885         short nShiftState,
   7886         LONG x,
   7887         LONG y) = 0;
   7888 
   7889     virtual void STDMETHODCALLTYPE MouseMove(
   7890         short button,
   7891         short shift_state,
   7892         LONG x,
   7893         LONG y) = 0;
   7894 
   7895     virtual void STDMETHODCALLTYPE MouseUp(
   7896         short button,
   7897         short shift_state,
   7898         LONG x,
   7899         LONG y) = 0;
   7900 
   7901 };
   7902 #ifdef __CRT_UUID_DECL
   7903 __CRT_UUID_DECL(IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a)
   7904 #endif
   7905 #else
   7906 typedef struct IWMPEventsVtbl {
   7907     BEGIN_INTERFACE
   7908 
   7909     /*** IUnknown methods ***/
   7910     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7911         IWMPEvents *This,
   7912         REFIID riid,
   7913         void **ppvObject);
   7914 
   7915     ULONG (STDMETHODCALLTYPE *AddRef)(
   7916         IWMPEvents *This);
   7917 
   7918     ULONG (STDMETHODCALLTYPE *Release)(
   7919         IWMPEvents *This);
   7920 
   7921     /*** IWMPEvents methods ***/
   7922     void (STDMETHODCALLTYPE *OpenStateChange)(
   7923         IWMPEvents *This,
   7924         LONG state);
   7925 
   7926     void (STDMETHODCALLTYPE *PlayStateChange)(
   7927         IWMPEvents *This,
   7928         LONG state);
   7929 
   7930     void (STDMETHODCALLTYPE *AudioLanguageChange)(
   7931         IWMPEvents *This,
   7932         LONG lang);
   7933 
   7934     void (STDMETHODCALLTYPE *StatusChange)(
   7935         IWMPEvents *This);
   7936 
   7937     void (STDMETHODCALLTYPE *ScriptCommand)(
   7938         IWMPEvents *This,
   7939         BSTR type,
   7940         BSTR param);
   7941 
   7942     void (STDMETHODCALLTYPE *NewStream)(
   7943         IWMPEvents *This);
   7944 
   7945     void (STDMETHODCALLTYPE *Disconnect)(
   7946         IWMPEvents *This,
   7947         LONG result);
   7948 
   7949     void (STDMETHODCALLTYPE *Buffering)(
   7950         IWMPEvents *This,
   7951         VARIANT_BOOL start);
   7952 
   7953     void (STDMETHODCALLTYPE *Error)(
   7954         IWMPEvents *This);
   7955 
   7956     void (STDMETHODCALLTYPE *Warning)(
   7957         IWMPEvents *This,
   7958         LONG warning,
   7959         LONG param,
   7960         BSTR description);
   7961 
   7962     void (STDMETHODCALLTYPE *EndOfStream)(
   7963         IWMPEvents *This,
   7964         LONG result);
   7965 
   7966     void (STDMETHODCALLTYPE *PositionChange)(
   7967         IWMPEvents *This,
   7968         double old_position,
   7969         double new_position);
   7970 
   7971     void (STDMETHODCALLTYPE *MarkerHit)(
   7972         IWMPEvents *This,
   7973         LONG marker);
   7974 
   7975     void (STDMETHODCALLTYPE *DurationUnitChange)(
   7976         IWMPEvents *This,
   7977         LONG duration);
   7978 
   7979     void (STDMETHODCALLTYPE *CdromMediaChange)(
   7980         IWMPEvents *This,
   7981         LONG num);
   7982 
   7983     void (STDMETHODCALLTYPE *PlaylistChange)(
   7984         IWMPEvents *This,
   7985         IDispatch *playlist,
   7986         WMPPlaylistChangeEventType change);
   7987 
   7988     void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
   7989         IWMPEvents *This,
   7990         WMPPlaylistChangeEventType change);
   7991 
   7992     void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
   7993         IWMPEvents *This,
   7994         BSTR item);
   7995 
   7996     void (STDMETHODCALLTYPE *MediaChange)(
   7997         IWMPEvents *This,
   7998         IDispatch *item);
   7999 
   8000     void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
   8001         IWMPEvents *This,
   8002         BSTR name);
   8003 
   8004     void (STDMETHODCALLTYPE *CurrentItemChange)(
   8005         IWMPEvents *This,
   8006         IDispatch *media);
   8007 
   8008     void (STDMETHODCALLTYPE *MediaCollectionChange)(
   8009         IWMPEvents *This);
   8010 
   8011     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
   8012         IWMPEvents *This,
   8013         BSTR name,
   8014         BSTR val);
   8015 
   8016     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
   8017         IWMPEvents *This,
   8018         BSTR name,
   8019         BSTR val);
   8020 
   8021     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
   8022         IWMPEvents *This,
   8023         BSTR name,
   8024         BSTR old_val,
   8025         BSTR new_val);
   8026 
   8027     void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
   8028         IWMPEvents *This);
   8029 
   8030     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
   8031         IWMPEvents *This,
   8032         BSTR name);
   8033 
   8034     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
   8035         IWMPEvents *This,
   8036         BSTR name);
   8037 
   8038     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
   8039         IWMPEvents *This,
   8040         BSTR name,
   8041         VARIANT_BOOL deleted);
   8042 
   8043     void (STDMETHODCALLTYPE *ModeChange)(
   8044         IWMPEvents *This,
   8045         BSTR ModeName,
   8046         VARIANT_BOOL value);
   8047 
   8048     void (STDMETHODCALLTYPE *MediaError)(
   8049         IWMPEvents *This,
   8050         IDispatch *media);
   8051 
   8052     void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
   8053         IWMPEvents *This,
   8054         IDispatch *item);
   8055 
   8056     void (STDMETHODCALLTYPE *DomainChange)(
   8057         IWMPEvents *This,
   8058         BSTR domain);
   8059 
   8060     void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
   8061         IWMPEvents *This);
   8062 
   8063     void (STDMETHODCALLTYPE *SwitchedToControl)(
   8064         IWMPEvents *This);
   8065 
   8066     void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
   8067         IWMPEvents *This);
   8068 
   8069     void (STDMETHODCALLTYPE *PlayerReconnect)(
   8070         IWMPEvents *This);
   8071 
   8072     void (STDMETHODCALLTYPE *Click)(
   8073         IWMPEvents *This,
   8074         short button,
   8075         short shift_state,
   8076         LONG x,
   8077         LONG y);
   8078 
   8079     void (STDMETHODCALLTYPE *DoubleClick)(
   8080         IWMPEvents *This,
   8081         short button,
   8082         short shift_state,
   8083         LONG fX,
   8084         LONG fY);
   8085 
   8086     void (STDMETHODCALLTYPE *KeyDown)(
   8087         IWMPEvents *This,
   8088         short keycode,
   8089         short shift_state);
   8090 
   8091     void (STDMETHODCALLTYPE *KeyPress)(
   8092         IWMPEvents *This,
   8093         short ascii);
   8094 
   8095     void (STDMETHODCALLTYPE *KeyUp)(
   8096         IWMPEvents *This,
   8097         short keycode,
   8098         short shift_state);
   8099 
   8100     void (STDMETHODCALLTYPE *MouseDown)(
   8101         IWMPEvents *This,
   8102         short button,
   8103         short nShiftState,
   8104         LONG x,
   8105         LONG y);
   8106 
   8107     void (STDMETHODCALLTYPE *MouseMove)(
   8108         IWMPEvents *This,
   8109         short button,
   8110         short shift_state,
   8111         LONG x,
   8112         LONG y);
   8113 
   8114     void (STDMETHODCALLTYPE *MouseUp)(
   8115         IWMPEvents *This,
   8116         short button,
   8117         short shift_state,
   8118         LONG x,
   8119         LONG y);
   8120 
   8121     END_INTERFACE
   8122 } IWMPEventsVtbl;
   8123 
   8124 interface IWMPEvents {
   8125     CONST_VTBL IWMPEventsVtbl* lpVtbl;
   8126 };
   8127 
   8128 #ifdef COBJMACROS
   8129 #ifndef WIDL_C_INLINE_WRAPPERS
   8130 /*** IUnknown methods ***/
   8131 #define IWMPEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8132 #define IWMPEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   8133 #define IWMPEvents_Release(This) (This)->lpVtbl->Release(This)
   8134 /*** IWMPEvents methods ***/
   8135 #define IWMPEvents_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
   8136 #define IWMPEvents_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
   8137 #define IWMPEvents_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
   8138 #define IWMPEvents_StatusChange(This) (This)->lpVtbl->StatusChange(This)
   8139 #define IWMPEvents_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
   8140 #define IWMPEvents_NewStream(This) (This)->lpVtbl->NewStream(This)
   8141 #define IWMPEvents_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
   8142 #define IWMPEvents_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
   8143 #define IWMPEvents_Error(This) (This)->lpVtbl->Error(This)
   8144 #define IWMPEvents_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
   8145 #define IWMPEvents_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
   8146 #define IWMPEvents_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
   8147 #define IWMPEvents_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
   8148 #define IWMPEvents_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
   8149 #define IWMPEvents_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
   8150 #define IWMPEvents_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
   8151 #define IWMPEvents_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
   8152 #define IWMPEvents_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
   8153 #define IWMPEvents_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
   8154 #define IWMPEvents_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
   8155 #define IWMPEvents_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
   8156 #define IWMPEvents_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
   8157 #define IWMPEvents_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
   8158 #define IWMPEvents_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
   8159 #define IWMPEvents_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
   8160 #define IWMPEvents_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
   8161 #define IWMPEvents_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
   8162 #define IWMPEvents_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
   8163 #define IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
   8164 #define IWMPEvents_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
   8165 #define IWMPEvents_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
   8166 #define IWMPEvents_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
   8167 #define IWMPEvents_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
   8168 #define IWMPEvents_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
   8169 #define IWMPEvents_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
   8170 #define IWMPEvents_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
   8171 #define IWMPEvents_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
   8172 #define IWMPEvents_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
   8173 #define IWMPEvents_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
   8174 #define IWMPEvents_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
   8175 #define IWMPEvents_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
   8176 #define IWMPEvents_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
   8177 #define IWMPEvents_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
   8178 #define IWMPEvents_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
   8179 #define IWMPEvents_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
   8180 #else
   8181 /*** IUnknown methods ***/
   8182 static inline HRESULT IWMPEvents_QueryInterface(IWMPEvents* This,REFIID riid,void **ppvObject) {
   8183     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8184 }
   8185 static inline ULONG IWMPEvents_AddRef(IWMPEvents* This) {
   8186     return This->lpVtbl->AddRef(This);
   8187 }
   8188 static inline ULONG IWMPEvents_Release(IWMPEvents* This) {
   8189     return This->lpVtbl->Release(This);
   8190 }
   8191 /*** IWMPEvents methods ***/
   8192 static inline void IWMPEvents_OpenStateChange(IWMPEvents* This,LONG state) {
   8193     This->lpVtbl->OpenStateChange(This,state);
   8194 }
   8195 static inline void IWMPEvents_PlayStateChange(IWMPEvents* This,LONG state) {
   8196     This->lpVtbl->PlayStateChange(This,state);
   8197 }
   8198 static inline void IWMPEvents_AudioLanguageChange(IWMPEvents* This,LONG lang) {
   8199     This->lpVtbl->AudioLanguageChange(This,lang);
   8200 }
   8201 static inline void IWMPEvents_StatusChange(IWMPEvents* This) {
   8202     This->lpVtbl->StatusChange(This);
   8203 }
   8204 static inline void IWMPEvents_ScriptCommand(IWMPEvents* This,BSTR type,BSTR param) {
   8205     This->lpVtbl->ScriptCommand(This,type,param);
   8206 }
   8207 static inline void IWMPEvents_NewStream(IWMPEvents* This) {
   8208     This->lpVtbl->NewStream(This);
   8209 }
   8210 static inline void IWMPEvents_Disconnect(IWMPEvents* This,LONG result) {
   8211     This->lpVtbl->Disconnect(This,result);
   8212 }
   8213 static inline void IWMPEvents_Buffering(IWMPEvents* This,VARIANT_BOOL start) {
   8214     This->lpVtbl->Buffering(This,start);
   8215 }
   8216 static inline void IWMPEvents_Error(IWMPEvents* This) {
   8217     This->lpVtbl->Error(This);
   8218 }
   8219 static inline void IWMPEvents_Warning(IWMPEvents* This,LONG warning,LONG param,BSTR description) {
   8220     This->lpVtbl->Warning(This,warning,param,description);
   8221 }
   8222 static inline void IWMPEvents_EndOfStream(IWMPEvents* This,LONG result) {
   8223     This->lpVtbl->EndOfStream(This,result);
   8224 }
   8225 static inline void IWMPEvents_PositionChange(IWMPEvents* This,double old_position,double new_position) {
   8226     This->lpVtbl->PositionChange(This,old_position,new_position);
   8227 }
   8228 static inline void IWMPEvents_MarkerHit(IWMPEvents* This,LONG marker) {
   8229     This->lpVtbl->MarkerHit(This,marker);
   8230 }
   8231 static inline void IWMPEvents_DurationUnitChange(IWMPEvents* This,LONG duration) {
   8232     This->lpVtbl->DurationUnitChange(This,duration);
   8233 }
   8234 static inline void IWMPEvents_CdromMediaChange(IWMPEvents* This,LONG num) {
   8235     This->lpVtbl->CdromMediaChange(This,num);
   8236 }
   8237 static inline void IWMPEvents_PlaylistChange(IWMPEvents* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
   8238     This->lpVtbl->PlaylistChange(This,playlist,change);
   8239 }
   8240 static inline void IWMPEvents_CurrentPlaylistChange(IWMPEvents* This,WMPPlaylistChangeEventType change) {
   8241     This->lpVtbl->CurrentPlaylistChange(This,change);
   8242 }
   8243 static inline void IWMPEvents_CurrentPlaylistItemAvailable(IWMPEvents* This,BSTR item) {
   8244     This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
   8245 }
   8246 static inline void IWMPEvents_MediaChange(IWMPEvents* This,IDispatch *item) {
   8247     This->lpVtbl->MediaChange(This,item);
   8248 }
   8249 static inline void IWMPEvents_CurrentMediaItemAvailable(IWMPEvents* This,BSTR name) {
   8250     This->lpVtbl->CurrentMediaItemAvailable(This,name);
   8251 }
   8252 static inline void IWMPEvents_CurrentItemChange(IWMPEvents* This,IDispatch *media) {
   8253     This->lpVtbl->CurrentItemChange(This,media);
   8254 }
   8255 static inline void IWMPEvents_MediaCollectionChange(IWMPEvents* This) {
   8256     This->lpVtbl->MediaCollectionChange(This);
   8257 }
   8258 static inline void IWMPEvents_MediaCollectionAttributeStringAdded(IWMPEvents* This,BSTR name,BSTR val) {
   8259     This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
   8260 }
   8261 static inline void IWMPEvents_MediaCollectionAttributeStringRemoved(IWMPEvents* This,BSTR name,BSTR val) {
   8262     This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
   8263 }
   8264 static inline void IWMPEvents_MediaCollectionAttributeStringChanged(IWMPEvents* This,BSTR name,BSTR old_val,BSTR new_val) {
   8265     This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
   8266 }
   8267 static inline void IWMPEvents_PlaylistCollectionChange(IWMPEvents* This) {
   8268     This->lpVtbl->PlaylistCollectionChange(This);
   8269 }
   8270 static inline void IWMPEvents_PlaylistCollectionPlaylistAdded(IWMPEvents* This,BSTR name) {
   8271     This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
   8272 }
   8273 static inline void IWMPEvents_PlaylistCollectionPlaylistRemoved(IWMPEvents* This,BSTR name) {
   8274     This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
   8275 }
   8276 static inline void IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents* This,BSTR name,VARIANT_BOOL deleted) {
   8277     This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
   8278 }
   8279 static inline void IWMPEvents_ModeChange(IWMPEvents* This,BSTR ModeName,VARIANT_BOOL value) {
   8280     This->lpVtbl->ModeChange(This,ModeName,value);
   8281 }
   8282 static inline void IWMPEvents_MediaError(IWMPEvents* This,IDispatch *media) {
   8283     This->lpVtbl->MediaError(This,media);
   8284 }
   8285 static inline void IWMPEvents_OpenPlaylistSwitch(IWMPEvents* This,IDispatch *item) {
   8286     This->lpVtbl->OpenPlaylistSwitch(This,item);
   8287 }
   8288 static inline void IWMPEvents_DomainChange(IWMPEvents* This,BSTR domain) {
   8289     This->lpVtbl->DomainChange(This,domain);
   8290 }
   8291 static inline void IWMPEvents_SwitchedToPlayerApplication(IWMPEvents* This) {
   8292     This->lpVtbl->SwitchedToPlayerApplication(This);
   8293 }
   8294 static inline void IWMPEvents_SwitchedToControl(IWMPEvents* This) {
   8295     This->lpVtbl->SwitchedToControl(This);
   8296 }
   8297 static inline void IWMPEvents_PlayerDockedStateChange(IWMPEvents* This) {
   8298     This->lpVtbl->PlayerDockedStateChange(This);
   8299 }
   8300 static inline void IWMPEvents_PlayerReconnect(IWMPEvents* This) {
   8301     This->lpVtbl->PlayerReconnect(This);
   8302 }
   8303 static inline void IWMPEvents_Click(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
   8304     This->lpVtbl->Click(This,button,shift_state,x,y);
   8305 }
   8306 static inline void IWMPEvents_DoubleClick(IWMPEvents* This,short button,short shift_state,LONG fX,LONG fY) {
   8307     This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
   8308 }
   8309 static inline void IWMPEvents_KeyDown(IWMPEvents* This,short keycode,short shift_state) {
   8310     This->lpVtbl->KeyDown(This,keycode,shift_state);
   8311 }
   8312 static inline void IWMPEvents_KeyPress(IWMPEvents* This,short ascii) {
   8313     This->lpVtbl->KeyPress(This,ascii);
   8314 }
   8315 static inline void IWMPEvents_KeyUp(IWMPEvents* This,short keycode,short shift_state) {
   8316     This->lpVtbl->KeyUp(This,keycode,shift_state);
   8317 }
   8318 static inline void IWMPEvents_MouseDown(IWMPEvents* This,short button,short nShiftState,LONG x,LONG y) {
   8319     This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
   8320 }
   8321 static inline void IWMPEvents_MouseMove(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
   8322     This->lpVtbl->MouseMove(This,button,shift_state,x,y);
   8323 }
   8324 static inline void IWMPEvents_MouseUp(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) {
   8325     This->lpVtbl->MouseUp(This,button,shift_state,x,y);
   8326 }
   8327 #endif
   8328 #endif
   8329 
   8330 #endif
   8331 
   8332 
   8333 #endif  /* __IWMPEvents_INTERFACE_DEFINED__ */
   8334 
   8335 /*****************************************************************************
   8336  * IWMPEvents2 interface
   8337  */
   8338 #ifndef __IWMPEvents2_INTERFACE_DEFINED__
   8339 #define __IWMPEvents2_INTERFACE_DEFINED__
   8340 
   8341 DEFINE_GUID(IID_IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff);
   8342 #if defined(__cplusplus) && !defined(CINTERFACE)
   8343 MIDL_INTERFACE("1e7601fa-47ea-4107-9ea9-9004ed9684ff")
   8344 IWMPEvents2 : public IWMPEvents
   8345 {
   8346     virtual void STDMETHODCALLTYPE DeviceConnect(
   8347         IWMPSyncDevice *device) = 0;
   8348 
   8349     virtual void STDMETHODCALLTYPE DeviceDisconnect(
   8350         IWMPSyncDevice *device) = 0;
   8351 
   8352     virtual void STDMETHODCALLTYPE DeviceStatusChange(
   8353         IWMPSyncDevice *device,
   8354         WMPDeviceStatus status) = 0;
   8355 
   8356     virtual void STDMETHODCALLTYPE DeviceSyncStateChange(
   8357         IWMPSyncDevice *device,
   8358         WMPSyncState state) = 0;
   8359 
   8360     virtual void STDMETHODCALLTYPE DeviceSyncError(
   8361         IWMPSyncDevice *device,
   8362         IDispatch *media) = 0;
   8363 
   8364     virtual void STDMETHODCALLTYPE CreatePartnershipComplete(
   8365         IWMPSyncDevice *device,
   8366         HRESULT result) = 0;
   8367 
   8368 };
   8369 #ifdef __CRT_UUID_DECL
   8370 __CRT_UUID_DECL(IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff)
   8371 #endif
   8372 #else
   8373 typedef struct IWMPEvents2Vtbl {
   8374     BEGIN_INTERFACE
   8375 
   8376     /*** IUnknown methods ***/
   8377     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8378         IWMPEvents2 *This,
   8379         REFIID riid,
   8380         void **ppvObject);
   8381 
   8382     ULONG (STDMETHODCALLTYPE *AddRef)(
   8383         IWMPEvents2 *This);
   8384 
   8385     ULONG (STDMETHODCALLTYPE *Release)(
   8386         IWMPEvents2 *This);
   8387 
   8388     /*** IWMPEvents methods ***/
   8389     void (STDMETHODCALLTYPE *OpenStateChange)(
   8390         IWMPEvents2 *This,
   8391         LONG state);
   8392 
   8393     void (STDMETHODCALLTYPE *PlayStateChange)(
   8394         IWMPEvents2 *This,
   8395         LONG state);
   8396 
   8397     void (STDMETHODCALLTYPE *AudioLanguageChange)(
   8398         IWMPEvents2 *This,
   8399         LONG lang);
   8400 
   8401     void (STDMETHODCALLTYPE *StatusChange)(
   8402         IWMPEvents2 *This);
   8403 
   8404     void (STDMETHODCALLTYPE *ScriptCommand)(
   8405         IWMPEvents2 *This,
   8406         BSTR type,
   8407         BSTR param);
   8408 
   8409     void (STDMETHODCALLTYPE *NewStream)(
   8410         IWMPEvents2 *This);
   8411 
   8412     void (STDMETHODCALLTYPE *Disconnect)(
   8413         IWMPEvents2 *This,
   8414         LONG result);
   8415 
   8416     void (STDMETHODCALLTYPE *Buffering)(
   8417         IWMPEvents2 *This,
   8418         VARIANT_BOOL start);
   8419 
   8420     void (STDMETHODCALLTYPE *Error)(
   8421         IWMPEvents2 *This);
   8422 
   8423     void (STDMETHODCALLTYPE *Warning)(
   8424         IWMPEvents2 *This,
   8425         LONG warning,
   8426         LONG param,
   8427         BSTR description);
   8428 
   8429     void (STDMETHODCALLTYPE *EndOfStream)(
   8430         IWMPEvents2 *This,
   8431         LONG result);
   8432 
   8433     void (STDMETHODCALLTYPE *PositionChange)(
   8434         IWMPEvents2 *This,
   8435         double old_position,
   8436         double new_position);
   8437 
   8438     void (STDMETHODCALLTYPE *MarkerHit)(
   8439         IWMPEvents2 *This,
   8440         LONG marker);
   8441 
   8442     void (STDMETHODCALLTYPE *DurationUnitChange)(
   8443         IWMPEvents2 *This,
   8444         LONG duration);
   8445 
   8446     void (STDMETHODCALLTYPE *CdromMediaChange)(
   8447         IWMPEvents2 *This,
   8448         LONG num);
   8449 
   8450     void (STDMETHODCALLTYPE *PlaylistChange)(
   8451         IWMPEvents2 *This,
   8452         IDispatch *playlist,
   8453         WMPPlaylistChangeEventType change);
   8454 
   8455     void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
   8456         IWMPEvents2 *This,
   8457         WMPPlaylistChangeEventType change);
   8458 
   8459     void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
   8460         IWMPEvents2 *This,
   8461         BSTR item);
   8462 
   8463     void (STDMETHODCALLTYPE *MediaChange)(
   8464         IWMPEvents2 *This,
   8465         IDispatch *item);
   8466 
   8467     void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
   8468         IWMPEvents2 *This,
   8469         BSTR name);
   8470 
   8471     void (STDMETHODCALLTYPE *CurrentItemChange)(
   8472         IWMPEvents2 *This,
   8473         IDispatch *media);
   8474 
   8475     void (STDMETHODCALLTYPE *MediaCollectionChange)(
   8476         IWMPEvents2 *This);
   8477 
   8478     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
   8479         IWMPEvents2 *This,
   8480         BSTR name,
   8481         BSTR val);
   8482 
   8483     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
   8484         IWMPEvents2 *This,
   8485         BSTR name,
   8486         BSTR val);
   8487 
   8488     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
   8489         IWMPEvents2 *This,
   8490         BSTR name,
   8491         BSTR old_val,
   8492         BSTR new_val);
   8493 
   8494     void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
   8495         IWMPEvents2 *This);
   8496 
   8497     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
   8498         IWMPEvents2 *This,
   8499         BSTR name);
   8500 
   8501     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
   8502         IWMPEvents2 *This,
   8503         BSTR name);
   8504 
   8505     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
   8506         IWMPEvents2 *This,
   8507         BSTR name,
   8508         VARIANT_BOOL deleted);
   8509 
   8510     void (STDMETHODCALLTYPE *ModeChange)(
   8511         IWMPEvents2 *This,
   8512         BSTR ModeName,
   8513         VARIANT_BOOL value);
   8514 
   8515     void (STDMETHODCALLTYPE *MediaError)(
   8516         IWMPEvents2 *This,
   8517         IDispatch *media);
   8518 
   8519     void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
   8520         IWMPEvents2 *This,
   8521         IDispatch *item);
   8522 
   8523     void (STDMETHODCALLTYPE *DomainChange)(
   8524         IWMPEvents2 *This,
   8525         BSTR domain);
   8526 
   8527     void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
   8528         IWMPEvents2 *This);
   8529 
   8530     void (STDMETHODCALLTYPE *SwitchedToControl)(
   8531         IWMPEvents2 *This);
   8532 
   8533     void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
   8534         IWMPEvents2 *This);
   8535 
   8536     void (STDMETHODCALLTYPE *PlayerReconnect)(
   8537         IWMPEvents2 *This);
   8538 
   8539     void (STDMETHODCALLTYPE *Click)(
   8540         IWMPEvents2 *This,
   8541         short button,
   8542         short shift_state,
   8543         LONG x,
   8544         LONG y);
   8545 
   8546     void (STDMETHODCALLTYPE *DoubleClick)(
   8547         IWMPEvents2 *This,
   8548         short button,
   8549         short shift_state,
   8550         LONG fX,
   8551         LONG fY);
   8552 
   8553     void (STDMETHODCALLTYPE *KeyDown)(
   8554         IWMPEvents2 *This,
   8555         short keycode,
   8556         short shift_state);
   8557 
   8558     void (STDMETHODCALLTYPE *KeyPress)(
   8559         IWMPEvents2 *This,
   8560         short ascii);
   8561 
   8562     void (STDMETHODCALLTYPE *KeyUp)(
   8563         IWMPEvents2 *This,
   8564         short keycode,
   8565         short shift_state);
   8566 
   8567     void (STDMETHODCALLTYPE *MouseDown)(
   8568         IWMPEvents2 *This,
   8569         short button,
   8570         short nShiftState,
   8571         LONG x,
   8572         LONG y);
   8573 
   8574     void (STDMETHODCALLTYPE *MouseMove)(
   8575         IWMPEvents2 *This,
   8576         short button,
   8577         short shift_state,
   8578         LONG x,
   8579         LONG y);
   8580 
   8581     void (STDMETHODCALLTYPE *MouseUp)(
   8582         IWMPEvents2 *This,
   8583         short button,
   8584         short shift_state,
   8585         LONG x,
   8586         LONG y);
   8587 
   8588     /*** IWMPEvents2 methods ***/
   8589     void (STDMETHODCALLTYPE *DeviceConnect)(
   8590         IWMPEvents2 *This,
   8591         IWMPSyncDevice *device);
   8592 
   8593     void (STDMETHODCALLTYPE *DeviceDisconnect)(
   8594         IWMPEvents2 *This,
   8595         IWMPSyncDevice *device);
   8596 
   8597     void (STDMETHODCALLTYPE *DeviceStatusChange)(
   8598         IWMPEvents2 *This,
   8599         IWMPSyncDevice *device,
   8600         WMPDeviceStatus status);
   8601 
   8602     void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
   8603         IWMPEvents2 *This,
   8604         IWMPSyncDevice *device,
   8605         WMPSyncState state);
   8606 
   8607     void (STDMETHODCALLTYPE *DeviceSyncError)(
   8608         IWMPEvents2 *This,
   8609         IWMPSyncDevice *device,
   8610         IDispatch *media);
   8611 
   8612     void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
   8613         IWMPEvents2 *This,
   8614         IWMPSyncDevice *device,
   8615         HRESULT result);
   8616 
   8617     END_INTERFACE
   8618 } IWMPEvents2Vtbl;
   8619 
   8620 interface IWMPEvents2 {
   8621     CONST_VTBL IWMPEvents2Vtbl* lpVtbl;
   8622 };
   8623 
   8624 #ifdef COBJMACROS
   8625 #ifndef WIDL_C_INLINE_WRAPPERS
   8626 /*** IUnknown methods ***/
   8627 #define IWMPEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8628 #define IWMPEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
   8629 #define IWMPEvents2_Release(This) (This)->lpVtbl->Release(This)
   8630 /*** IWMPEvents methods ***/
   8631 #define IWMPEvents2_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
   8632 #define IWMPEvents2_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
   8633 #define IWMPEvents2_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
   8634 #define IWMPEvents2_StatusChange(This) (This)->lpVtbl->StatusChange(This)
   8635 #define IWMPEvents2_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
   8636 #define IWMPEvents2_NewStream(This) (This)->lpVtbl->NewStream(This)
   8637 #define IWMPEvents2_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
   8638 #define IWMPEvents2_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
   8639 #define IWMPEvents2_Error(This) (This)->lpVtbl->Error(This)
   8640 #define IWMPEvents2_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
   8641 #define IWMPEvents2_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
   8642 #define IWMPEvents2_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
   8643 #define IWMPEvents2_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
   8644 #define IWMPEvents2_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
   8645 #define IWMPEvents2_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
   8646 #define IWMPEvents2_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
   8647 #define IWMPEvents2_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
   8648 #define IWMPEvents2_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
   8649 #define IWMPEvents2_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
   8650 #define IWMPEvents2_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
   8651 #define IWMPEvents2_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
   8652 #define IWMPEvents2_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
   8653 #define IWMPEvents2_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
   8654 #define IWMPEvents2_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
   8655 #define IWMPEvents2_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
   8656 #define IWMPEvents2_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
   8657 #define IWMPEvents2_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
   8658 #define IWMPEvents2_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
   8659 #define IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
   8660 #define IWMPEvents2_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
   8661 #define IWMPEvents2_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
   8662 #define IWMPEvents2_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
   8663 #define IWMPEvents2_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
   8664 #define IWMPEvents2_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
   8665 #define IWMPEvents2_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
   8666 #define IWMPEvents2_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
   8667 #define IWMPEvents2_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
   8668 #define IWMPEvents2_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
   8669 #define IWMPEvents2_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
   8670 #define IWMPEvents2_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
   8671 #define IWMPEvents2_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
   8672 #define IWMPEvents2_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
   8673 #define IWMPEvents2_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
   8674 #define IWMPEvents2_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
   8675 #define IWMPEvents2_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
   8676 /*** IWMPEvents2 methods ***/
   8677 #define IWMPEvents2_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
   8678 #define IWMPEvents2_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
   8679 #define IWMPEvents2_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
   8680 #define IWMPEvents2_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
   8681 #define IWMPEvents2_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
   8682 #define IWMPEvents2_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
   8683 #else
   8684 /*** IUnknown methods ***/
   8685 static inline HRESULT IWMPEvents2_QueryInterface(IWMPEvents2* This,REFIID riid,void **ppvObject) {
   8686     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8687 }
   8688 static inline ULONG IWMPEvents2_AddRef(IWMPEvents2* This) {
   8689     return This->lpVtbl->AddRef(This);
   8690 }
   8691 static inline ULONG IWMPEvents2_Release(IWMPEvents2* This) {
   8692     return This->lpVtbl->Release(This);
   8693 }
   8694 /*** IWMPEvents methods ***/
   8695 static inline void IWMPEvents2_OpenStateChange(IWMPEvents2* This,LONG state) {
   8696     This->lpVtbl->OpenStateChange(This,state);
   8697 }
   8698 static inline void IWMPEvents2_PlayStateChange(IWMPEvents2* This,LONG state) {
   8699     This->lpVtbl->PlayStateChange(This,state);
   8700 }
   8701 static inline void IWMPEvents2_AudioLanguageChange(IWMPEvents2* This,LONG lang) {
   8702     This->lpVtbl->AudioLanguageChange(This,lang);
   8703 }
   8704 static inline void IWMPEvents2_StatusChange(IWMPEvents2* This) {
   8705     This->lpVtbl->StatusChange(This);
   8706 }
   8707 static inline void IWMPEvents2_ScriptCommand(IWMPEvents2* This,BSTR type,BSTR param) {
   8708     This->lpVtbl->ScriptCommand(This,type,param);
   8709 }
   8710 static inline void IWMPEvents2_NewStream(IWMPEvents2* This) {
   8711     This->lpVtbl->NewStream(This);
   8712 }
   8713 static inline void IWMPEvents2_Disconnect(IWMPEvents2* This,LONG result) {
   8714     This->lpVtbl->Disconnect(This,result);
   8715 }
   8716 static inline void IWMPEvents2_Buffering(IWMPEvents2* This,VARIANT_BOOL start) {
   8717     This->lpVtbl->Buffering(This,start);
   8718 }
   8719 static inline void IWMPEvents2_Error(IWMPEvents2* This) {
   8720     This->lpVtbl->Error(This);
   8721 }
   8722 static inline void IWMPEvents2_Warning(IWMPEvents2* This,LONG warning,LONG param,BSTR description) {
   8723     This->lpVtbl->Warning(This,warning,param,description);
   8724 }
   8725 static inline void IWMPEvents2_EndOfStream(IWMPEvents2* This,LONG result) {
   8726     This->lpVtbl->EndOfStream(This,result);
   8727 }
   8728 static inline void IWMPEvents2_PositionChange(IWMPEvents2* This,double old_position,double new_position) {
   8729     This->lpVtbl->PositionChange(This,old_position,new_position);
   8730 }
   8731 static inline void IWMPEvents2_MarkerHit(IWMPEvents2* This,LONG marker) {
   8732     This->lpVtbl->MarkerHit(This,marker);
   8733 }
   8734 static inline void IWMPEvents2_DurationUnitChange(IWMPEvents2* This,LONG duration) {
   8735     This->lpVtbl->DurationUnitChange(This,duration);
   8736 }
   8737 static inline void IWMPEvents2_CdromMediaChange(IWMPEvents2* This,LONG num) {
   8738     This->lpVtbl->CdromMediaChange(This,num);
   8739 }
   8740 static inline void IWMPEvents2_PlaylistChange(IWMPEvents2* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
   8741     This->lpVtbl->PlaylistChange(This,playlist,change);
   8742 }
   8743 static inline void IWMPEvents2_CurrentPlaylistChange(IWMPEvents2* This,WMPPlaylistChangeEventType change) {
   8744     This->lpVtbl->CurrentPlaylistChange(This,change);
   8745 }
   8746 static inline void IWMPEvents2_CurrentPlaylistItemAvailable(IWMPEvents2* This,BSTR item) {
   8747     This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
   8748 }
   8749 static inline void IWMPEvents2_MediaChange(IWMPEvents2* This,IDispatch *item) {
   8750     This->lpVtbl->MediaChange(This,item);
   8751 }
   8752 static inline void IWMPEvents2_CurrentMediaItemAvailable(IWMPEvents2* This,BSTR name) {
   8753     This->lpVtbl->CurrentMediaItemAvailable(This,name);
   8754 }
   8755 static inline void IWMPEvents2_CurrentItemChange(IWMPEvents2* This,IDispatch *media) {
   8756     This->lpVtbl->CurrentItemChange(This,media);
   8757 }
   8758 static inline void IWMPEvents2_MediaCollectionChange(IWMPEvents2* This) {
   8759     This->lpVtbl->MediaCollectionChange(This);
   8760 }
   8761 static inline void IWMPEvents2_MediaCollectionAttributeStringAdded(IWMPEvents2* This,BSTR name,BSTR val) {
   8762     This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
   8763 }
   8764 static inline void IWMPEvents2_MediaCollectionAttributeStringRemoved(IWMPEvents2* This,BSTR name,BSTR val) {
   8765     This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
   8766 }
   8767 static inline void IWMPEvents2_MediaCollectionAttributeStringChanged(IWMPEvents2* This,BSTR name,BSTR old_val,BSTR new_val) {
   8768     This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
   8769 }
   8770 static inline void IWMPEvents2_PlaylistCollectionChange(IWMPEvents2* This) {
   8771     This->lpVtbl->PlaylistCollectionChange(This);
   8772 }
   8773 static inline void IWMPEvents2_PlaylistCollectionPlaylistAdded(IWMPEvents2* This,BSTR name) {
   8774     This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
   8775 }
   8776 static inline void IWMPEvents2_PlaylistCollectionPlaylistRemoved(IWMPEvents2* This,BSTR name) {
   8777     This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
   8778 }
   8779 static inline void IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents2* This,BSTR name,VARIANT_BOOL deleted) {
   8780     This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
   8781 }
   8782 static inline void IWMPEvents2_ModeChange(IWMPEvents2* This,BSTR ModeName,VARIANT_BOOL value) {
   8783     This->lpVtbl->ModeChange(This,ModeName,value);
   8784 }
   8785 static inline void IWMPEvents2_MediaError(IWMPEvents2* This,IDispatch *media) {
   8786     This->lpVtbl->MediaError(This,media);
   8787 }
   8788 static inline void IWMPEvents2_OpenPlaylistSwitch(IWMPEvents2* This,IDispatch *item) {
   8789     This->lpVtbl->OpenPlaylistSwitch(This,item);
   8790 }
   8791 static inline void IWMPEvents2_DomainChange(IWMPEvents2* This,BSTR domain) {
   8792     This->lpVtbl->DomainChange(This,domain);
   8793 }
   8794 static inline void IWMPEvents2_SwitchedToPlayerApplication(IWMPEvents2* This) {
   8795     This->lpVtbl->SwitchedToPlayerApplication(This);
   8796 }
   8797 static inline void IWMPEvents2_SwitchedToControl(IWMPEvents2* This) {
   8798     This->lpVtbl->SwitchedToControl(This);
   8799 }
   8800 static inline void IWMPEvents2_PlayerDockedStateChange(IWMPEvents2* This) {
   8801     This->lpVtbl->PlayerDockedStateChange(This);
   8802 }
   8803 static inline void IWMPEvents2_PlayerReconnect(IWMPEvents2* This) {
   8804     This->lpVtbl->PlayerReconnect(This);
   8805 }
   8806 static inline void IWMPEvents2_Click(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
   8807     This->lpVtbl->Click(This,button,shift_state,x,y);
   8808 }
   8809 static inline void IWMPEvents2_DoubleClick(IWMPEvents2* This,short button,short shift_state,LONG fX,LONG fY) {
   8810     This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
   8811 }
   8812 static inline void IWMPEvents2_KeyDown(IWMPEvents2* This,short keycode,short shift_state) {
   8813     This->lpVtbl->KeyDown(This,keycode,shift_state);
   8814 }
   8815 static inline void IWMPEvents2_KeyPress(IWMPEvents2* This,short ascii) {
   8816     This->lpVtbl->KeyPress(This,ascii);
   8817 }
   8818 static inline void IWMPEvents2_KeyUp(IWMPEvents2* This,short keycode,short shift_state) {
   8819     This->lpVtbl->KeyUp(This,keycode,shift_state);
   8820 }
   8821 static inline void IWMPEvents2_MouseDown(IWMPEvents2* This,short button,short nShiftState,LONG x,LONG y) {
   8822     This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
   8823 }
   8824 static inline void IWMPEvents2_MouseMove(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
   8825     This->lpVtbl->MouseMove(This,button,shift_state,x,y);
   8826 }
   8827 static inline void IWMPEvents2_MouseUp(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) {
   8828     This->lpVtbl->MouseUp(This,button,shift_state,x,y);
   8829 }
   8830 /*** IWMPEvents2 methods ***/
   8831 static inline void IWMPEvents2_DeviceConnect(IWMPEvents2* This,IWMPSyncDevice *device) {
   8832     This->lpVtbl->DeviceConnect(This,device);
   8833 }
   8834 static inline void IWMPEvents2_DeviceDisconnect(IWMPEvents2* This,IWMPSyncDevice *device) {
   8835     This->lpVtbl->DeviceDisconnect(This,device);
   8836 }
   8837 static inline void IWMPEvents2_DeviceStatusChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
   8838     This->lpVtbl->DeviceStatusChange(This,device,status);
   8839 }
   8840 static inline void IWMPEvents2_DeviceSyncStateChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPSyncState state) {
   8841     This->lpVtbl->DeviceSyncStateChange(This,device,state);
   8842 }
   8843 static inline void IWMPEvents2_DeviceSyncError(IWMPEvents2* This,IWMPSyncDevice *device,IDispatch *media) {
   8844     This->lpVtbl->DeviceSyncError(This,device,media);
   8845 }
   8846 static inline void IWMPEvents2_CreatePartnershipComplete(IWMPEvents2* This,IWMPSyncDevice *device,HRESULT result) {
   8847     This->lpVtbl->CreatePartnershipComplete(This,device,result);
   8848 }
   8849 #endif
   8850 #endif
   8851 
   8852 #endif
   8853 
   8854 
   8855 #endif  /* __IWMPEvents2_INTERFACE_DEFINED__ */
   8856 
   8857 /*****************************************************************************
   8858  * IWMPEvents3 interface
   8859  */
   8860 #ifndef __IWMPEvents3_INTERFACE_DEFINED__
   8861 #define __IWMPEvents3_INTERFACE_DEFINED__
   8862 
   8863 DEFINE_GUID(IID_IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f);
   8864 #if defined(__cplusplus) && !defined(CINTERFACE)
   8865 MIDL_INTERFACE("1f504270-a66b-4223-8e96-26a06c63d69f")
   8866 IWMPEvents3 : public IWMPEvents2
   8867 {
   8868     virtual void STDMETHODCALLTYPE CdromRipStateChange(
   8869         IWMPCdromRip *rip,
   8870         WMPRipState state) = 0;
   8871 
   8872     virtual void STDMETHODCALLTYPE CdromRipMediaError(
   8873         IWMPCdromRip *rip,
   8874         IDispatch *media) = 0;
   8875 
   8876     virtual void STDMETHODCALLTYPE CdromBurnStateChange(
   8877         IWMPCdromBurn *burn,
   8878         WMPBurnState state) = 0;
   8879 
   8880     virtual void STDMETHODCALLTYPE CdromBurnMediaError(
   8881         IWMPCdromBurn *burn,
   8882         IDispatch *media) = 0;
   8883 
   8884     virtual void STDMETHODCALLTYPE CdromBurnError(
   8885         IWMPCdromBurn *burn,
   8886         HRESULT error) = 0;
   8887 
   8888     virtual void STDMETHODCALLTYPE LibraryConnect(
   8889         IWMPLibrary *wmplibrary) = 0;
   8890 
   8891     virtual void STDMETHODCALLTYPE LibraryDisconnect(
   8892         IWMPLibrary *wmplibrary) = 0;
   8893 
   8894     virtual void STDMETHODCALLTYPE FolderScanStateChange(
   8895         WMPFolderScanState state) = 0;
   8896 
   8897     virtual void STDMETHODCALLTYPE StringCollectionChange(
   8898         IDispatch *collection,
   8899         WMPStringCollectionChangeEventType change,
   8900         LONG index) = 0;
   8901 
   8902     virtual void STDMETHODCALLTYPE MediaCollectionMediaAdded(
   8903         IDispatch *media) = 0;
   8904 
   8905     virtual void STDMETHODCALLTYPE MediaCollectionMediaRemoved(
   8906         IDispatch *media) = 0;
   8907 
   8908 };
   8909 #ifdef __CRT_UUID_DECL
   8910 __CRT_UUID_DECL(IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f)
   8911 #endif
   8912 #else
   8913 typedef struct IWMPEvents3Vtbl {
   8914     BEGIN_INTERFACE
   8915 
   8916     /*** IUnknown methods ***/
   8917     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8918         IWMPEvents3 *This,
   8919         REFIID riid,
   8920         void **ppvObject);
   8921 
   8922     ULONG (STDMETHODCALLTYPE *AddRef)(
   8923         IWMPEvents3 *This);
   8924 
   8925     ULONG (STDMETHODCALLTYPE *Release)(
   8926         IWMPEvents3 *This);
   8927 
   8928     /*** IWMPEvents methods ***/
   8929     void (STDMETHODCALLTYPE *OpenStateChange)(
   8930         IWMPEvents3 *This,
   8931         LONG state);
   8932 
   8933     void (STDMETHODCALLTYPE *PlayStateChange)(
   8934         IWMPEvents3 *This,
   8935         LONG state);
   8936 
   8937     void (STDMETHODCALLTYPE *AudioLanguageChange)(
   8938         IWMPEvents3 *This,
   8939         LONG lang);
   8940 
   8941     void (STDMETHODCALLTYPE *StatusChange)(
   8942         IWMPEvents3 *This);
   8943 
   8944     void (STDMETHODCALLTYPE *ScriptCommand)(
   8945         IWMPEvents3 *This,
   8946         BSTR type,
   8947         BSTR param);
   8948 
   8949     void (STDMETHODCALLTYPE *NewStream)(
   8950         IWMPEvents3 *This);
   8951 
   8952     void (STDMETHODCALLTYPE *Disconnect)(
   8953         IWMPEvents3 *This,
   8954         LONG result);
   8955 
   8956     void (STDMETHODCALLTYPE *Buffering)(
   8957         IWMPEvents3 *This,
   8958         VARIANT_BOOL start);
   8959 
   8960     void (STDMETHODCALLTYPE *Error)(
   8961         IWMPEvents3 *This);
   8962 
   8963     void (STDMETHODCALLTYPE *Warning)(
   8964         IWMPEvents3 *This,
   8965         LONG warning,
   8966         LONG param,
   8967         BSTR description);
   8968 
   8969     void (STDMETHODCALLTYPE *EndOfStream)(
   8970         IWMPEvents3 *This,
   8971         LONG result);
   8972 
   8973     void (STDMETHODCALLTYPE *PositionChange)(
   8974         IWMPEvents3 *This,
   8975         double old_position,
   8976         double new_position);
   8977 
   8978     void (STDMETHODCALLTYPE *MarkerHit)(
   8979         IWMPEvents3 *This,
   8980         LONG marker);
   8981 
   8982     void (STDMETHODCALLTYPE *DurationUnitChange)(
   8983         IWMPEvents3 *This,
   8984         LONG duration);
   8985 
   8986     void (STDMETHODCALLTYPE *CdromMediaChange)(
   8987         IWMPEvents3 *This,
   8988         LONG num);
   8989 
   8990     void (STDMETHODCALLTYPE *PlaylistChange)(
   8991         IWMPEvents3 *This,
   8992         IDispatch *playlist,
   8993         WMPPlaylistChangeEventType change);
   8994 
   8995     void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
   8996         IWMPEvents3 *This,
   8997         WMPPlaylistChangeEventType change);
   8998 
   8999     void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
   9000         IWMPEvents3 *This,
   9001         BSTR item);
   9002 
   9003     void (STDMETHODCALLTYPE *MediaChange)(
   9004         IWMPEvents3 *This,
   9005         IDispatch *item);
   9006 
   9007     void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
   9008         IWMPEvents3 *This,
   9009         BSTR name);
   9010 
   9011     void (STDMETHODCALLTYPE *CurrentItemChange)(
   9012         IWMPEvents3 *This,
   9013         IDispatch *media);
   9014 
   9015     void (STDMETHODCALLTYPE *MediaCollectionChange)(
   9016         IWMPEvents3 *This);
   9017 
   9018     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
   9019         IWMPEvents3 *This,
   9020         BSTR name,
   9021         BSTR val);
   9022 
   9023     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
   9024         IWMPEvents3 *This,
   9025         BSTR name,
   9026         BSTR val);
   9027 
   9028     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
   9029         IWMPEvents3 *This,
   9030         BSTR name,
   9031         BSTR old_val,
   9032         BSTR new_val);
   9033 
   9034     void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
   9035         IWMPEvents3 *This);
   9036 
   9037     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
   9038         IWMPEvents3 *This,
   9039         BSTR name);
   9040 
   9041     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
   9042         IWMPEvents3 *This,
   9043         BSTR name);
   9044 
   9045     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
   9046         IWMPEvents3 *This,
   9047         BSTR name,
   9048         VARIANT_BOOL deleted);
   9049 
   9050     void (STDMETHODCALLTYPE *ModeChange)(
   9051         IWMPEvents3 *This,
   9052         BSTR ModeName,
   9053         VARIANT_BOOL value);
   9054 
   9055     void (STDMETHODCALLTYPE *MediaError)(
   9056         IWMPEvents3 *This,
   9057         IDispatch *media);
   9058 
   9059     void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
   9060         IWMPEvents3 *This,
   9061         IDispatch *item);
   9062 
   9063     void (STDMETHODCALLTYPE *DomainChange)(
   9064         IWMPEvents3 *This,
   9065         BSTR domain);
   9066 
   9067     void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
   9068         IWMPEvents3 *This);
   9069 
   9070     void (STDMETHODCALLTYPE *SwitchedToControl)(
   9071         IWMPEvents3 *This);
   9072 
   9073     void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
   9074         IWMPEvents3 *This);
   9075 
   9076     void (STDMETHODCALLTYPE *PlayerReconnect)(
   9077         IWMPEvents3 *This);
   9078 
   9079     void (STDMETHODCALLTYPE *Click)(
   9080         IWMPEvents3 *This,
   9081         short button,
   9082         short shift_state,
   9083         LONG x,
   9084         LONG y);
   9085 
   9086     void (STDMETHODCALLTYPE *DoubleClick)(
   9087         IWMPEvents3 *This,
   9088         short button,
   9089         short shift_state,
   9090         LONG fX,
   9091         LONG fY);
   9092 
   9093     void (STDMETHODCALLTYPE *KeyDown)(
   9094         IWMPEvents3 *This,
   9095         short keycode,
   9096         short shift_state);
   9097 
   9098     void (STDMETHODCALLTYPE *KeyPress)(
   9099         IWMPEvents3 *This,
   9100         short ascii);
   9101 
   9102     void (STDMETHODCALLTYPE *KeyUp)(
   9103         IWMPEvents3 *This,
   9104         short keycode,
   9105         short shift_state);
   9106 
   9107     void (STDMETHODCALLTYPE *MouseDown)(
   9108         IWMPEvents3 *This,
   9109         short button,
   9110         short nShiftState,
   9111         LONG x,
   9112         LONG y);
   9113 
   9114     void (STDMETHODCALLTYPE *MouseMove)(
   9115         IWMPEvents3 *This,
   9116         short button,
   9117         short shift_state,
   9118         LONG x,
   9119         LONG y);
   9120 
   9121     void (STDMETHODCALLTYPE *MouseUp)(
   9122         IWMPEvents3 *This,
   9123         short button,
   9124         short shift_state,
   9125         LONG x,
   9126         LONG y);
   9127 
   9128     /*** IWMPEvents2 methods ***/
   9129     void (STDMETHODCALLTYPE *DeviceConnect)(
   9130         IWMPEvents3 *This,
   9131         IWMPSyncDevice *device);
   9132 
   9133     void (STDMETHODCALLTYPE *DeviceDisconnect)(
   9134         IWMPEvents3 *This,
   9135         IWMPSyncDevice *device);
   9136 
   9137     void (STDMETHODCALLTYPE *DeviceStatusChange)(
   9138         IWMPEvents3 *This,
   9139         IWMPSyncDevice *device,
   9140         WMPDeviceStatus status);
   9141 
   9142     void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
   9143         IWMPEvents3 *This,
   9144         IWMPSyncDevice *device,
   9145         WMPSyncState state);
   9146 
   9147     void (STDMETHODCALLTYPE *DeviceSyncError)(
   9148         IWMPEvents3 *This,
   9149         IWMPSyncDevice *device,
   9150         IDispatch *media);
   9151 
   9152     void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
   9153         IWMPEvents3 *This,
   9154         IWMPSyncDevice *device,
   9155         HRESULT result);
   9156 
   9157     /*** IWMPEvents3 methods ***/
   9158     void (STDMETHODCALLTYPE *CdromRipStateChange)(
   9159         IWMPEvents3 *This,
   9160         IWMPCdromRip *rip,
   9161         WMPRipState state);
   9162 
   9163     void (STDMETHODCALLTYPE *CdromRipMediaError)(
   9164         IWMPEvents3 *This,
   9165         IWMPCdromRip *rip,
   9166         IDispatch *media);
   9167 
   9168     void (STDMETHODCALLTYPE *CdromBurnStateChange)(
   9169         IWMPEvents3 *This,
   9170         IWMPCdromBurn *burn,
   9171         WMPBurnState state);
   9172 
   9173     void (STDMETHODCALLTYPE *CdromBurnMediaError)(
   9174         IWMPEvents3 *This,
   9175         IWMPCdromBurn *burn,
   9176         IDispatch *media);
   9177 
   9178     void (STDMETHODCALLTYPE *CdromBurnError)(
   9179         IWMPEvents3 *This,
   9180         IWMPCdromBurn *burn,
   9181         HRESULT error);
   9182 
   9183     void (STDMETHODCALLTYPE *LibraryConnect)(
   9184         IWMPEvents3 *This,
   9185         IWMPLibrary *wmplibrary);
   9186 
   9187     void (STDMETHODCALLTYPE *LibraryDisconnect)(
   9188         IWMPEvents3 *This,
   9189         IWMPLibrary *wmplibrary);
   9190 
   9191     void (STDMETHODCALLTYPE *FolderScanStateChange)(
   9192         IWMPEvents3 *This,
   9193         WMPFolderScanState state);
   9194 
   9195     void (STDMETHODCALLTYPE *StringCollectionChange)(
   9196         IWMPEvents3 *This,
   9197         IDispatch *collection,
   9198         WMPStringCollectionChangeEventType change,
   9199         LONG index);
   9200 
   9201     void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)(
   9202         IWMPEvents3 *This,
   9203         IDispatch *media);
   9204 
   9205     void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)(
   9206         IWMPEvents3 *This,
   9207         IDispatch *media);
   9208 
   9209     END_INTERFACE
   9210 } IWMPEvents3Vtbl;
   9211 
   9212 interface IWMPEvents3 {
   9213     CONST_VTBL IWMPEvents3Vtbl* lpVtbl;
   9214 };
   9215 
   9216 #ifdef COBJMACROS
   9217 #ifndef WIDL_C_INLINE_WRAPPERS
   9218 /*** IUnknown methods ***/
   9219 #define IWMPEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9220 #define IWMPEvents3_AddRef(This) (This)->lpVtbl->AddRef(This)
   9221 #define IWMPEvents3_Release(This) (This)->lpVtbl->Release(This)
   9222 /*** IWMPEvents methods ***/
   9223 #define IWMPEvents3_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
   9224 #define IWMPEvents3_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
   9225 #define IWMPEvents3_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
   9226 #define IWMPEvents3_StatusChange(This) (This)->lpVtbl->StatusChange(This)
   9227 #define IWMPEvents3_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
   9228 #define IWMPEvents3_NewStream(This) (This)->lpVtbl->NewStream(This)
   9229 #define IWMPEvents3_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
   9230 #define IWMPEvents3_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
   9231 #define IWMPEvents3_Error(This) (This)->lpVtbl->Error(This)
   9232 #define IWMPEvents3_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
   9233 #define IWMPEvents3_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
   9234 #define IWMPEvents3_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
   9235 #define IWMPEvents3_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
   9236 #define IWMPEvents3_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
   9237 #define IWMPEvents3_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
   9238 #define IWMPEvents3_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
   9239 #define IWMPEvents3_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
   9240 #define IWMPEvents3_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
   9241 #define IWMPEvents3_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
   9242 #define IWMPEvents3_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
   9243 #define IWMPEvents3_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
   9244 #define IWMPEvents3_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
   9245 #define IWMPEvents3_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
   9246 #define IWMPEvents3_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
   9247 #define IWMPEvents3_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
   9248 #define IWMPEvents3_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
   9249 #define IWMPEvents3_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
   9250 #define IWMPEvents3_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
   9251 #define IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
   9252 #define IWMPEvents3_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
   9253 #define IWMPEvents3_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
   9254 #define IWMPEvents3_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
   9255 #define IWMPEvents3_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
   9256 #define IWMPEvents3_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
   9257 #define IWMPEvents3_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
   9258 #define IWMPEvents3_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
   9259 #define IWMPEvents3_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
   9260 #define IWMPEvents3_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
   9261 #define IWMPEvents3_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
   9262 #define IWMPEvents3_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
   9263 #define IWMPEvents3_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
   9264 #define IWMPEvents3_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
   9265 #define IWMPEvents3_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
   9266 #define IWMPEvents3_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
   9267 #define IWMPEvents3_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
   9268 /*** IWMPEvents2 methods ***/
   9269 #define IWMPEvents3_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
   9270 #define IWMPEvents3_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
   9271 #define IWMPEvents3_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
   9272 #define IWMPEvents3_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
   9273 #define IWMPEvents3_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
   9274 #define IWMPEvents3_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
   9275 /*** IWMPEvents3 methods ***/
   9276 #define IWMPEvents3_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state)
   9277 #define IWMPEvents3_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media)
   9278 #define IWMPEvents3_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state)
   9279 #define IWMPEvents3_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media)
   9280 #define IWMPEvents3_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error)
   9281 #define IWMPEvents3_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary)
   9282 #define IWMPEvents3_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary)
   9283 #define IWMPEvents3_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state)
   9284 #define IWMPEvents3_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index)
   9285 #define IWMPEvents3_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media)
   9286 #define IWMPEvents3_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media)
   9287 #else
   9288 /*** IUnknown methods ***/
   9289 static inline HRESULT IWMPEvents3_QueryInterface(IWMPEvents3* This,REFIID riid,void **ppvObject) {
   9290     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9291 }
   9292 static inline ULONG IWMPEvents3_AddRef(IWMPEvents3* This) {
   9293     return This->lpVtbl->AddRef(This);
   9294 }
   9295 static inline ULONG IWMPEvents3_Release(IWMPEvents3* This) {
   9296     return This->lpVtbl->Release(This);
   9297 }
   9298 /*** IWMPEvents methods ***/
   9299 static inline void IWMPEvents3_OpenStateChange(IWMPEvents3* This,LONG state) {
   9300     This->lpVtbl->OpenStateChange(This,state);
   9301 }
   9302 static inline void IWMPEvents3_PlayStateChange(IWMPEvents3* This,LONG state) {
   9303     This->lpVtbl->PlayStateChange(This,state);
   9304 }
   9305 static inline void IWMPEvents3_AudioLanguageChange(IWMPEvents3* This,LONG lang) {
   9306     This->lpVtbl->AudioLanguageChange(This,lang);
   9307 }
   9308 static inline void IWMPEvents3_StatusChange(IWMPEvents3* This) {
   9309     This->lpVtbl->StatusChange(This);
   9310 }
   9311 static inline void IWMPEvents3_ScriptCommand(IWMPEvents3* This,BSTR type,BSTR param) {
   9312     This->lpVtbl->ScriptCommand(This,type,param);
   9313 }
   9314 static inline void IWMPEvents3_NewStream(IWMPEvents3* This) {
   9315     This->lpVtbl->NewStream(This);
   9316 }
   9317 static inline void IWMPEvents3_Disconnect(IWMPEvents3* This,LONG result) {
   9318     This->lpVtbl->Disconnect(This,result);
   9319 }
   9320 static inline void IWMPEvents3_Buffering(IWMPEvents3* This,VARIANT_BOOL start) {
   9321     This->lpVtbl->Buffering(This,start);
   9322 }
   9323 static inline void IWMPEvents3_Error(IWMPEvents3* This) {
   9324     This->lpVtbl->Error(This);
   9325 }
   9326 static inline void IWMPEvents3_Warning(IWMPEvents3* This,LONG warning,LONG param,BSTR description) {
   9327     This->lpVtbl->Warning(This,warning,param,description);
   9328 }
   9329 static inline void IWMPEvents3_EndOfStream(IWMPEvents3* This,LONG result) {
   9330     This->lpVtbl->EndOfStream(This,result);
   9331 }
   9332 static inline void IWMPEvents3_PositionChange(IWMPEvents3* This,double old_position,double new_position) {
   9333     This->lpVtbl->PositionChange(This,old_position,new_position);
   9334 }
   9335 static inline void IWMPEvents3_MarkerHit(IWMPEvents3* This,LONG marker) {
   9336     This->lpVtbl->MarkerHit(This,marker);
   9337 }
   9338 static inline void IWMPEvents3_DurationUnitChange(IWMPEvents3* This,LONG duration) {
   9339     This->lpVtbl->DurationUnitChange(This,duration);
   9340 }
   9341 static inline void IWMPEvents3_CdromMediaChange(IWMPEvents3* This,LONG num) {
   9342     This->lpVtbl->CdromMediaChange(This,num);
   9343 }
   9344 static inline void IWMPEvents3_PlaylistChange(IWMPEvents3* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
   9345     This->lpVtbl->PlaylistChange(This,playlist,change);
   9346 }
   9347 static inline void IWMPEvents3_CurrentPlaylistChange(IWMPEvents3* This,WMPPlaylistChangeEventType change) {
   9348     This->lpVtbl->CurrentPlaylistChange(This,change);
   9349 }
   9350 static inline void IWMPEvents3_CurrentPlaylistItemAvailable(IWMPEvents3* This,BSTR item) {
   9351     This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
   9352 }
   9353 static inline void IWMPEvents3_MediaChange(IWMPEvents3* This,IDispatch *item) {
   9354     This->lpVtbl->MediaChange(This,item);
   9355 }
   9356 static inline void IWMPEvents3_CurrentMediaItemAvailable(IWMPEvents3* This,BSTR name) {
   9357     This->lpVtbl->CurrentMediaItemAvailable(This,name);
   9358 }
   9359 static inline void IWMPEvents3_CurrentItemChange(IWMPEvents3* This,IDispatch *media) {
   9360     This->lpVtbl->CurrentItemChange(This,media);
   9361 }
   9362 static inline void IWMPEvents3_MediaCollectionChange(IWMPEvents3* This) {
   9363     This->lpVtbl->MediaCollectionChange(This);
   9364 }
   9365 static inline void IWMPEvents3_MediaCollectionAttributeStringAdded(IWMPEvents3* This,BSTR name,BSTR val) {
   9366     This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
   9367 }
   9368 static inline void IWMPEvents3_MediaCollectionAttributeStringRemoved(IWMPEvents3* This,BSTR name,BSTR val) {
   9369     This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
   9370 }
   9371 static inline void IWMPEvents3_MediaCollectionAttributeStringChanged(IWMPEvents3* This,BSTR name,BSTR old_val,BSTR new_val) {
   9372     This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
   9373 }
   9374 static inline void IWMPEvents3_PlaylistCollectionChange(IWMPEvents3* This) {
   9375     This->lpVtbl->PlaylistCollectionChange(This);
   9376 }
   9377 static inline void IWMPEvents3_PlaylistCollectionPlaylistAdded(IWMPEvents3* This,BSTR name) {
   9378     This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
   9379 }
   9380 static inline void IWMPEvents3_PlaylistCollectionPlaylistRemoved(IWMPEvents3* This,BSTR name) {
   9381     This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
   9382 }
   9383 static inline void IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents3* This,BSTR name,VARIANT_BOOL deleted) {
   9384     This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
   9385 }
   9386 static inline void IWMPEvents3_ModeChange(IWMPEvents3* This,BSTR ModeName,VARIANT_BOOL value) {
   9387     This->lpVtbl->ModeChange(This,ModeName,value);
   9388 }
   9389 static inline void IWMPEvents3_MediaError(IWMPEvents3* This,IDispatch *media) {
   9390     This->lpVtbl->MediaError(This,media);
   9391 }
   9392 static inline void IWMPEvents3_OpenPlaylistSwitch(IWMPEvents3* This,IDispatch *item) {
   9393     This->lpVtbl->OpenPlaylistSwitch(This,item);
   9394 }
   9395 static inline void IWMPEvents3_DomainChange(IWMPEvents3* This,BSTR domain) {
   9396     This->lpVtbl->DomainChange(This,domain);
   9397 }
   9398 static inline void IWMPEvents3_SwitchedToPlayerApplication(IWMPEvents3* This) {
   9399     This->lpVtbl->SwitchedToPlayerApplication(This);
   9400 }
   9401 static inline void IWMPEvents3_SwitchedToControl(IWMPEvents3* This) {
   9402     This->lpVtbl->SwitchedToControl(This);
   9403 }
   9404 static inline void IWMPEvents3_PlayerDockedStateChange(IWMPEvents3* This) {
   9405     This->lpVtbl->PlayerDockedStateChange(This);
   9406 }
   9407 static inline void IWMPEvents3_PlayerReconnect(IWMPEvents3* This) {
   9408     This->lpVtbl->PlayerReconnect(This);
   9409 }
   9410 static inline void IWMPEvents3_Click(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
   9411     This->lpVtbl->Click(This,button,shift_state,x,y);
   9412 }
   9413 static inline void IWMPEvents3_DoubleClick(IWMPEvents3* This,short button,short shift_state,LONG fX,LONG fY) {
   9414     This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
   9415 }
   9416 static inline void IWMPEvents3_KeyDown(IWMPEvents3* This,short keycode,short shift_state) {
   9417     This->lpVtbl->KeyDown(This,keycode,shift_state);
   9418 }
   9419 static inline void IWMPEvents3_KeyPress(IWMPEvents3* This,short ascii) {
   9420     This->lpVtbl->KeyPress(This,ascii);
   9421 }
   9422 static inline void IWMPEvents3_KeyUp(IWMPEvents3* This,short keycode,short shift_state) {
   9423     This->lpVtbl->KeyUp(This,keycode,shift_state);
   9424 }
   9425 static inline void IWMPEvents3_MouseDown(IWMPEvents3* This,short button,short nShiftState,LONG x,LONG y) {
   9426     This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
   9427 }
   9428 static inline void IWMPEvents3_MouseMove(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
   9429     This->lpVtbl->MouseMove(This,button,shift_state,x,y);
   9430 }
   9431 static inline void IWMPEvents3_MouseUp(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) {
   9432     This->lpVtbl->MouseUp(This,button,shift_state,x,y);
   9433 }
   9434 /*** IWMPEvents2 methods ***/
   9435 static inline void IWMPEvents3_DeviceConnect(IWMPEvents3* This,IWMPSyncDevice *device) {
   9436     This->lpVtbl->DeviceConnect(This,device);
   9437 }
   9438 static inline void IWMPEvents3_DeviceDisconnect(IWMPEvents3* This,IWMPSyncDevice *device) {
   9439     This->lpVtbl->DeviceDisconnect(This,device);
   9440 }
   9441 static inline void IWMPEvents3_DeviceStatusChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
   9442     This->lpVtbl->DeviceStatusChange(This,device,status);
   9443 }
   9444 static inline void IWMPEvents3_DeviceSyncStateChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPSyncState state) {
   9445     This->lpVtbl->DeviceSyncStateChange(This,device,state);
   9446 }
   9447 static inline void IWMPEvents3_DeviceSyncError(IWMPEvents3* This,IWMPSyncDevice *device,IDispatch *media) {
   9448     This->lpVtbl->DeviceSyncError(This,device,media);
   9449 }
   9450 static inline void IWMPEvents3_CreatePartnershipComplete(IWMPEvents3* This,IWMPSyncDevice *device,HRESULT result) {
   9451     This->lpVtbl->CreatePartnershipComplete(This,device,result);
   9452 }
   9453 /*** IWMPEvents3 methods ***/
   9454 static inline void IWMPEvents3_CdromRipStateChange(IWMPEvents3* This,IWMPCdromRip *rip,WMPRipState state) {
   9455     This->lpVtbl->CdromRipStateChange(This,rip,state);
   9456 }
   9457 static inline void IWMPEvents3_CdromRipMediaError(IWMPEvents3* This,IWMPCdromRip *rip,IDispatch *media) {
   9458     This->lpVtbl->CdromRipMediaError(This,rip,media);
   9459 }
   9460 static inline void IWMPEvents3_CdromBurnStateChange(IWMPEvents3* This,IWMPCdromBurn *burn,WMPBurnState state) {
   9461     This->lpVtbl->CdromBurnStateChange(This,burn,state);
   9462 }
   9463 static inline void IWMPEvents3_CdromBurnMediaError(IWMPEvents3* This,IWMPCdromBurn *burn,IDispatch *media) {
   9464     This->lpVtbl->CdromBurnMediaError(This,burn,media);
   9465 }
   9466 static inline void IWMPEvents3_CdromBurnError(IWMPEvents3* This,IWMPCdromBurn *burn,HRESULT error) {
   9467     This->lpVtbl->CdromBurnError(This,burn,error);
   9468 }
   9469 static inline void IWMPEvents3_LibraryConnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) {
   9470     This->lpVtbl->LibraryConnect(This,wmplibrary);
   9471 }
   9472 static inline void IWMPEvents3_LibraryDisconnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) {
   9473     This->lpVtbl->LibraryDisconnect(This,wmplibrary);
   9474 }
   9475 static inline void IWMPEvents3_FolderScanStateChange(IWMPEvents3* This,WMPFolderScanState state) {
   9476     This->lpVtbl->FolderScanStateChange(This,state);
   9477 }
   9478 static inline void IWMPEvents3_StringCollectionChange(IWMPEvents3* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) {
   9479     This->lpVtbl->StringCollectionChange(This,collection,change,index);
   9480 }
   9481 static inline void IWMPEvents3_MediaCollectionMediaAdded(IWMPEvents3* This,IDispatch *media) {
   9482     This->lpVtbl->MediaCollectionMediaAdded(This,media);
   9483 }
   9484 static inline void IWMPEvents3_MediaCollectionMediaRemoved(IWMPEvents3* This,IDispatch *media) {
   9485     This->lpVtbl->MediaCollectionMediaRemoved(This,media);
   9486 }
   9487 #endif
   9488 #endif
   9489 
   9490 #endif
   9491 
   9492 
   9493 #endif  /* __IWMPEvents3_INTERFACE_DEFINED__ */
   9494 
   9495 /*****************************************************************************
   9496  * IWMPEvents4 interface
   9497  */
   9498 #ifndef __IWMPEvents4_INTERFACE_DEFINED__
   9499 #define __IWMPEvents4_INTERFACE_DEFINED__
   9500 
   9501 DEFINE_GUID(IID_IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d);
   9502 #if defined(__cplusplus) && !defined(CINTERFACE)
   9503 MIDL_INTERFACE("26dabcfa-306b-404d-9a6f-630a8405048d")
   9504 IWMPEvents4 : public IWMPEvents3
   9505 {
   9506     virtual void STDMETHODCALLTYPE DeviceEstimation(
   9507         IWMPSyncDevice *device,
   9508         HRESULT result,
   9509         LONGLONG used_space,
   9510         LONGLONG estimated_space) = 0;
   9511 
   9512 };
   9513 #ifdef __CRT_UUID_DECL
   9514 __CRT_UUID_DECL(IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d)
   9515 #endif
   9516 #else
   9517 typedef struct IWMPEvents4Vtbl {
   9518     BEGIN_INTERFACE
   9519 
   9520     /*** IUnknown methods ***/
   9521     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9522         IWMPEvents4 *This,
   9523         REFIID riid,
   9524         void **ppvObject);
   9525 
   9526     ULONG (STDMETHODCALLTYPE *AddRef)(
   9527         IWMPEvents4 *This);
   9528 
   9529     ULONG (STDMETHODCALLTYPE *Release)(
   9530         IWMPEvents4 *This);
   9531 
   9532     /*** IWMPEvents methods ***/
   9533     void (STDMETHODCALLTYPE *OpenStateChange)(
   9534         IWMPEvents4 *This,
   9535         LONG state);
   9536 
   9537     void (STDMETHODCALLTYPE *PlayStateChange)(
   9538         IWMPEvents4 *This,
   9539         LONG state);
   9540 
   9541     void (STDMETHODCALLTYPE *AudioLanguageChange)(
   9542         IWMPEvents4 *This,
   9543         LONG lang);
   9544 
   9545     void (STDMETHODCALLTYPE *StatusChange)(
   9546         IWMPEvents4 *This);
   9547 
   9548     void (STDMETHODCALLTYPE *ScriptCommand)(
   9549         IWMPEvents4 *This,
   9550         BSTR type,
   9551         BSTR param);
   9552 
   9553     void (STDMETHODCALLTYPE *NewStream)(
   9554         IWMPEvents4 *This);
   9555 
   9556     void (STDMETHODCALLTYPE *Disconnect)(
   9557         IWMPEvents4 *This,
   9558         LONG result);
   9559 
   9560     void (STDMETHODCALLTYPE *Buffering)(
   9561         IWMPEvents4 *This,
   9562         VARIANT_BOOL start);
   9563 
   9564     void (STDMETHODCALLTYPE *Error)(
   9565         IWMPEvents4 *This);
   9566 
   9567     void (STDMETHODCALLTYPE *Warning)(
   9568         IWMPEvents4 *This,
   9569         LONG warning,
   9570         LONG param,
   9571         BSTR description);
   9572 
   9573     void (STDMETHODCALLTYPE *EndOfStream)(
   9574         IWMPEvents4 *This,
   9575         LONG result);
   9576 
   9577     void (STDMETHODCALLTYPE *PositionChange)(
   9578         IWMPEvents4 *This,
   9579         double old_position,
   9580         double new_position);
   9581 
   9582     void (STDMETHODCALLTYPE *MarkerHit)(
   9583         IWMPEvents4 *This,
   9584         LONG marker);
   9585 
   9586     void (STDMETHODCALLTYPE *DurationUnitChange)(
   9587         IWMPEvents4 *This,
   9588         LONG duration);
   9589 
   9590     void (STDMETHODCALLTYPE *CdromMediaChange)(
   9591         IWMPEvents4 *This,
   9592         LONG num);
   9593 
   9594     void (STDMETHODCALLTYPE *PlaylistChange)(
   9595         IWMPEvents4 *This,
   9596         IDispatch *playlist,
   9597         WMPPlaylistChangeEventType change);
   9598 
   9599     void (STDMETHODCALLTYPE *CurrentPlaylistChange)(
   9600         IWMPEvents4 *This,
   9601         WMPPlaylistChangeEventType change);
   9602 
   9603     void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)(
   9604         IWMPEvents4 *This,
   9605         BSTR item);
   9606 
   9607     void (STDMETHODCALLTYPE *MediaChange)(
   9608         IWMPEvents4 *This,
   9609         IDispatch *item);
   9610 
   9611     void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)(
   9612         IWMPEvents4 *This,
   9613         BSTR name);
   9614 
   9615     void (STDMETHODCALLTYPE *CurrentItemChange)(
   9616         IWMPEvents4 *This,
   9617         IDispatch *media);
   9618 
   9619     void (STDMETHODCALLTYPE *MediaCollectionChange)(
   9620         IWMPEvents4 *This);
   9621 
   9622     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)(
   9623         IWMPEvents4 *This,
   9624         BSTR name,
   9625         BSTR val);
   9626 
   9627     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)(
   9628         IWMPEvents4 *This,
   9629         BSTR name,
   9630         BSTR val);
   9631 
   9632     void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)(
   9633         IWMPEvents4 *This,
   9634         BSTR name,
   9635         BSTR old_val,
   9636         BSTR new_val);
   9637 
   9638     void (STDMETHODCALLTYPE *PlaylistCollectionChange)(
   9639         IWMPEvents4 *This);
   9640 
   9641     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)(
   9642         IWMPEvents4 *This,
   9643         BSTR name);
   9644 
   9645     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)(
   9646         IWMPEvents4 *This,
   9647         BSTR name);
   9648 
   9649     void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)(
   9650         IWMPEvents4 *This,
   9651         BSTR name,
   9652         VARIANT_BOOL deleted);
   9653 
   9654     void (STDMETHODCALLTYPE *ModeChange)(
   9655         IWMPEvents4 *This,
   9656         BSTR ModeName,
   9657         VARIANT_BOOL value);
   9658 
   9659     void (STDMETHODCALLTYPE *MediaError)(
   9660         IWMPEvents4 *This,
   9661         IDispatch *media);
   9662 
   9663     void (STDMETHODCALLTYPE *OpenPlaylistSwitch)(
   9664         IWMPEvents4 *This,
   9665         IDispatch *item);
   9666 
   9667     void (STDMETHODCALLTYPE *DomainChange)(
   9668         IWMPEvents4 *This,
   9669         BSTR domain);
   9670 
   9671     void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)(
   9672         IWMPEvents4 *This);
   9673 
   9674     void (STDMETHODCALLTYPE *SwitchedToControl)(
   9675         IWMPEvents4 *This);
   9676 
   9677     void (STDMETHODCALLTYPE *PlayerDockedStateChange)(
   9678         IWMPEvents4 *This);
   9679 
   9680     void (STDMETHODCALLTYPE *PlayerReconnect)(
   9681         IWMPEvents4 *This);
   9682 
   9683     void (STDMETHODCALLTYPE *Click)(
   9684         IWMPEvents4 *This,
   9685         short button,
   9686         short shift_state,
   9687         LONG x,
   9688         LONG y);
   9689 
   9690     void (STDMETHODCALLTYPE *DoubleClick)(
   9691         IWMPEvents4 *This,
   9692         short button,
   9693         short shift_state,
   9694         LONG fX,
   9695         LONG fY);
   9696 
   9697     void (STDMETHODCALLTYPE *KeyDown)(
   9698         IWMPEvents4 *This,
   9699         short keycode,
   9700         short shift_state);
   9701 
   9702     void (STDMETHODCALLTYPE *KeyPress)(
   9703         IWMPEvents4 *This,
   9704         short ascii);
   9705 
   9706     void (STDMETHODCALLTYPE *KeyUp)(
   9707         IWMPEvents4 *This,
   9708         short keycode,
   9709         short shift_state);
   9710 
   9711     void (STDMETHODCALLTYPE *MouseDown)(
   9712         IWMPEvents4 *This,
   9713         short button,
   9714         short nShiftState,
   9715         LONG x,
   9716         LONG y);
   9717 
   9718     void (STDMETHODCALLTYPE *MouseMove)(
   9719         IWMPEvents4 *This,
   9720         short button,
   9721         short shift_state,
   9722         LONG x,
   9723         LONG y);
   9724 
   9725     void (STDMETHODCALLTYPE *MouseUp)(
   9726         IWMPEvents4 *This,
   9727         short button,
   9728         short shift_state,
   9729         LONG x,
   9730         LONG y);
   9731 
   9732     /*** IWMPEvents2 methods ***/
   9733     void (STDMETHODCALLTYPE *DeviceConnect)(
   9734         IWMPEvents4 *This,
   9735         IWMPSyncDevice *device);
   9736 
   9737     void (STDMETHODCALLTYPE *DeviceDisconnect)(
   9738         IWMPEvents4 *This,
   9739         IWMPSyncDevice *device);
   9740 
   9741     void (STDMETHODCALLTYPE *DeviceStatusChange)(
   9742         IWMPEvents4 *This,
   9743         IWMPSyncDevice *device,
   9744         WMPDeviceStatus status);
   9745 
   9746     void (STDMETHODCALLTYPE *DeviceSyncStateChange)(
   9747         IWMPEvents4 *This,
   9748         IWMPSyncDevice *device,
   9749         WMPSyncState state);
   9750 
   9751     void (STDMETHODCALLTYPE *DeviceSyncError)(
   9752         IWMPEvents4 *This,
   9753         IWMPSyncDevice *device,
   9754         IDispatch *media);
   9755 
   9756     void (STDMETHODCALLTYPE *CreatePartnershipComplete)(
   9757         IWMPEvents4 *This,
   9758         IWMPSyncDevice *device,
   9759         HRESULT result);
   9760 
   9761     /*** IWMPEvents3 methods ***/
   9762     void (STDMETHODCALLTYPE *CdromRipStateChange)(
   9763         IWMPEvents4 *This,
   9764         IWMPCdromRip *rip,
   9765         WMPRipState state);
   9766 
   9767     void (STDMETHODCALLTYPE *CdromRipMediaError)(
   9768         IWMPEvents4 *This,
   9769         IWMPCdromRip *rip,
   9770         IDispatch *media);
   9771 
   9772     void (STDMETHODCALLTYPE *CdromBurnStateChange)(
   9773         IWMPEvents4 *This,
   9774         IWMPCdromBurn *burn,
   9775         WMPBurnState state);
   9776 
   9777     void (STDMETHODCALLTYPE *CdromBurnMediaError)(
   9778         IWMPEvents4 *This,
   9779         IWMPCdromBurn *burn,
   9780         IDispatch *media);
   9781 
   9782     void (STDMETHODCALLTYPE *CdromBurnError)(
   9783         IWMPEvents4 *This,
   9784         IWMPCdromBurn *burn,
   9785         HRESULT error);
   9786 
   9787     void (STDMETHODCALLTYPE *LibraryConnect)(
   9788         IWMPEvents4 *This,
   9789         IWMPLibrary *wmplibrary);
   9790 
   9791     void (STDMETHODCALLTYPE *LibraryDisconnect)(
   9792         IWMPEvents4 *This,
   9793         IWMPLibrary *wmplibrary);
   9794 
   9795     void (STDMETHODCALLTYPE *FolderScanStateChange)(
   9796         IWMPEvents4 *This,
   9797         WMPFolderScanState state);
   9798 
   9799     void (STDMETHODCALLTYPE *StringCollectionChange)(
   9800         IWMPEvents4 *This,
   9801         IDispatch *collection,
   9802         WMPStringCollectionChangeEventType change,
   9803         LONG index);
   9804 
   9805     void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)(
   9806         IWMPEvents4 *This,
   9807         IDispatch *media);
   9808 
   9809     void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)(
   9810         IWMPEvents4 *This,
   9811         IDispatch *media);
   9812 
   9813     /*** IWMPEvents4 methods ***/
   9814     void (STDMETHODCALLTYPE *DeviceEstimation)(
   9815         IWMPEvents4 *This,
   9816         IWMPSyncDevice *device,
   9817         HRESULT result,
   9818         LONGLONG used_space,
   9819         LONGLONG estimated_space);
   9820 
   9821     END_INTERFACE
   9822 } IWMPEvents4Vtbl;
   9823 
   9824 interface IWMPEvents4 {
   9825     CONST_VTBL IWMPEvents4Vtbl* lpVtbl;
   9826 };
   9827 
   9828 #ifdef COBJMACROS
   9829 #ifndef WIDL_C_INLINE_WRAPPERS
   9830 /*** IUnknown methods ***/
   9831 #define IWMPEvents4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9832 #define IWMPEvents4_AddRef(This) (This)->lpVtbl->AddRef(This)
   9833 #define IWMPEvents4_Release(This) (This)->lpVtbl->Release(This)
   9834 /*** IWMPEvents methods ***/
   9835 #define IWMPEvents4_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state)
   9836 #define IWMPEvents4_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state)
   9837 #define IWMPEvents4_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang)
   9838 #define IWMPEvents4_StatusChange(This) (This)->lpVtbl->StatusChange(This)
   9839 #define IWMPEvents4_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param)
   9840 #define IWMPEvents4_NewStream(This) (This)->lpVtbl->NewStream(This)
   9841 #define IWMPEvents4_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result)
   9842 #define IWMPEvents4_Buffering(This,start) (This)->lpVtbl->Buffering(This,start)
   9843 #define IWMPEvents4_Error(This) (This)->lpVtbl->Error(This)
   9844 #define IWMPEvents4_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description)
   9845 #define IWMPEvents4_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result)
   9846 #define IWMPEvents4_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position)
   9847 #define IWMPEvents4_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker)
   9848 #define IWMPEvents4_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration)
   9849 #define IWMPEvents4_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num)
   9850 #define IWMPEvents4_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change)
   9851 #define IWMPEvents4_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change)
   9852 #define IWMPEvents4_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item)
   9853 #define IWMPEvents4_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item)
   9854 #define IWMPEvents4_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name)
   9855 #define IWMPEvents4_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media)
   9856 #define IWMPEvents4_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This)
   9857 #define IWMPEvents4_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val)
   9858 #define IWMPEvents4_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val)
   9859 #define IWMPEvents4_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val)
   9860 #define IWMPEvents4_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This)
   9861 #define IWMPEvents4_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name)
   9862 #define IWMPEvents4_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name)
   9863 #define IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted)
   9864 #define IWMPEvents4_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value)
   9865 #define IWMPEvents4_MediaError(This,media) (This)->lpVtbl->MediaError(This,media)
   9866 #define IWMPEvents4_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item)
   9867 #define IWMPEvents4_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain)
   9868 #define IWMPEvents4_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This)
   9869 #define IWMPEvents4_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This)
   9870 #define IWMPEvents4_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This)
   9871 #define IWMPEvents4_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This)
   9872 #define IWMPEvents4_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y)
   9873 #define IWMPEvents4_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY)
   9874 #define IWMPEvents4_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state)
   9875 #define IWMPEvents4_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii)
   9876 #define IWMPEvents4_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state)
   9877 #define IWMPEvents4_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y)
   9878 #define IWMPEvents4_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y)
   9879 #define IWMPEvents4_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y)
   9880 /*** IWMPEvents2 methods ***/
   9881 #define IWMPEvents4_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device)
   9882 #define IWMPEvents4_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device)
   9883 #define IWMPEvents4_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status)
   9884 #define IWMPEvents4_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state)
   9885 #define IWMPEvents4_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media)
   9886 #define IWMPEvents4_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result)
   9887 /*** IWMPEvents3 methods ***/
   9888 #define IWMPEvents4_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state)
   9889 #define IWMPEvents4_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media)
   9890 #define IWMPEvents4_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state)
   9891 #define IWMPEvents4_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media)
   9892 #define IWMPEvents4_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error)
   9893 #define IWMPEvents4_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary)
   9894 #define IWMPEvents4_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary)
   9895 #define IWMPEvents4_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state)
   9896 #define IWMPEvents4_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index)
   9897 #define IWMPEvents4_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media)
   9898 #define IWMPEvents4_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media)
   9899 /*** IWMPEvents4 methods ***/
   9900 #define IWMPEvents4_DeviceEstimation(This,device,result,used_space,estimated_space) (This)->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space)
   9901 #else
   9902 /*** IUnknown methods ***/
   9903 static inline HRESULT IWMPEvents4_QueryInterface(IWMPEvents4* This,REFIID riid,void **ppvObject) {
   9904     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9905 }
   9906 static inline ULONG IWMPEvents4_AddRef(IWMPEvents4* This) {
   9907     return This->lpVtbl->AddRef(This);
   9908 }
   9909 static inline ULONG IWMPEvents4_Release(IWMPEvents4* This) {
   9910     return This->lpVtbl->Release(This);
   9911 }
   9912 /*** IWMPEvents methods ***/
   9913 static inline void IWMPEvents4_OpenStateChange(IWMPEvents4* This,LONG state) {
   9914     This->lpVtbl->OpenStateChange(This,state);
   9915 }
   9916 static inline void IWMPEvents4_PlayStateChange(IWMPEvents4* This,LONG state) {
   9917     This->lpVtbl->PlayStateChange(This,state);
   9918 }
   9919 static inline void IWMPEvents4_AudioLanguageChange(IWMPEvents4* This,LONG lang) {
   9920     This->lpVtbl->AudioLanguageChange(This,lang);
   9921 }
   9922 static inline void IWMPEvents4_StatusChange(IWMPEvents4* This) {
   9923     This->lpVtbl->StatusChange(This);
   9924 }
   9925 static inline void IWMPEvents4_ScriptCommand(IWMPEvents4* This,BSTR type,BSTR param) {
   9926     This->lpVtbl->ScriptCommand(This,type,param);
   9927 }
   9928 static inline void IWMPEvents4_NewStream(IWMPEvents4* This) {
   9929     This->lpVtbl->NewStream(This);
   9930 }
   9931 static inline void IWMPEvents4_Disconnect(IWMPEvents4* This,LONG result) {
   9932     This->lpVtbl->Disconnect(This,result);
   9933 }
   9934 static inline void IWMPEvents4_Buffering(IWMPEvents4* This,VARIANT_BOOL start) {
   9935     This->lpVtbl->Buffering(This,start);
   9936 }
   9937 static inline void IWMPEvents4_Error(IWMPEvents4* This) {
   9938     This->lpVtbl->Error(This);
   9939 }
   9940 static inline void IWMPEvents4_Warning(IWMPEvents4* This,LONG warning,LONG param,BSTR description) {
   9941     This->lpVtbl->Warning(This,warning,param,description);
   9942 }
   9943 static inline void IWMPEvents4_EndOfStream(IWMPEvents4* This,LONG result) {
   9944     This->lpVtbl->EndOfStream(This,result);
   9945 }
   9946 static inline void IWMPEvents4_PositionChange(IWMPEvents4* This,double old_position,double new_position) {
   9947     This->lpVtbl->PositionChange(This,old_position,new_position);
   9948 }
   9949 static inline void IWMPEvents4_MarkerHit(IWMPEvents4* This,LONG marker) {
   9950     This->lpVtbl->MarkerHit(This,marker);
   9951 }
   9952 static inline void IWMPEvents4_DurationUnitChange(IWMPEvents4* This,LONG duration) {
   9953     This->lpVtbl->DurationUnitChange(This,duration);
   9954 }
   9955 static inline void IWMPEvents4_CdromMediaChange(IWMPEvents4* This,LONG num) {
   9956     This->lpVtbl->CdromMediaChange(This,num);
   9957 }
   9958 static inline void IWMPEvents4_PlaylistChange(IWMPEvents4* This,IDispatch *playlist,WMPPlaylistChangeEventType change) {
   9959     This->lpVtbl->PlaylistChange(This,playlist,change);
   9960 }
   9961 static inline void IWMPEvents4_CurrentPlaylistChange(IWMPEvents4* This,WMPPlaylistChangeEventType change) {
   9962     This->lpVtbl->CurrentPlaylistChange(This,change);
   9963 }
   9964 static inline void IWMPEvents4_CurrentPlaylistItemAvailable(IWMPEvents4* This,BSTR item) {
   9965     This->lpVtbl->CurrentPlaylistItemAvailable(This,item);
   9966 }
   9967 static inline void IWMPEvents4_MediaChange(IWMPEvents4* This,IDispatch *item) {
   9968     This->lpVtbl->MediaChange(This,item);
   9969 }
   9970 static inline void IWMPEvents4_CurrentMediaItemAvailable(IWMPEvents4* This,BSTR name) {
   9971     This->lpVtbl->CurrentMediaItemAvailable(This,name);
   9972 }
   9973 static inline void IWMPEvents4_CurrentItemChange(IWMPEvents4* This,IDispatch *media) {
   9974     This->lpVtbl->CurrentItemChange(This,media);
   9975 }
   9976 static inline void IWMPEvents4_MediaCollectionChange(IWMPEvents4* This) {
   9977     This->lpVtbl->MediaCollectionChange(This);
   9978 }
   9979 static inline void IWMPEvents4_MediaCollectionAttributeStringAdded(IWMPEvents4* This,BSTR name,BSTR val) {
   9980     This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val);
   9981 }
   9982 static inline void IWMPEvents4_MediaCollectionAttributeStringRemoved(IWMPEvents4* This,BSTR name,BSTR val) {
   9983     This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val);
   9984 }
   9985 static inline void IWMPEvents4_MediaCollectionAttributeStringChanged(IWMPEvents4* This,BSTR name,BSTR old_val,BSTR new_val) {
   9986     This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val);
   9987 }
   9988 static inline void IWMPEvents4_PlaylistCollectionChange(IWMPEvents4* This) {
   9989     This->lpVtbl->PlaylistCollectionChange(This);
   9990 }
   9991 static inline void IWMPEvents4_PlaylistCollectionPlaylistAdded(IWMPEvents4* This,BSTR name) {
   9992     This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name);
   9993 }
   9994 static inline void IWMPEvents4_PlaylistCollectionPlaylistRemoved(IWMPEvents4* This,BSTR name) {
   9995     This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name);
   9996 }
   9997 static inline void IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents4* This,BSTR name,VARIANT_BOOL deleted) {
   9998     This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted);
   9999 }
  10000 static inline void IWMPEvents4_ModeChange(IWMPEvents4* This,BSTR ModeName,VARIANT_BOOL value) {
  10001     This->lpVtbl->ModeChange(This,ModeName,value);
  10002 }
  10003 static inline void IWMPEvents4_MediaError(IWMPEvents4* This,IDispatch *media) {
  10004     This->lpVtbl->MediaError(This,media);
  10005 }
  10006 static inline void IWMPEvents4_OpenPlaylistSwitch(IWMPEvents4* This,IDispatch *item) {
  10007     This->lpVtbl->OpenPlaylistSwitch(This,item);
  10008 }
  10009 static inline void IWMPEvents4_DomainChange(IWMPEvents4* This,BSTR domain) {
  10010     This->lpVtbl->DomainChange(This,domain);
  10011 }
  10012 static inline void IWMPEvents4_SwitchedToPlayerApplication(IWMPEvents4* This) {
  10013     This->lpVtbl->SwitchedToPlayerApplication(This);
  10014 }
  10015 static inline void IWMPEvents4_SwitchedToControl(IWMPEvents4* This) {
  10016     This->lpVtbl->SwitchedToControl(This);
  10017 }
  10018 static inline void IWMPEvents4_PlayerDockedStateChange(IWMPEvents4* This) {
  10019     This->lpVtbl->PlayerDockedStateChange(This);
  10020 }
  10021 static inline void IWMPEvents4_PlayerReconnect(IWMPEvents4* This) {
  10022     This->lpVtbl->PlayerReconnect(This);
  10023 }
  10024 static inline void IWMPEvents4_Click(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  10025     This->lpVtbl->Click(This,button,shift_state,x,y);
  10026 }
  10027 static inline void IWMPEvents4_DoubleClick(IWMPEvents4* This,short button,short shift_state,LONG fX,LONG fY) {
  10028     This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY);
  10029 }
  10030 static inline void IWMPEvents4_KeyDown(IWMPEvents4* This,short keycode,short shift_state) {
  10031     This->lpVtbl->KeyDown(This,keycode,shift_state);
  10032 }
  10033 static inline void IWMPEvents4_KeyPress(IWMPEvents4* This,short ascii) {
  10034     This->lpVtbl->KeyPress(This,ascii);
  10035 }
  10036 static inline void IWMPEvents4_KeyUp(IWMPEvents4* This,short keycode,short shift_state) {
  10037     This->lpVtbl->KeyUp(This,keycode,shift_state);
  10038 }
  10039 static inline void IWMPEvents4_MouseDown(IWMPEvents4* This,short button,short nShiftState,LONG x,LONG y) {
  10040     This->lpVtbl->MouseDown(This,button,nShiftState,x,y);
  10041 }
  10042 static inline void IWMPEvents4_MouseMove(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  10043     This->lpVtbl->MouseMove(This,button,shift_state,x,y);
  10044 }
  10045 static inline void IWMPEvents4_MouseUp(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) {
  10046     This->lpVtbl->MouseUp(This,button,shift_state,x,y);
  10047 }
  10048 /*** IWMPEvents2 methods ***/
  10049 static inline void IWMPEvents4_DeviceConnect(IWMPEvents4* This,IWMPSyncDevice *device) {
  10050     This->lpVtbl->DeviceConnect(This,device);
  10051 }
  10052 static inline void IWMPEvents4_DeviceDisconnect(IWMPEvents4* This,IWMPSyncDevice *device) {
  10053     This->lpVtbl->DeviceDisconnect(This,device);
  10054 }
  10055 static inline void IWMPEvents4_DeviceStatusChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPDeviceStatus status) {
  10056     This->lpVtbl->DeviceStatusChange(This,device,status);
  10057 }
  10058 static inline void IWMPEvents4_DeviceSyncStateChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPSyncState state) {
  10059     This->lpVtbl->DeviceSyncStateChange(This,device,state);
  10060 }
  10061 static inline void IWMPEvents4_DeviceSyncError(IWMPEvents4* This,IWMPSyncDevice *device,IDispatch *media) {
  10062     This->lpVtbl->DeviceSyncError(This,device,media);
  10063 }
  10064 static inline void IWMPEvents4_CreatePartnershipComplete(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result) {
  10065     This->lpVtbl->CreatePartnershipComplete(This,device,result);
  10066 }
  10067 /*** IWMPEvents3 methods ***/
  10068 static inline void IWMPEvents4_CdromRipStateChange(IWMPEvents4* This,IWMPCdromRip *rip,WMPRipState state) {
  10069     This->lpVtbl->CdromRipStateChange(This,rip,state);
  10070 }
  10071 static inline void IWMPEvents4_CdromRipMediaError(IWMPEvents4* This,IWMPCdromRip *rip,IDispatch *media) {
  10072     This->lpVtbl->CdromRipMediaError(This,rip,media);
  10073 }
  10074 static inline void IWMPEvents4_CdromBurnStateChange(IWMPEvents4* This,IWMPCdromBurn *burn,WMPBurnState state) {
  10075     This->lpVtbl->CdromBurnStateChange(This,burn,state);
  10076 }
  10077 static inline void IWMPEvents4_CdromBurnMediaError(IWMPEvents4* This,IWMPCdromBurn *burn,IDispatch *media) {
  10078     This->lpVtbl->CdromBurnMediaError(This,burn,media);
  10079 }
  10080 static inline void IWMPEvents4_CdromBurnError(IWMPEvents4* This,IWMPCdromBurn *burn,HRESULT error) {
  10081     This->lpVtbl->CdromBurnError(This,burn,error);
  10082 }
  10083 static inline void IWMPEvents4_LibraryConnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) {
  10084     This->lpVtbl->LibraryConnect(This,wmplibrary);
  10085 }
  10086 static inline void IWMPEvents4_LibraryDisconnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) {
  10087     This->lpVtbl->LibraryDisconnect(This,wmplibrary);
  10088 }
  10089 static inline void IWMPEvents4_FolderScanStateChange(IWMPEvents4* This,WMPFolderScanState state) {
  10090     This->lpVtbl->FolderScanStateChange(This,state);
  10091 }
  10092 static inline void IWMPEvents4_StringCollectionChange(IWMPEvents4* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) {
  10093     This->lpVtbl->StringCollectionChange(This,collection,change,index);
  10094 }
  10095 static inline void IWMPEvents4_MediaCollectionMediaAdded(IWMPEvents4* This,IDispatch *media) {
  10096     This->lpVtbl->MediaCollectionMediaAdded(This,media);
  10097 }
  10098 static inline void IWMPEvents4_MediaCollectionMediaRemoved(IWMPEvents4* This,IDispatch *media) {
  10099     This->lpVtbl->MediaCollectionMediaRemoved(This,media);
  10100 }
  10101 /*** IWMPEvents4 methods ***/
  10102 static inline void IWMPEvents4_DeviceEstimation(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result,LONGLONG used_space,LONGLONG estimated_space) {
  10103     This->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space);
  10104 }
  10105 #endif
  10106 #endif
  10107 
  10108 #endif
  10109 
  10110 
  10111 #endif  /* __IWMPEvents4_INTERFACE_DEFINED__ */
  10112 
  10113 /*****************************************************************************
  10114  * _WMPOCXEvents interface
  10115  */
  10116 #ifndef ___WMPOCXEvents_INTERFACE_DEFINED__
  10117 #define ___WMPOCXEvents_INTERFACE_DEFINED__
  10118 
  10119 DEFINE_GUID(IID__WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  10120 #if defined(__cplusplus) && !defined(CINTERFACE)
  10121 MIDL_INTERFACE("6bf52a51-394a-11d3-b153-00c04f79faa6")
  10122 _WMPOCXEvents : public IDispatch
  10123 {
  10124 };
  10125 #ifdef __CRT_UUID_DECL
  10126 __CRT_UUID_DECL(_WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  10127 #endif
  10128 #else
  10129 typedef struct _WMPOCXEventsVtbl {
  10130     BEGIN_INTERFACE
  10131 
  10132     /*** IUnknown methods ***/
  10133     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10134         _WMPOCXEvents *This,
  10135         REFIID riid,
  10136         void **ppvObject);
  10137 
  10138     ULONG (STDMETHODCALLTYPE *AddRef)(
  10139         _WMPOCXEvents *This);
  10140 
  10141     ULONG (STDMETHODCALLTYPE *Release)(
  10142         _WMPOCXEvents *This);
  10143 
  10144     /*** IDispatch methods ***/
  10145     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10146         _WMPOCXEvents *This,
  10147         UINT *pctinfo);
  10148 
  10149     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10150         _WMPOCXEvents *This,
  10151         UINT iTInfo,
  10152         LCID lcid,
  10153         ITypeInfo **ppTInfo);
  10154 
  10155     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10156         _WMPOCXEvents *This,
  10157         REFIID riid,
  10158         LPOLESTR *rgszNames,
  10159         UINT cNames,
  10160         LCID lcid,
  10161         DISPID *rgDispId);
  10162 
  10163     HRESULT (STDMETHODCALLTYPE *Invoke)(
  10164         _WMPOCXEvents *This,
  10165         DISPID dispIdMember,
  10166         REFIID riid,
  10167         LCID lcid,
  10168         WORD wFlags,
  10169         DISPPARAMS *pDispParams,
  10170         VARIANT *pVarResult,
  10171         EXCEPINFO *pExcepInfo,
  10172         UINT *puArgErr);
  10173 
  10174     END_INTERFACE
  10175 } _WMPOCXEventsVtbl;
  10176 
  10177 interface _WMPOCXEvents {
  10178     CONST_VTBL _WMPOCXEventsVtbl* lpVtbl;
  10179 };
  10180 
  10181 #ifdef COBJMACROS
  10182 #ifndef WIDL_C_INLINE_WRAPPERS
  10183 /*** IUnknown methods ***/
  10184 #define _WMPOCXEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10185 #define _WMPOCXEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  10186 #define _WMPOCXEvents_Release(This) (This)->lpVtbl->Release(This)
  10187 /*** IDispatch methods ***/
  10188 #define _WMPOCXEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10189 #define _WMPOCXEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10190 #define _WMPOCXEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10191 #define _WMPOCXEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10192 #else
  10193 /*** IUnknown methods ***/
  10194 static inline HRESULT _WMPOCXEvents_QueryInterface(_WMPOCXEvents* This,REFIID riid,void **ppvObject) {
  10195     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10196 }
  10197 static inline ULONG _WMPOCXEvents_AddRef(_WMPOCXEvents* This) {
  10198     return This->lpVtbl->AddRef(This);
  10199 }
  10200 static inline ULONG _WMPOCXEvents_Release(_WMPOCXEvents* This) {
  10201     return This->lpVtbl->Release(This);
  10202 }
  10203 /*** IDispatch methods ***/
  10204 static inline HRESULT _WMPOCXEvents_GetTypeInfoCount(_WMPOCXEvents* This,UINT *pctinfo) {
  10205     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10206 }
  10207 static inline HRESULT _WMPOCXEvents_GetTypeInfo(_WMPOCXEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10208     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10209 }
  10210 static inline HRESULT _WMPOCXEvents_GetIDsOfNames(_WMPOCXEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10211     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10212 }
  10213 static inline HRESULT _WMPOCXEvents_Invoke(_WMPOCXEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10214     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10215 }
  10216 #endif
  10217 #endif
  10218 
  10219 #endif
  10220 
  10221 
  10222 #endif  /* ___WMPOCXEvents_INTERFACE_DEFINED__ */
  10223 
  10224 /*****************************************************************************
  10225  * WindowsMediaPlayer coclass
  10226  */
  10227 
  10228 DEFINE_GUID(CLSID_WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6);
  10229 
  10230 #ifdef __cplusplus
  10231 class DECLSPEC_UUID("6bf52a52-394a-11d3-b153-00c04f79faa6") WindowsMediaPlayer;
  10232 #ifdef __CRT_UUID_DECL
  10233 __CRT_UUID_DECL(WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6)
  10234 #endif
  10235 #endif
  10236 
  10237 #endif /* __WMPLib_LIBRARY_DEFINED__ */
  10238 /* Begin additional prototypes for all interfaces */
  10239 
  10240 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
  10241 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
  10242 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  10243 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
  10244 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
  10245 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
  10246 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  10247 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
  10248 
  10249 /* End additional prototypes */
  10250 
  10251 #ifdef __cplusplus
  10252 }
  10253 #endif
  10254 
  10255 #endif /* __wmp_h__ */