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(6BF52A4F
-394A
-11D3
-B153
-00C04F79FAA6
),
1016 interface IWMPPlayer
: IWMPCore
{
1017 [id(0x00000013), propget]
1018 HRESULT enabled
([out, retval] VARIANT_BOOL* pbEnabled
);
1019 [id(0x00000013), propput]
1020 HRESULT enabled
([in] VARIANT_BOOL pbEnabled
);
1021 [id(0x00000015), propget]
1022 HRESULT fullScreen
([out, retval] VARIANT_BOOL* pbFullScreen
);
1023 [id(0x00000015), propput]
1024 HRESULT fullScreen
(VARIANT_BOOL pbFullScreen
);
1025 [id(0x00000016), propget]
1026 HRESULT enableContextMenu
([out, retval] VARIANT_BOOL* pbEnableContextMenu
);
1027 [id(0x00000016), propput]
1028 HRESULT enableContextMenu
(VARIANT_BOOL pbEnableContextMenu
);
1029 [id(0x00000017), propput]
1030 HRESULT uiMode
([in] BSTR pbstrMode
);
1031 [id(0x00000017), propget]
1032 HRESULT uiMode
([out, retval] BSTR* pbstrMode
);
1037 uuid(82a2986c
-0293-4fd0
-b279
-b21b86c058be
),
1040 interface IWMPSyncDevice
: IUnknown
1043 HRESULT friendlyName
([out, retval] BSTR *name
);
1046 HRESULT friendlyName
([in] BSTR name
);
1049 HRESULT deviceName
([out, retval] BSTR *name
);
1052 HRESULT deviceId
([out, retval] BSTR *device
);
1055 HRESULT partnershipIndex
([out, retval] long *index
);
1058 HRESULT connected
([out, retval] VARIANT_BOOL *connected
);
1061 HRESULT status
([out, retval] WMPDeviceStatus
*status
);
1064 HRESULT syncState
([out, retval] WMPSyncState
*state
);
1067 HRESULT progress
([out, retval] long *progress
);
1069 HRESULT getItemInfo
(
1071 [out, retval] BSTR *val
);
1073 HRESULT createPartnership
([in] VARIANT_BOOL showui
);
1075 HRESULT deletePartnership
();
1081 HRESULT showSettings
();
1083 HRESULT isIdentical
(
1084 [in] IWMPSyncDevice
*device
,
1085 [out, retval] VARIANT_BOOL *ret
);
1090 uuid(88afb4b2
-140a
-44d2
-91e6
-4543da467cd1
),
1093 interface IWMPSyncDevice2
: IWMPSyncDevice
1095 HRESULT setItemInfo
(
1102 uuid(56e2294f
-69ed
-4629-a869
-aea72c0dcc2c
),
1105 interface IWMPCdromRip
: IUnknown
1108 HRESULT ripState
([out, retval] WMPRipState
*state
);
1111 HRESULT ripProgress
([out, retval] long *progress
);
1120 uuid(bd94dbeb
-417f
-4928-aa06
-087d56ed9b59
),
1123 interface IWMPCdromBurn
: IUnknown
1125 HRESULT isAvailable
(
1127 [out, retval] VARIANT_BOOL *available
);
1129 HRESULT getItemInfo
(
1131 [out, retval] BSTR *val
);
1134 HRESULT label
([out, retval] BSTR *label
);
1137 HRESULT label
([in] BSTR label
);
1140 HRESULT burnFormat
([out, retval] WMPBurnFormat
*format
);
1143 HRESULT burnFormat
([in] WMPBurnFormat format
);
1146 HRESULT burnPlaylist
([out, retval] IWMPPlaylist
**playlist
);
1149 HRESULT burnPlaylist
([in] IWMPPlaylist
*playlist
);
1151 HRESULT refreshStatus
();
1154 HRESULT burnState
([out, retval] WMPBurnState
*state
);
1157 HRESULT burnProgress
([out, retval] long *progress
);
1159 HRESULT startBurn
();
1168 uuid(3df47861
-7df1
-4c1f
-a81b
-4c26f0f7a7c6
),
1171 interface IWMPLibrary
: IUnknown
1174 HRESULT name
([out, retval] BSTR *name
);
1177 HRESULT type
([out, retval] WMPLibraryType
*type
);
1180 HRESULT mediaCollection
([out, retval] IWMPMediaCollection
**collection
);
1182 HRESULT isIdentical
(
1183 [in] IWMPLibrary
*wmplibrary
,
1184 [out, retval] VARIANT_BOOL *ret
);
1188 uuid(19a6627b
-da9e
-47c1
-bb23
-00b5e668236a
),
1191 interface IWMPEvents
: IUnknown
1193 void OpenStateChange
([in] long state
);
1195 void PlayStateChange
([in] long state
);
1197 void AudioLanguageChange
([in] long lang
);
1199 void StatusChange
();
1207 void Disconnect
([in] long result
);
1209 void Buffering
([in] VARIANT_BOOL start
);
1216 [in] BSTR description
);
1218 void EndOfStream
([in] long result
);
1220 void PositionChange
(
1221 [in] double old_position
,
1222 [in] double new_position
);
1224 void MarkerHit
([in] long marker
);
1226 void DurationUnitChange
([in] long duration
);
1228 void CdromMediaChange
([in] long num
);
1230 void PlaylistChange
(
1231 [in] IDispatch
*playlist
,
1232 [in] WMPPlaylistChangeEventType change
);
1234 void CurrentPlaylistChange
([in] WMPPlaylistChangeEventType change
);
1236 void CurrentPlaylistItemAvailable
([in] BSTR item
);
1238 void MediaChange
([in] IDispatch
*item
);
1240 void CurrentMediaItemAvailable
([in] BSTR name
);
1242 void CurrentItemChange
([in] IDispatch
*media
);
1244 void MediaCollectionChange
();
1246 void MediaCollectionAttributeStringAdded
(
1250 void MediaCollectionAttributeStringRemoved
(
1254 void MediaCollectionAttributeStringChanged
(
1259 void PlaylistCollectionChange
();
1261 void PlaylistCollectionPlaylistAdded
([in] BSTR name
);
1263 void PlaylistCollectionPlaylistRemoved
([in] BSTR name
);
1265 void PlaylistCollectionPlaylistSetAsDeleted
(
1267 [in] VARIANT_BOOL deleted
);
1271 [in] VARIANT_BOOL value
);
1273 void MediaError
([in] IDispatch
*media
);
1275 void OpenPlaylistSwitch
([in] IDispatch
*item
);
1277 void DomainChange
([in] BSTR domain
);
1279 void SwitchedToPlayerApplication
();
1281 void SwitchedToControl
();
1283 void PlayerDockedStateChange
();
1285 void PlayerReconnect
();
1289 [in] short shift_state
,
1295 [in] short shift_state
,
1301 [in] short shift_state
);
1303 void KeyPress
([in] short ascii
);
1307 [in] short shift_state
);
1311 [in] short nShiftState
,
1317 [in] short shift_state
,
1323 [in] short shift_state
,
1329 uuid(1e7601fa
-47ea
-4107-9ea9
-9004ed9684ff
),
1332 interface IWMPEvents2
: IWMPEvents
1334 void DeviceConnect
([in] IWMPSyncDevice
*device
);
1336 void DeviceDisconnect
([in] IWMPSyncDevice
*device
);
1338 void DeviceStatusChange
(
1339 [in] IWMPSyncDevice
*device
,
1340 [in] WMPDeviceStatus status
);
1342 void DeviceSyncStateChange
(
1343 [in] IWMPSyncDevice
*device
,
1344 [in] WMPSyncState state
);
1346 void DeviceSyncError
(
1347 [in] IWMPSyncDevice
*device
,
1348 [in] IDispatch
*media
);
1350 void CreatePartnershipComplete
(
1351 [in] IWMPSyncDevice
*device
,
1352 [in] HRESULT result
);
1356 uuid(1f504270
-a66b
-4223-8e96
-26a06c63d69f
),
1359 interface IWMPEvents3
: IWMPEvents2
1361 void CdromRipStateChange
(
1362 [in] IWMPCdromRip
*rip
,
1363 [in] WMPRipState state
);
1365 void CdromRipMediaError
(
1366 [in] IWMPCdromRip
*rip
,
1367 [in] IDispatch
*media
);
1369 void CdromBurnStateChange
(
1370 [in] IWMPCdromBurn
*burn
,
1371 [in] WMPBurnState state
);
1373 void CdromBurnMediaError
(
1374 [in] IWMPCdromBurn
*burn
,
1375 [in] IDispatch
*media
);
1377 void CdromBurnError
(
1378 [in] IWMPCdromBurn
*burn
,
1379 [in] HRESULT error
);
1381 void LibraryConnect
(
1382 [in] IWMPLibrary
*wmplibrary
);
1384 void LibraryDisconnect
(
1385 [in] IWMPLibrary
*wmplibrary
);
1387 void FolderScanStateChange
(
1388 [in] WMPFolderScanState state
);
1390 void StringCollectionChange
(
1391 [in] IDispatch
*collection
,
1392 [in] WMPStringCollectionChangeEventType change
,
1395 void MediaCollectionMediaAdded
(
1396 [in] IDispatch
*media
);
1398 void MediaCollectionMediaRemoved
(
1399 [in] IDispatch
*media
);
1403 uuid(26dabcfa
-306b
-404d
-9a6f
-630a8405048d
),
1406 interface IWMPEvents4
: IWMPEvents3
1408 void DeviceEstimation
(
1409 [in] IWMPSyncDevice
*device
,
1410 [in] HRESULT result
,
1411 [in] LONGLONG used_space
,
1412 [in] LONGLONG estimated_space
);
1417 uuid(6bf52a51
-394a
-11d3
-b153
-00c04f79faa6
)
1419 interface _WMPOCXEvents
: IDispatch
1423 helpstring("Windows Media Player"),
1424 threading
(apartment
),
1425 progid
("WMPlayer.OCX.7"),
1426 vi_progid
("WMPlayer.OCX"),
1427 uuid(6bf52a52
-394a
-11d3
-b153
-00c04f79faa6
)
1429 coclass WindowsMediaPlayer
1431 [default] interface IWMPPlayer4
;
1432 /* interface IWMPPlayer3; */
1433 /* interface IWMPPlayer2; */
1434 interface IWMPPlayer
;
1435 interface IWMPControls
;
1436 interface IWMPSettings
;
1437 interface IWMPPlaylist
;
1438 interface IWMPMedia
;
1439 interface IWMPMediaCollection
;
1440 interface IWMPPlaylistCollection
;
1441 interface IWMPCdromCollection
;
1442 interface IWMPError
;
1443 interface IWMPErrorItem
;
1444 /* interface IWMPErrorItem2; */
1445 interface IWMPClosedCaption
;
1447 /* interface IWMPControls2; */
1448 /* interface IWMPMedia2; */
1449 /* interface IWMPMedia3; */
1450 /* interface IWMPMetadataPicture; */
1451 /* interface IWMPMetadataText; */
1452 /* interface IWMPSettings2; */
1453 /* interface IWMPControls3; */
1454 /* interface IWMPClosedCaption2; */
1455 /* interface IWMPMediaCollection2; */
1456 /* interface IWMPStringCollection2; */
1457 [default, source] dispinterface _WMPOCXEvents
;