2 * Copyright 2014 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #define threading
(model
)
25 #define vi_progid
(str
)
29 helpstring("Windows Media Player"),
31 uuid(6bf52a50
-394a
-11d3
-b153
-00c04f79Faa6
)
34 importlib
("stdole2.tlb");
38 wmposPlaylistChanging
,
39 wmposPlaylistLocating
,
40 wmposPlaylistConnecting
,
43 wmposPlaylistOpenNoMedia
,
51 wmposBeginCodecAcquisition
,
52 wmposEndCodecAcquisition
,
53 wmposBeginLicenseAcquisition
,
54 wmposEndLicenseAcquisition
,
55 wmposBeginIndividualization
,
56 wmposEndIndividualization
,
58 wmposOpeningUnknownURL
90 } WMPPlaylistChangeEventType
;
94 wmpdsPartnershipExists
,
95 wmpdsPartnershipDeclined
,
96 wmpdsPartnershipAnother
,
126 wmpbsRefreshStatusPending
,
127 wmpbsPreparingToBurn
,
148 } WMPFolderScanState
;
156 wmpsccetBeginUpdates
,
158 } WMPStringCollectionChangeEventType
;
164 uuid(d5f0f4f1
-130c
-11d3
-b14e
-00c04f79Faa6
),
168 interface IWMPPlaylist
: IDispatch
170 [id(0x00c9), propget]
171 HRESULT count
([out, retval] long *plCount
);
173 [id(0x00ca), propget]
174 HRESULT name
([out, retval] BSTR *pbstrName
);
175 [id(0x00ca), propput]
176 HRESULT name
([in] BSTR pbstrName
);
178 [id(0x00d2), propget]
179 HRESULT attributeCount
([out, retval] long *plCount
);
181 [id(0x00d3), propget]
182 HRESULT attributeName
(
184 [out, retval] BSTR *pbstrAttributeName
);
186 [id(0x00d4), propget]
189 [out, retval] IWMPMedia
** ppIWMPMedia
);
194 [out, retval] BSTR *pbstrVal
);
199 [in] BSTR bstrValue
);
201 [id(0x00d5), propget]
203 [in] IWMPPlaylist
*pIWMPPlaylist
,
204 [out, retval] VARIANT_BOOL *pvbool
);
212 [in] IWMPMedia
*pIWMPMedia
);
215 HRESULT appendItem
([in] IWMPMedia
*pIWMPMedia
);
218 HRESULT removeItem
([in] IWMPMedia
*pIWMPMedia
);
228 uuid(94d55e95
-3Fac
-11d3
-b155
-00c04f79faa6
),
232 interface IWMPMedia
: IDispatch
234 [id(0x02fb), propget]
236 [in] IWMPMedia
*pIWMPMedia
,
237 [out, retval] VARIANT_BOOL *pvbool
);
239 [id(0x02ef), propget]
240 HRESULT sourceURL
([out, retval] BSTR *pbstrSourceURL
);
242 [id(0x02fc), propget]
243 HRESULT name
([out, retval] BSTR *pbstrName
);
244 [id(0x02fc), propput]
245 HRESULT name
([in] BSTR pbstrName
);
247 [id(0x02f0), propget]
248 HRESULT imageSourceWidth
([out, retval] long *pWidth
);
250 [id(0x02f1), propget]
251 HRESULT imageSourceHeight
([out, retval] long *pHeight
);
253 [id(0x02f2), propget]
254 HRESULT markerCount
([out, retval] long *pMarkerCount
);
257 HRESULT getMarkerTime
(
259 [out, retval] double *pMarkerTime
);
262 HRESULT getMarkerName
(
264 [out, retval] BSTR *pbstrMarkerName
);
266 [id(0x02f5), propget]
267 HRESULT duration
([out, retval] double *pDuration
);
269 [id(0x02f6), propget]
270 HRESULT durationString
([out, retval] BSTR *pbstrDuration
);
272 [id(0x02f7), propget]
273 HRESULT attributeCount
([out, retval] long *plCount
);
276 HRESULT getAttributeName
(
278 [out, retval] BSTR *pbstrItemName
);
282 [in] BSTR bstrItemName
,
283 [out, retval] BSTR *pbstrVal
);
287 [in] BSTR bstrItemName
,
291 HRESULT getItemInfoByAtom
(
293 [out, retval] BSTR *pbstrVal
);
297 [in] IWMPPlaylist
*pPlaylist
,
298 [out, retval] VARIANT_BOOL *pvarfIsMemberOf
);
301 HRESULT isReadOnlyItem
(
302 [in] BSTR bstrItemName
,
303 [out, retval] VARIANT_BOOL *pvarfIsReadOnly
);
308 uuid(74c09E02
-f828
-11d2
-a74b
-00a0c905f36e
),
312 interface IWMPControls
: IDispatch
{
313 [id(0x003e), propget]
316 [out, retval] VARIANT_BOOL *pIsAvailable
);
328 HRESULT fastForward
();
331 HRESULT fastReverse
();
333 [id(0x0038), propget]
334 HRESULT currentPosition
([out, retval] double *pdCurrentPosition
);
335 [id(0x0038), propput]
336 HRESULT currentPosition
([in] double pdCurrentPosition
);
338 [id(0x0039), propget]
339 HRESULT currentPositionString
([out, retval] BSTR *pbstrCurrentPosition
);
348 HRESULT currentItem
([out, retval] IWMPMedia
**ppIWMPMedia
);
350 [id(0x003c), propput]
351 HRESULT currentItem
([in] IWMPMedia
*ppIWMPMedia
);
353 [id(0x003d), propget]
354 HRESULT currentMarker
([out, retval] long *plMarker
);
356 [id(0x003d), propput]
357 HRESULT currentMarker
([in] long plMarker
);
360 HRESULT playItem
([in] IWMPMedia
*pIWMPMedia
);
365 uuid(9104d1ab
-80c9
-4fed
-abf0
-2e6417a6df14
),
369 interface IWMPSettings
: IDispatch
371 [id(0x0071), propget]
374 [out, retval] VARIANT_BOOL *pIsAvailable
);
376 [id(0x0065), propget]
377 HRESULT autoStart
([out, retval] VARIANT_BOOL *pfAutoStart
);
378 [id(0x0065), propput]
379 HRESULT autoStart
([in] VARIANT_BOOL pfAutoStart
);
381 [id(0x006c), propget]
382 HRESULT baseURL
([out, retval] BSTR *pbstrBaseURL
);
383 [id(0x006c), propput]
384 HRESULT baseURL
([in] BSTR pbstrBaseURL
);
386 [id(0x006d), propget]
387 HRESULT defaultFrame
([out, retval] BSTR *pbstrDefaultFrame
);
388 [id(0x006d), propput]
389 HRESULT defaultFrame
([in] BSTR pbstrDefaultFrame
);
391 [id(0x0067), propget]
392 HRESULT invokeURLs
([out, retval] VARIANT_BOOL *pfInvokeURLs
);
393 [id(0x0067), propput]
394 HRESULT invokeURLs
([in] VARIANT_BOOL pfInvokeURLs
);
396 [id(0x0068), propget]
397 HRESULT mute
([out, retval] VARIANT_BOOL *pfMute
);
398 [id(0x0068), propput]
399 HRESULT mute
([in] VARIANT_BOOL pfMute
);
401 [id(0x0069), propget]
402 HRESULT playCount
([out, retval] long *plCount
);
403 [id(0x0069), propput]
404 HRESULT playCount
([in] long plCount
);
406 [id(0x006a), propget]
407 HRESULT rate
([out, retval] double *pdRate
);
408 [id(0x006a), propput]
409 HRESULT rate
([in] double pdRate
);
411 [id(0x0066), propget]
412 HRESULT balance
([out, retval] long *plBalance
);
413 [id(0x0066), propput]
414 HRESULT balance
([in] long plBalance
);
416 [id(0x006b), propget]
417 HRESULT volume
([out, retval] long *plVolume
);
418 [id(0x006b), propput]
419 HRESULT volume
([in] long plVolume
);
424 [out, retval] VARIANT_BOOL *pvarfMode
);
429 [in] VARIANT_BOOL varfMode
);
431 [id(0x0070), propget]
432 HRESULT enableErrorDialogs
([out, retval] VARIANT_BOOL *pfEnableErrorDialogs
);
434 [id(0x0070), propput]
435 HRESULT enableErrorDialogs
([in] VARIANT_BOOL pfEnableErrorDialogs
);
440 uuid(4a976298
-8c0d
-11d3
-b389
-00c04f68574b
),
444 interface IWMPStringCollection
: IDispatch
446 [id(0x0191), propget]
447 HRESULT count
([out, retval] long *plCount
);
452 [out, retval] BSTR *pbstrString
);
457 uuid(8363bc22
-b4b4
-4b19
-989d
-1cd765749dd1
),
461 interface IWMPMediaCollection
: IDispatch
466 [out, retval] IWMPMedia
**ppItem
);
469 HRESULT getAll
([out, retval] IWMPPlaylist
**ppMediaItems
);
474 [out, retval] IWMPPlaylist
**ppMediaItems
);
479 [out, retval] IWMPPlaylist
**ppMediaItems
);
483 [in] BSTR bstrAuthor
,
484 [out, retval] IWMPPlaylist
**ppMediaItems
);
489 [out, retval] IWMPPlaylist
**ppMediaItems
);
492 HRESULT getByAttribute
(
493 [in] BSTR bstrAttribute
,
495 [out, retval] IWMPPlaylist
**ppMediaItems
);
499 [in] IWMPMedia
*pItem
,
500 [in] VARIANT_BOOL varfDeleteFile
);
503 HRESULT getAttributeStringCollection
(
504 [in] BSTR bstrAttribute
,
505 [in] BSTR bstrMediaType
,
506 [out, retval] IWMPStringCollection
**ppStringCollection
);
509 HRESULT getMediaAtom
(
510 [in] BSTR bstrItemName
,
511 [out, retval] long *plAtom
);
515 [in] IWMPMedia
*pItem
,
516 [in] VARIANT_BOOL varfIsDeleted
);
520 [in] IWMPMedia
*pItem
,
521 [out, retval] VARIANT_BOOL *pvarfIsDeleted
);
526 uuid(679409c0
-99f7
-11d3
-9fb7
-00105aa620bb
),
530 interface IWMPPlaylistArray
: IDispatch
532 [id(0x01f5), propget]
533 HRESULT count
([out, retval] long *plCount
);
538 [out, retval] IWMPPlaylist
**ppItem
);
543 uuid(10a13217
-23a7
-439b
-b1c0
-d847c79b7774
),
547 interface IWMPPlaylistCollection
: IDispatch
552 [out, retval] IWMPPlaylist
**ppItem
);
555 HRESULT getAll
([out, retval] IWMPPlaylistArray
**ppPlaylistArray
);
560 [out, retval] IWMPPlaylistArray
**ppPlaylistArray
);
563 HRESULT remove
([in] IWMPPlaylist
*pItem
);
567 [in] IWMPPlaylist
*pItem
,
568 [in] VARIANT_BOOL varfIsDeleted
);
572 [in] IWMPPlaylist
*pItem
,
573 [out, retval] VARIANT_BOOL *pvarfIsDeleted
);
576 HRESULT importPlaylist
(
577 [in] IWMPPlaylist
*pItem
,
578 [out, retval] IWMPPlaylist
**ppImportedItem
);
583 uuid(ec21b779
-edef
-462d
-bba4
-ad9dde2b29a7
),
587 interface IWMPNetwork
: IDispatch
589 [id(0x0321), propget]
590 HRESULT bandWidth
([out, retval] long *plBandwidth
);
592 [id(0x0322), propget]
593 HRESULT recoveredPackets
([out, retval] long *plRecoveredPackets
);
595 [id(0x0323), propget]
596 HRESULT sourceProtocol
([out, retval] BSTR *pbstrSourceProtocol
);
598 [id(0x0324), propget]
599 HRESULT receivedPackets
([out, retval] long *plReceivedPackets
);
601 [id(0x0325), propget]
602 HRESULT lostPackets
([out, retval] long *plLostPackets
);
604 [id(0x0326), propget]
605 HRESULT receptionQuality
([out, retval] long *plReceptionQuality
);
607 [id(0x0327), propget]
608 HRESULT bufferingCount
([out, retval] long *plBufferingCount
);
610 [id(0x0328), propget]
611 HRESULT bufferingProgress
([out, retval] long *plBufferingProgress
);
613 [id(0x0329), propget]
614 HRESULT bufferingTime
([out, retval] long *plBufferingTime
);
616 [id(0x0329), propput]
617 HRESULT bufferingTime
([in] long plBufferingTime
);
619 [id(0x032a), propget]
620 HRESULT frameRate
([out, retval] long *plFrameRate
);
622 [id(0x032b), propget]
623 HRESULT maxBitRate
([out, retval] long *plBitRate
);
625 [id(0x032c), propget]
626 HRESULT bitRate
([out, retval] long *plBitRate
);
629 HRESULT getProxySettings
(
630 [in] BSTR bstrProtocol
,
631 [out, retval] long *plProxySetting
);
634 HRESULT setProxySettings
(
635 [in] BSTR bstrProtocol
,
636 [in] long lProxySetting
);
639 HRESULT getProxyName
(
640 [in] BSTR bstrProtocol
,
641 [out, retval] BSTR *pbstrProxyName
);
644 HRESULT setProxyName
(
645 [in] BSTR bstrProtocol
,
646 [in] BSTR bstrProxyName
);
649 HRESULT getProxyPort
(
650 [in] BSTR bstrProtocol
,
651 [out, retval] long *lProxyPort
);
654 HRESULT setProxyPort
(
655 [in] BSTR bstrProtocol
,
656 [in] long lProxyPort
);
659 HRESULT getProxyExceptionList
(
660 [in] BSTR bstrProtocol
,
661 [out, retval] BSTR *pbstrExceptionList
);
664 HRESULT setProxyExceptionList
(
665 [in] BSTR bstrProtocol
,
666 [in] BSTR pbstrExceptionList
);
669 HRESULT getProxyBypassForLocal
(
670 [in] BSTR bstrProtocol
,
671 [out, retval] VARIANT_BOOL *pfBypassForLocal
);
674 HRESULT setProxyBypassForLocal
(
675 [in] BSTR bstrProtocol
,
676 [in] VARIANT_BOOL fBypassForLocal
);
678 [id(0x0337), propget]
679 HRESULT maxBandwidth
([out, retval] long *lMaxBandwidth
);
680 [id(0x0337), propput]
681 HRESULT maxBandwidth
([in] long lMaxBandwidth
);
683 [id(0x0338), propget]
684 HRESULT downloadProgress
([out, retval] long *plDownloadProgress
);
686 [id(0x0339), propget]
687 HRESULT encodedFrameRate
([out, retval] long *plFrameRate
);
689 [id(0x033a), propget]
690 HRESULT framesSkipped
([out, retval] long *plFrames
);
695 uuid(cfab6e98
-8730-11d3
-b388
-00c04f68574b
),
699 interface IWMPCdrom
: IDispatch
701 [id(0x00fb), propget]
702 HRESULT driveSpecifier
([out, retval] BSTR *pbstrDrive
);
704 [id(0x00fc), propget]
705 HRESULT Playlist
([out, retval] IWMPPlaylist
**ppPlaylist
);
713 uuid(ee4c8fe2
-34b2
-11d3
-a3bf
-006097c9b344
),
717 interface IWMPCdromCollection
: IDispatch
719 [id(0x012d), propget]
720 HRESULT count
([out, retval] long *plCount
);
725 [out, retval] IWMPCdrom
**ppItem
);
728 HRESULT getByDriveSpecifier
(
729 [in] BSTR bstrDriveSpecifier
,
730 [out, retval] IWMPCdrom
**ppCdrom
);
735 uuid(8da61686
-4668-4a5c
-ae5d
-803193293dbe
),
739 interface IWMPDVD
: IDispatch
741 [id(0x03e9), propget]
744 [out, retval] VARIANT_BOOL *pIsAvailable
);
746 [id(0x03ea), propget]
747 HRESULT domain
([out, retval] BSTR *strDomain
);
764 uuid(4f2df574
-c588
-11d3
-9ed0
-00c04fb6e937
),
768 interface IWMPClosedCaption
: IDispatch
770 [id(0x03b7), propget]
771 HRESULT SAMIStyle
([out, retval] BSTR *pbstrSAMIStyle
);
772 [id(0x03b7), propput]
773 HRESULT SAMIStyle
([in] BSTR pbstrSAMIStyle
);
775 [id(0x03b8), propget]
776 HRESULT SAMILang
([out, retval] BSTR *pbstrSAMILang
);
778 [id(0x03b8), propput]
779 HRESULT SAMILang
([in] BSTR pbstrSAMILang
);
781 [id(0x03b9), propget]
782 HRESULT SAMIFileName
([out, retval] BSTR *pbstrSAMIFileName
);
784 [id(0x03b9), propput]
785 HRESULT SAMIFileName
([in] BSTR pbstrSAMIFileName
);
787 [id(0x03ba), propget]
788 HRESULT captioningId
([out, retval] BSTR *pbstrCaptioningID
);
790 [id(0x03ba), propput]
791 HRESULT captioningId
([in] BSTR pbstrCaptioningID
);
796 uuid(3614c646
-3b3b
-4de7
-a81e
-930e3f2127b3
),
800 interface IWMPErrorItem
: IDispatch
802 [id(0x0385), propget]
803 HRESULT errorCode
([out, retval] long *phr
);
805 [id(0x0386), propget]
806 HRESULT errorDescription
([out, retval] BSTR *pbstrDescription
);
808 [id(0x0387), propget]
809 HRESULT errorContext
([out, retval] VARIANT *pvarContext
);
811 [id(0x0388), propget]
812 HRESULT remedy
([out, retval] long *plRemedy
);
814 [id(0x0389), propget]
815 HRESULT customUrl
([out, retval] BSTR *pbstrCustomUrl
);
820 uuid(a12dcf7d
-14ab
-4c1b
-a8cd
-63909f06025b
),
824 interface IWMPError
: IDispatch
827 HRESULT clearErrorQueue
();
829 [id(0x0354), propget]
830 HRESULT errorCount
([out, retval] long *plNumErrors
);
832 [id(0x0355), propget]
835 [out, retval] IWMPErrorItem
**ppErrorItem
);
843 uuid(40897764-ceab
-47be
-ad4a
-8e28537f9bbf
),
847 interface IWMPPlayerApplication
: IDispatch
850 HRESULT switchToPlayerApplication
();
853 HRESULT switchToControl
();
855 [id(0x044f), propget]
856 HRESULT playerDocked
([out, retval] VARIANT_BOOL* pbPlayerDocked
);
858 [id(0x0450), propget]
859 HRESULT hasDisplay
([out, retval] VARIANT_BOOL *pbHasDisplay
);
864 uuid(d84cca99
-cce2
-11d2
-9ecc
-0000f8085981
),
868 interface IWMPCore
: IDispatch
873 [id(0x0001), propget]
874 HRESULT URL
([out, retval] BSTR *pbstrURL
);
875 [id(0x0001), propput]
876 HRESULT URL
([in] BSTR pbstrURL
);
878 [id(0x0002), propget]
879 HRESULT openState
([out, retval] WMPOpenState
*pwmpos
);
881 [id(0x000a), propget]
882 HRESULT playState
([out, retval] WMPPlayState
*pwmpps
);
884 [id(0x0004), propget]
885 HRESULT controls
([out, retval] IWMPControls
**ppControl
);
887 [id(0x0005), propget]
888 HRESULT settings
([out, retval] IWMPSettings
**ppSettings
);
890 [id(0x0006), propget]
891 HRESULT currentMedia
([out, retval] IWMPMedia
**ppMedia
);
892 [id(0x0006), propput]
893 HRESULT currentMedia
([in] IWMPMedia
*ppMedia
);
895 [id(0x0008), propget]
896 HRESULT mediaCollection
([out, retval] IWMPMediaCollection
**ppMediaCollection
);
898 [id(0x0009), propget]
899 HRESULT playlistCollection
([out, retval] IWMPPlaylistCollection
**ppPlaylistCollection
);
901 [id(0x000b), propget]
902 HRESULT versionInfo
([out, retval] BSTR *pbstrVersionInfo
);
905 HRESULT launchURL
([in] BSTR bstrURL
);
907 [id(0x0007), propget]
908 HRESULT network
([out, retval] IWMPNetwork
**ppQNI
);
910 [id(0x000d), propget]
911 HRESULT currentPlaylist
([out, retval] IWMPPlaylist
**ppPL
);
912 [id(0x000d), propput]
913 HRESULT currentPlaylist
([in] IWMPPlaylist
*ppPL
);
915 [id(0x000e), propget]
916 HRESULT cdromCollection
([out, retval] IWMPCdromCollection
**ppCdromCollection
);
918 [id(0x000f), propget]
919 HRESULT closedCaption
([out, retval] IWMPClosedCaption
**ppClosedCaption
);
921 [id(0x0010), propget]
922 HRESULT isOnline
([out, retval] VARIANT_BOOL *pfOnline
);
924 [id(0x0011), propget]
925 HRESULT Error
([out, retval] IWMPError
**ppError
);
927 [id(0x0012), propget]
928 HRESULT status
([out, retval] BSTR *pbstrStatus
);
933 uuid(bc17e5B7
-7561-4c18
-bb90
-17d485775659
),
937 interface IWMPCore2
: IWMPCore
{
938 [id(0x0028), propget]
939 HRESULT dvd
([out, retval] IWMPDVD
**ppDVD
);
944 uuid(7587c667
-628f
-499f
-88e7
-6A6f4e888464
),
948 interface IWMPCore3
: IWMPCore2
954 [out, retval] IWMPPlaylist
**ppPlaylist
);
959 [out, retval] IWMPMedia
**ppMedia
);
964 uuid(6c497d62
-8919-413c
-82db
-e935fb3ec584
),
968 interface IWMPPlayer4
: IWMPCore3
970 [id(0x0013), propget]
971 HRESULT enabled
([out, retval] VARIANT_BOOL *pbEnabled
);
972 [id(0x0013), propput]
973 HRESULT enabled
([in] VARIANT_BOOL pbEnabled
);
975 [id(0x0015), propget]
976 HRESULT fullScreen
([out, retval] VARIANT_BOOL *pbFullScreen
);
977 [id(0x0015), propput]
978 HRESULT fullScreen
(VARIANT_BOOL pbFullScreen
);
980 [id(0x0016), propget]
981 HRESULT enableContextMenu
([out, retval] VARIANT_BOOL *pbEnableContextMenu
);
982 [id(0x0016), propput]
983 HRESULT enableContextMenu
(VARIANT_BOOL pbEnableContextMenu
);
985 [id(0x0017), propput]
986 HRESULT uiMode
([in] BSTR pbstrMode
);
987 [id(0x0017), propget]
988 HRESULT uiMode
([out, retval] BSTR *pbstrMode
);
990 [id(0x0018), propget]
991 HRESULT stretchToFit
([out, retval] VARIANT_BOOL *pbEnabled
);
992 [id(0x0018), propput]
993 HRESULT stretchToFit
([in] VARIANT_BOOL pbEnabled
);
995 [id(0x0019), propget]
996 HRESULT windowlessVideo
([out, retval] VARIANT_BOOL *pbEnabled
);
997 [id(0x0019), propput]
998 HRESULT windowlessVideo
([in] VARIANT_BOOL pbEnabled
);
1000 [id(0x001a), propget]
1001 HRESULT isRemote
([out, retval] VARIANT_BOOL *pvarfIsRemote
);
1003 [id(0x001b), propget]
1004 HRESULT playerApplication
([out, retval] IWMPPlayerApplication
**ppIWMPPlayerApplication
);
1007 HRESULT openPlayer
([in] BSTR bstrURL
);
1012 uuid(82a2986c
-0293-4fd0
-b279
-b21b86c058be
),
1015 interface IWMPSyncDevice
: IUnknown
1018 HRESULT friendlyName
([out, retval] BSTR *name
);
1021 HRESULT friendlyName
([in] BSTR name
);
1024 HRESULT deviceName
([out, retval] BSTR *name
);
1027 HRESULT deviceId
([out, retval] BSTR *device
);
1030 HRESULT partnershipIndex
([out, retval] long *index
);
1033 HRESULT connected
([out, retval] VARIANT_BOOL *connected
);
1036 HRESULT status
([out, retval] WMPDeviceStatus
*status
);
1039 HRESULT syncState
([out, retval] WMPSyncState
*state
);
1042 HRESULT progress
([out, retval] long *progress
);
1044 HRESULT getItemInfo
(
1046 [out, retval] BSTR *val
);
1048 HRESULT createPartnership
([in] VARIANT_BOOL showui
);
1050 HRESULT deletePartnership
();
1056 HRESULT showSettings
();
1058 HRESULT isIdentical
(
1059 [in] IWMPSyncDevice
*device
,
1060 [out, retval] VARIANT_BOOL *ret
);
1065 uuid(88afb4b2
-140a
-44d2
-91e6
-4543da467cd1
),
1068 interface IWMPSyncDevice2
: IWMPSyncDevice
1070 HRESULT setItemInfo
(
1077 uuid(56e2294f
-69ed
-4629-a869
-aea72c0dcc2c
),
1080 interface IWMPCdromRip
: IUnknown
1083 HRESULT ripState
([out, retval] WMPRipState
*state
);
1086 HRESULT ripProgress
([out, retval] long *progress
);
1095 uuid(bd94dbeb
-417f
-4928-aa06
-087d56ed9b59
),
1098 interface IWMPCdromBurn
: IUnknown
1100 HRESULT isAvailable
(
1102 [out, retval] VARIANT_BOOL *available
);
1104 HRESULT getItemInfo
(
1106 [out, retval] BSTR *val
);
1109 HRESULT label
([out, retval] BSTR *label
);
1112 HRESULT label
([in] BSTR label
);
1115 HRESULT burnFormat
([out, retval] WMPBurnFormat
*format
);
1118 HRESULT burnFormat
([in] WMPBurnFormat format
);
1121 HRESULT burnPlaylist
([out, retval] IWMPPlaylist
**playlist
);
1124 HRESULT burnPlaylist
([in] IWMPPlaylist
*playlist
);
1126 HRESULT refreshStatus
();
1129 HRESULT burnState
([out, retval] WMPBurnState
*state
);
1132 HRESULT burnProgress
([out, retval] long *progress
);
1134 HRESULT startBurn
();
1143 uuid(3df47861
-7df1
-4c1f
-a81b
-4c26f0f7a7c6
),
1146 interface IWMPLibrary
: IUnknown
1149 HRESULT name
([out, retval] BSTR *name
);
1152 HRESULT type
([out, retval] WMPLibraryType
*type
);
1155 HRESULT mediaCollection
([out, retval] IWMPMediaCollection
**collection
);
1157 HRESULT isIdentical
(
1158 [in] IWMPLibrary
*wmplibrary
,
1159 [out, retval] VARIANT_BOOL *ret
);
1163 uuid(19a6627b
-da9e
-47c1
-bb23
-00b5e668236a
),
1166 interface IWMPEvents
: IUnknown
1168 void OpenStateChange
([in] long state
);
1170 void PlayStateChange
([in] long state
);
1172 void AudioLanguageChange
([in] long lang
);
1174 void StatusChange
();
1182 void Disconnect
([in] long result
);
1184 void Buffering
([in] VARIANT_BOOL start
);
1191 [in] BSTR description
);
1193 void EndOfStream
([in] long result
);
1195 void PositionChange
(
1196 [in] double old_position
,
1197 [in] double new_position
);
1199 void MarkerHit
([in] long marker
);
1201 void DurationUnitChange
([in] long duration
);
1203 void CdromMediaChange
([in] long num
);
1205 void PlaylistChange
(
1206 [in] IDispatch
*playlist
,
1207 [in] WMPPlaylistChangeEventType change
);
1209 void CurrentPlaylistChange
([in] WMPPlaylistChangeEventType change
);
1211 void CurrentPlaylistItemAvailable
([in] BSTR item
);
1213 void MediaChange
([in] IDispatch
*item
);
1215 void CurrentMediaItemAvailable
([in] BSTR name
);
1217 void CurrentItemChange
([in] IDispatch
*media
);
1219 void MediaCollectionChange
();
1221 void MediaCollectionAttributeStringAdded
(
1225 void MediaCollectionAttributeStringRemoved
(
1229 void MediaCollectionAttributeStringChanged
(
1234 void PlaylistCollectionChange
();
1236 void PlaylistCollectionPlaylistAdded
([in] BSTR name
);
1238 void PlaylistCollectionPlaylistRemoved
([in] BSTR name
);
1240 void PlaylistCollectionPlaylistSetAsDeleted
(
1242 [in] VARIANT_BOOL deleted
);
1246 [in] VARIANT_BOOL value
);
1248 void MediaError
([in] IDispatch
*media
);
1250 void OpenPlaylistSwitch
([in] IDispatch
*item
);
1252 void DomainChange
([in] BSTR domain
);
1254 void SwitchedToPlayerApplication
();
1256 void SwitchedToControl
();
1258 void PlayerDockedStateChange
();
1260 void PlayerReconnect
();
1264 [in] short shift_state
,
1270 [in] short shift_state
,
1276 [in] short shift_state
);
1278 void KeyPress
([in] short ascii
);
1282 [in] short shift_state
);
1286 [in] short nShiftState
,
1292 [in] short shift_state
,
1298 [in] short shift_state
,
1304 uuid(1e7601fa
-47ea
-4107-9ea9
-9004ed9684ff
),
1307 interface IWMPEvents2
: IWMPEvents
1309 void DeviceConnect
([in] IWMPSyncDevice
*device
);
1311 void DeviceDisconnect
([in] IWMPSyncDevice
*device
);
1313 void DeviceStatusChange
(
1314 [in] IWMPSyncDevice
*device
,
1315 [in] WMPDeviceStatus status
);
1317 void DeviceSyncStateChange
(
1318 [in] IWMPSyncDevice
*device
,
1319 [in] WMPSyncState state
);
1321 void DeviceSyncError
(
1322 [in] IWMPSyncDevice
*device
,
1323 [in] IDispatch
*media
);
1325 void CreatePartnershipComplete
(
1326 [in] IWMPSyncDevice
*device
,
1327 [in] HRESULT result
);
1331 uuid(1f504270
-a66b
-4223-8e96
-26a06c63d69f
),
1334 interface IWMPEvents3
: IWMPEvents2
1336 void CdromRipStateChange
(
1337 [in] IWMPCdromRip
*rip
,
1338 [in] WMPRipState state
);
1340 void CdromRipMediaError
(
1341 [in] IWMPCdromRip
*rip
,
1342 [in] IDispatch
*media
);
1344 void CdromBurnStateChange
(
1345 [in] IWMPCdromBurn
*burn
,
1346 [in] WMPBurnState state
);
1348 void CdromBurnMediaError
(
1349 [in] IWMPCdromBurn
*burn
,
1350 [in] IDispatch
*media
);
1352 void CdromBurnError
(
1353 [in] IWMPCdromBurn
*burn
,
1354 [in] HRESULT error
);
1356 void LibraryConnect
(
1357 [in] IWMPLibrary
*wmplibrary
);
1359 void LibraryDisconnect
(
1360 [in] IWMPLibrary
*wmplibrary
);
1362 void FolderScanStateChange
(
1363 [in] WMPFolderScanState state
);
1365 void StringCollectionChange
(
1366 [in] IDispatch
*collection
,
1367 [in] WMPStringCollectionChangeEventType change
,
1370 void MediaCollectionMediaAdded
(
1371 [in] IDispatch
*media
);
1373 void MediaCollectionMediaRemoved
(
1374 [in] IDispatch
*media
);
1378 uuid(26dabcfa
-306b
-404d
-9a6f
-630a8405048d
),
1381 interface IWMPEvents4
: IWMPEvents3
1383 void DeviceEstimation
(
1384 [in] IWMPSyncDevice
*device
,
1385 [in] HRESULT result
,
1386 [in] LONGLONG used_space
,
1387 [in] LONGLONG estimated_space
);
1392 uuid(6bf52a51
-394a
-11d3
-b153
-00c04f79faa6
)
1394 interface _WMPOCXEvents
: IDispatch
1398 helpstring("Windows Media Player"),
1399 threading
(apartment
),
1400 progid
("WMPlayer.OCX.7"),
1401 vi_progid
("WMPlayer.OCX"),
1402 uuid(6bf52a52
-394a
-11d3
-b153
-00c04f79faa6
)
1404 coclass WindowsMediaPlayer
1406 [default] interface IWMPPlayer4
;
1407 /* interface IWMPPlayer3; */
1408 /* interface IWMPPlayer2; */
1409 /* interface IWMPPlayer; */
1410 interface IWMPControls
;
1411 interface IWMPSettings
;
1412 interface IWMPPlaylist
;
1413 interface IWMPMedia
;
1414 interface IWMPMediaCollection
;
1415 interface IWMPPlaylistCollection
;
1416 interface IWMPCdromCollection
;
1417 interface IWMPError
;
1418 interface IWMPErrorItem
;
1419 /* interface IWMPErrorItem2; */
1420 interface IWMPClosedCaption
;
1422 /* interface IWMPControls2; */
1423 /* interface IWMPMedia2; */
1424 /* interface IWMPMedia3; */
1425 /* interface IWMPMetadataPicture; */
1426 /* interface IWMPMetadataText; */
1427 /* interface IWMPSettings2; */
1428 /* interface IWMPControls3; */
1429 /* interface IWMPClosedCaption2; */
1430 /* interface IWMPMediaCollection2; */
1431 /* interface IWMPStringCollection2; */
1432 [default, source] dispinterface _WMPOCXEvents
;