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(6f030d25
-0890-480f
-9775-1f7e40ab5b8e
),
369 interface IWMPControls2
: IWMPControls
372 HRESULT step
([in] long lStep
);
377 uuid(cbb92747
-741f
-44fe
-ab5b
-f1a48f3b2a59
),
380 interface IWMPRemoteMediaServices
: IUnknown
382 HRESULT GetServiceType
([out, retval] BSTR *type
);
384 HRESULT GetApplicationName
([out, retval] BSTR *name
);
386 HRESULT GetScriptableObject
([out, retval] BSTR *name
, [out, retval] IDispatch
**out);
388 HRESULT GetCustomUIMode
([out, retval] BSTR *file
);
393 uuid(9104d1ab
-80c9
-4fed
-abf0
-2e6417a6df14
),
397 interface IWMPSettings
: IDispatch
399 [id(0x0071), propget]
402 [out, retval] VARIANT_BOOL *pIsAvailable
);
404 [id(0x0065), propget]
405 HRESULT autoStart
([out, retval] VARIANT_BOOL *pfAutoStart
);
406 [id(0x0065), propput]
407 HRESULT autoStart
([in] VARIANT_BOOL pfAutoStart
);
409 [id(0x006c), propget]
410 HRESULT baseURL
([out, retval] BSTR *pbstrBaseURL
);
411 [id(0x006c), propput]
412 HRESULT baseURL
([in] BSTR pbstrBaseURL
);
414 [id(0x006d), propget]
415 HRESULT defaultFrame
([out, retval] BSTR *pbstrDefaultFrame
);
416 [id(0x006d), propput]
417 HRESULT defaultFrame
([in] BSTR pbstrDefaultFrame
);
419 [id(0x0067), propget]
420 HRESULT invokeURLs
([out, retval] VARIANT_BOOL *pfInvokeURLs
);
421 [id(0x0067), propput]
422 HRESULT invokeURLs
([in] VARIANT_BOOL pfInvokeURLs
);
424 [id(0x0068), propget]
425 HRESULT mute
([out, retval] VARIANT_BOOL *pfMute
);
426 [id(0x0068), propput]
427 HRESULT mute
([in] VARIANT_BOOL pfMute
);
429 [id(0x0069), propget]
430 HRESULT playCount
([out, retval] long *plCount
);
431 [id(0x0069), propput]
432 HRESULT playCount
([in] long plCount
);
434 [id(0x006a), propget]
435 HRESULT rate
([out, retval] double *pdRate
);
436 [id(0x006a), propput]
437 HRESULT rate
([in] double pdRate
);
439 [id(0x0066), propget]
440 HRESULT balance
([out, retval] long *plBalance
);
441 [id(0x0066), propput]
442 HRESULT balance
([in] long plBalance
);
444 [id(0x006b), propget]
445 HRESULT volume
([out, retval] long *plVolume
);
446 [id(0x006b), propput]
447 HRESULT volume
([in] long plVolume
);
452 [out, retval] VARIANT_BOOL *pvarfMode
);
457 [in] VARIANT_BOOL varfMode
);
459 [id(0x0070), propget]
460 HRESULT enableErrorDialogs
([out, retval] VARIANT_BOOL *pfEnableErrorDialogs
);
462 [id(0x0070), propput]
463 HRESULT enableErrorDialogs
([in] VARIANT_BOOL pfEnableErrorDialogs
);
468 uuid(4a976298
-8c0d
-11d3
-b389
-00c04f68574b
),
472 interface IWMPStringCollection
: IDispatch
474 [id(0x0191), propget]
475 HRESULT count
([out, retval] long *plCount
);
480 [out, retval] BSTR *pbstrString
);
485 uuid(8363bc22
-b4b4
-4b19
-989d
-1cd765749dd1
),
489 interface IWMPMediaCollection
: IDispatch
494 [out, retval] IWMPMedia
**ppItem
);
497 HRESULT getAll
([out, retval] IWMPPlaylist
**ppMediaItems
);
502 [out, retval] IWMPPlaylist
**ppMediaItems
);
507 [out, retval] IWMPPlaylist
**ppMediaItems
);
511 [in] BSTR bstrAuthor
,
512 [out, retval] IWMPPlaylist
**ppMediaItems
);
517 [out, retval] IWMPPlaylist
**ppMediaItems
);
520 HRESULT getByAttribute
(
521 [in] BSTR bstrAttribute
,
523 [out, retval] IWMPPlaylist
**ppMediaItems
);
527 [in] IWMPMedia
*pItem
,
528 [in] VARIANT_BOOL varfDeleteFile
);
531 HRESULT getAttributeStringCollection
(
532 [in] BSTR bstrAttribute
,
533 [in] BSTR bstrMediaType
,
534 [out, retval] IWMPStringCollection
**ppStringCollection
);
537 HRESULT getMediaAtom
(
538 [in] BSTR bstrItemName
,
539 [out, retval] long *plAtom
);
543 [in] IWMPMedia
*pItem
,
544 [in] VARIANT_BOOL varfIsDeleted
);
548 [in] IWMPMedia
*pItem
,
549 [out, retval] VARIANT_BOOL *pvarfIsDeleted
);
554 uuid(679409c0
-99f7
-11d3
-9fb7
-00105aa620bb
),
558 interface IWMPPlaylistArray
: IDispatch
560 [id(0x01f5), propget]
561 HRESULT count
([out, retval] long *plCount
);
566 [out, retval] IWMPPlaylist
**ppItem
);
571 uuid(10a13217
-23a7
-439b
-b1c0
-d847c79b7774
),
575 interface IWMPPlaylistCollection
: IDispatch
580 [out, retval] IWMPPlaylist
**ppItem
);
583 HRESULT getAll
([out, retval] IWMPPlaylistArray
**ppPlaylistArray
);
588 [out, retval] IWMPPlaylistArray
**ppPlaylistArray
);
591 HRESULT remove
([in] IWMPPlaylist
*pItem
);
595 [in] IWMPPlaylist
*pItem
,
596 [in] VARIANT_BOOL varfIsDeleted
);
600 [in] IWMPPlaylist
*pItem
,
601 [out, retval] VARIANT_BOOL *pvarfIsDeleted
);
604 HRESULT importPlaylist
(
605 [in] IWMPPlaylist
*pItem
,
606 [out, retval] IWMPPlaylist
**ppImportedItem
);
611 uuid(ec21b779
-edef
-462d
-bba4
-ad9dde2b29a7
),
615 interface IWMPNetwork
: IDispatch
617 [id(0x0321), propget]
618 HRESULT bandWidth
([out, retval] long *plBandwidth
);
620 [id(0x0322), propget]
621 HRESULT recoveredPackets
([out, retval] long *plRecoveredPackets
);
623 [id(0x0323), propget]
624 HRESULT sourceProtocol
([out, retval] BSTR *pbstrSourceProtocol
);
626 [id(0x0324), propget]
627 HRESULT receivedPackets
([out, retval] long *plReceivedPackets
);
629 [id(0x0325), propget]
630 HRESULT lostPackets
([out, retval] long *plLostPackets
);
632 [id(0x0326), propget]
633 HRESULT receptionQuality
([out, retval] long *plReceptionQuality
);
635 [id(0x0327), propget]
636 HRESULT bufferingCount
([out, retval] long *plBufferingCount
);
638 [id(0x0328), propget]
639 HRESULT bufferingProgress
([out, retval] long *plBufferingProgress
);
641 [id(0x0329), propget]
642 HRESULT bufferingTime
([out, retval] long *plBufferingTime
);
644 [id(0x0329), propput]
645 HRESULT bufferingTime
([in] long plBufferingTime
);
647 [id(0x032a), propget]
648 HRESULT frameRate
([out, retval] long *plFrameRate
);
650 [id(0x032b), propget]
651 HRESULT maxBitRate
([out, retval] long *plBitRate
);
653 [id(0x032c), propget]
654 HRESULT bitRate
([out, retval] long *plBitRate
);
657 HRESULT getProxySettings
(
658 [in] BSTR bstrProtocol
,
659 [out, retval] long *plProxySetting
);
662 HRESULT setProxySettings
(
663 [in] BSTR bstrProtocol
,
664 [in] long lProxySetting
);
667 HRESULT getProxyName
(
668 [in] BSTR bstrProtocol
,
669 [out, retval] BSTR *pbstrProxyName
);
672 HRESULT setProxyName
(
673 [in] BSTR bstrProtocol
,
674 [in] BSTR bstrProxyName
);
677 HRESULT getProxyPort
(
678 [in] BSTR bstrProtocol
,
679 [out, retval] long *lProxyPort
);
682 HRESULT setProxyPort
(
683 [in] BSTR bstrProtocol
,
684 [in] long lProxyPort
);
687 HRESULT getProxyExceptionList
(
688 [in] BSTR bstrProtocol
,
689 [out, retval] BSTR *pbstrExceptionList
);
692 HRESULT setProxyExceptionList
(
693 [in] BSTR bstrProtocol
,
694 [in] BSTR pbstrExceptionList
);
697 HRESULT getProxyBypassForLocal
(
698 [in] BSTR bstrProtocol
,
699 [out, retval] VARIANT_BOOL *pfBypassForLocal
);
702 HRESULT setProxyBypassForLocal
(
703 [in] BSTR bstrProtocol
,
704 [in] VARIANT_BOOL fBypassForLocal
);
706 [id(0x0337), propget]
707 HRESULT maxBandwidth
([out, retval] long *lMaxBandwidth
);
708 [id(0x0337), propput]
709 HRESULT maxBandwidth
([in] long lMaxBandwidth
);
711 [id(0x0338), propget]
712 HRESULT downloadProgress
([out, retval] long *plDownloadProgress
);
714 [id(0x0339), propget]
715 HRESULT encodedFrameRate
([out, retval] long *plFrameRate
);
717 [id(0x033a), propget]
718 HRESULT framesSkipped
([out, retval] long *plFrames
);
723 uuid(cfab6e98
-8730-11d3
-b388
-00c04f68574b
),
727 interface IWMPCdrom
: IDispatch
729 [id(0x00fb), propget]
730 HRESULT driveSpecifier
([out, retval] BSTR *pbstrDrive
);
732 [id(0x00fc), propget]
733 HRESULT Playlist
([out, retval] IWMPPlaylist
**ppPlaylist
);
741 uuid(ee4c8fe2
-34b2
-11d3
-a3bf
-006097c9b344
),
745 interface IWMPCdromCollection
: IDispatch
747 [id(0x012d), propget]
748 HRESULT count
([out, retval] long *plCount
);
753 [out, retval] IWMPCdrom
**ppItem
);
756 HRESULT getByDriveSpecifier
(
757 [in] BSTR bstrDriveSpecifier
,
758 [out, retval] IWMPCdrom
**ppCdrom
);
763 uuid(8da61686
-4668-4a5c
-ae5d
-803193293dbe
),
767 interface IWMPDVD
: IDispatch
769 [id(0x03e9), propget]
772 [out, retval] VARIANT_BOOL *pIsAvailable
);
774 [id(0x03ea), propget]
775 HRESULT domain
([out, retval] BSTR *strDomain
);
792 uuid(4f2df574
-c588
-11d3
-9ed0
-00c04fb6e937
),
796 interface IWMPClosedCaption
: IDispatch
798 [id(0x03b7), propget]
799 HRESULT SAMIStyle
([out, retval] BSTR *pbstrSAMIStyle
);
800 [id(0x03b7), propput]
801 HRESULT SAMIStyle
([in] BSTR pbstrSAMIStyle
);
803 [id(0x03b8), propget]
804 HRESULT SAMILang
([out, retval] BSTR *pbstrSAMILang
);
806 [id(0x03b8), propput]
807 HRESULT SAMILang
([in] BSTR pbstrSAMILang
);
809 [id(0x03b9), propget]
810 HRESULT SAMIFileName
([out, retval] BSTR *pbstrSAMIFileName
);
812 [id(0x03b9), propput]
813 HRESULT SAMIFileName
([in] BSTR pbstrSAMIFileName
);
815 [id(0x03ba), propget]
816 HRESULT captioningId
([out, retval] BSTR *pbstrCaptioningID
);
818 [id(0x03ba), propput]
819 HRESULT captioningId
([in] BSTR pbstrCaptioningID
);
824 uuid(3614c646
-3b3b
-4de7
-a81e
-930e3f2127b3
),
828 interface IWMPErrorItem
: IDispatch
830 [id(0x0385), propget]
831 HRESULT errorCode
([out, retval] long *phr
);
833 [id(0x0386), propget]
834 HRESULT errorDescription
([out, retval] BSTR *pbstrDescription
);
836 [id(0x0387), propget]
837 HRESULT errorContext
([out, retval] VARIANT *pvarContext
);
839 [id(0x0388), propget]
840 HRESULT remedy
([out, retval] long *plRemedy
);
842 [id(0x0389), propget]
843 HRESULT customUrl
([out, retval] BSTR *pbstrCustomUrl
);
848 uuid(ab7c88bb
-143e-4ea4
-acc3
-e4350b2106c3
),
852 interface IWMPMedia2
: IWMPMedia
854 [id(0x0300), propget]
855 HRESULT error
([out, retval] IWMPErrorItem
**out);
860 uuid(f118efc7
-f03a
-4fb4
-99c9
-1c02a5c1065b
),
864 interface IWMPMedia3
: IWMPMedia2
867 HRESULT getAttributeCountByType
([in] BSTR type
, [in] BSTR language
, [out, retval] long *out);
870 HRESULT getItemInfoByType
([in] BSTR type
, [in] BSTR language
, [in] long index
, [out, retval] VARIANT *out);
875 uuid(a12dcf7d
-14ab
-4c1b
-a8cd
-63909f06025b
),
879 interface IWMPError
: IDispatch
882 HRESULT clearErrorQueue
();
884 [id(0x0354), propget]
885 HRESULT errorCount
([out, retval] long *plNumErrors
);
887 [id(0x0355), propget]
890 [out, retval] IWMPErrorItem
**ppErrorItem
);
898 uuid(40897764-ceab
-47be
-ad4a
-8e28537f9bbf
),
902 interface IWMPPlayerApplication
: IDispatch
905 HRESULT switchToPlayerApplication
();
908 HRESULT switchToControl
();
910 [id(0x044f), propget]
911 HRESULT playerDocked
([out, retval] VARIANT_BOOL* pbPlayerDocked
);
913 [id(0x0450), propget]
914 HRESULT hasDisplay
([out, retval] VARIANT_BOOL *pbHasDisplay
);
919 uuid(d84cca99
-cce2
-11d2
-9ecc
-0000f8085981
),
923 interface IWMPCore
: IDispatch
928 [id(0x0001), propget]
929 HRESULT URL
([out, retval] BSTR *pbstrURL
);
930 [id(0x0001), propput]
931 HRESULT URL
([in] BSTR pbstrURL
);
933 [id(0x0002), propget]
934 HRESULT openState
([out, retval] WMPOpenState
*pwmpos
);
936 [id(0x000a), propget]
937 HRESULT playState
([out, retval] WMPPlayState
*pwmpps
);
939 [id(0x0004), propget]
940 HRESULT controls
([out, retval] IWMPControls
**ppControl
);
942 [id(0x0005), propget]
943 HRESULT settings
([out, retval] IWMPSettings
**ppSettings
);
945 [id(0x0006), propget]
946 HRESULT currentMedia
([out, retval] IWMPMedia
**ppMedia
);
947 [id(0x0006), propput]
948 HRESULT currentMedia
([in] IWMPMedia
*ppMedia
);
950 [id(0x0008), propget]
951 HRESULT mediaCollection
([out, retval] IWMPMediaCollection
**ppMediaCollection
);
953 [id(0x0009), propget]
954 HRESULT playlistCollection
([out, retval] IWMPPlaylistCollection
**ppPlaylistCollection
);
956 [id(0x000b), propget]
957 HRESULT versionInfo
([out, retval] BSTR *pbstrVersionInfo
);
960 HRESULT launchURL
([in] BSTR bstrURL
);
962 [id(0x0007), propget]
963 HRESULT network
([out, retval] IWMPNetwork
**ppQNI
);
965 [id(0x000d), propget]
966 HRESULT currentPlaylist
([out, retval] IWMPPlaylist
**ppPL
);
967 [id(0x000d), propput]
968 HRESULT currentPlaylist
([in] IWMPPlaylist
*ppPL
);
970 [id(0x000e), propget]
971 HRESULT cdromCollection
([out, retval] IWMPCdromCollection
**ppCdromCollection
);
973 [id(0x000f), propget]
974 HRESULT closedCaption
([out, retval] IWMPClosedCaption
**ppClosedCaption
);
976 [id(0x0010), propget]
977 HRESULT isOnline
([out, retval] VARIANT_BOOL *pfOnline
);
979 [id(0x0011), propget]
980 HRESULT Error
([out, retval] IWMPError
**ppError
);
982 [id(0x0012), propget]
983 HRESULT status
([out, retval] BSTR *pbstrStatus
);
988 uuid(bc17e5B7
-7561-4c18
-bb90
-17d485775659
),
992 interface IWMPCore2
: IWMPCore
{
993 [id(0x0028), propget]
994 HRESULT dvd
([out, retval] IWMPDVD
**ppDVD
);
999 uuid(7587c667
-628f
-499f
-88e7
-6A6f4e888464
),
1003 interface IWMPCore3
: IWMPCore2
1006 HRESULT newPlaylist
(
1009 [out, retval] IWMPPlaylist
**ppPlaylist
);
1014 [out, retval] IWMPMedia
**ppMedia
);
1019 uuid(6c497d62
-8919-413c
-82db
-e935fb3ec584
),
1023 interface IWMPPlayer4
: IWMPCore3
1025 [id(0x0013), propget]
1026 HRESULT enabled
([out, retval] VARIANT_BOOL *pbEnabled
);
1027 [id(0x0013), propput]
1028 HRESULT enabled
([in] VARIANT_BOOL pbEnabled
);
1030 [id(0x0015), propget]
1031 HRESULT fullScreen
([out, retval] VARIANT_BOOL *pbFullScreen
);
1032 [id(0x0015), propput]
1033 HRESULT fullScreen
(VARIANT_BOOL pbFullScreen
);
1035 [id(0x0016), propget]
1036 HRESULT enableContextMenu
([out, retval] VARIANT_BOOL *pbEnableContextMenu
);
1037 [id(0x0016), propput]
1038 HRESULT enableContextMenu
(VARIANT_BOOL pbEnableContextMenu
);
1040 [id(0x0017), propput]
1041 HRESULT uiMode
([in] BSTR pbstrMode
);
1042 [id(0x0017), propget]
1043 HRESULT uiMode
([out, retval] BSTR *pbstrMode
);
1045 [id(0x0018), propget]
1046 HRESULT stretchToFit
([out, retval] VARIANT_BOOL *pbEnabled
);
1047 [id(0x0018), propput]
1048 HRESULT stretchToFit
([in] VARIANT_BOOL pbEnabled
);
1050 [id(0x0019), propget]
1051 HRESULT windowlessVideo
([out, retval] VARIANT_BOOL *pbEnabled
);
1052 [id(0x0019), propput]
1053 HRESULT windowlessVideo
([in] VARIANT_BOOL pbEnabled
);
1055 [id(0x001a), propget]
1056 HRESULT isRemote
([out, retval] VARIANT_BOOL *pvarfIsRemote
);
1058 [id(0x001b), propget]
1059 HRESULT playerApplication
([out, retval] IWMPPlayerApplication
**ppIWMPPlayerApplication
);
1062 HRESULT openPlayer
([in] BSTR bstrURL
);
1067 uuid(6BF52A4F
-394A
-11D3
-B153
-00C04F79FAA6
),
1071 interface IWMPPlayer
: IWMPCore
{
1072 [id(0x00000013), propget]
1073 HRESULT enabled
([out, retval] VARIANT_BOOL* pbEnabled
);
1074 [id(0x00000013), propput]
1075 HRESULT enabled
([in] VARIANT_BOOL pbEnabled
);
1076 [id(0x00000015), propget]
1077 HRESULT fullScreen
([out, retval] VARIANT_BOOL* pbFullScreen
);
1078 [id(0x00000015), propput]
1079 HRESULT fullScreen
(VARIANT_BOOL pbFullScreen
);
1080 [id(0x00000016), propget]
1081 HRESULT enableContextMenu
([out, retval] VARIANT_BOOL* pbEnableContextMenu
);
1082 [id(0x00000016), propput]
1083 HRESULT enableContextMenu
(VARIANT_BOOL pbEnableContextMenu
);
1084 [id(0x00000017), propput]
1085 HRESULT uiMode
([in] BSTR pbstrMode
);
1086 [id(0x00000017), propget]
1087 HRESULT uiMode
([out, retval] BSTR* pbstrMode
);
1092 uuid(82a2986c
-0293-4fd0
-b279
-b21b86c058be
),
1095 interface IWMPSyncDevice
: IUnknown
1098 HRESULT friendlyName
([out, retval] BSTR *name
);
1101 HRESULT friendlyName
([in] BSTR name
);
1104 HRESULT deviceName
([out, retval] BSTR *name
);
1107 HRESULT deviceId
([out, retval] BSTR *device
);
1110 HRESULT partnershipIndex
([out, retval] long *index
);
1113 HRESULT connected
([out, retval] VARIANT_BOOL *connected
);
1116 HRESULT status
([out, retval] WMPDeviceStatus
*status
);
1119 HRESULT syncState
([out, retval] WMPSyncState
*state
);
1122 HRESULT progress
([out, retval] long *progress
);
1124 HRESULT getItemInfo
(
1126 [out, retval] BSTR *val
);
1128 HRESULT createPartnership
([in] VARIANT_BOOL showui
);
1130 HRESULT deletePartnership
();
1136 HRESULT showSettings
();
1138 HRESULT isIdentical
(
1139 [in] IWMPSyncDevice
*device
,
1140 [out, retval] VARIANT_BOOL *ret
);
1145 uuid(88afb4b2
-140a
-44d2
-91e6
-4543da467cd1
),
1148 interface IWMPSyncDevice2
: IWMPSyncDevice
1150 HRESULT setItemInfo
(
1157 uuid(56e2294f
-69ed
-4629-a869
-aea72c0dcc2c
),
1160 interface IWMPCdromRip
: IUnknown
1163 HRESULT ripState
([out, retval] WMPRipState
*state
);
1166 HRESULT ripProgress
([out, retval] long *progress
);
1175 uuid(bd94dbeb
-417f
-4928-aa06
-087d56ed9b59
),
1178 interface IWMPCdromBurn
: IUnknown
1180 HRESULT isAvailable
(
1182 [out, retval] VARIANT_BOOL *available
);
1184 HRESULT getItemInfo
(
1186 [out, retval] BSTR *val
);
1189 HRESULT label
([out, retval] BSTR *label
);
1192 HRESULT label
([in] BSTR label
);
1195 HRESULT burnFormat
([out, retval] WMPBurnFormat
*format
);
1198 HRESULT burnFormat
([in] WMPBurnFormat format
);
1201 HRESULT burnPlaylist
([out, retval] IWMPPlaylist
**playlist
);
1204 HRESULT burnPlaylist
([in] IWMPPlaylist
*playlist
);
1206 HRESULT refreshStatus
();
1209 HRESULT burnState
([out, retval] WMPBurnState
*state
);
1212 HRESULT burnProgress
([out, retval] long *progress
);
1214 HRESULT startBurn
();
1223 uuid(3df47861
-7df1
-4c1f
-a81b
-4c26f0f7a7c6
),
1226 interface IWMPLibrary
: IUnknown
1229 HRESULT name
([out, retval] BSTR *name
);
1232 HRESULT type
([out, retval] WMPLibraryType
*type
);
1235 HRESULT mediaCollection
([out, retval] IWMPMediaCollection
**collection
);
1237 HRESULT isIdentical
(
1238 [in] IWMPLibrary
*wmplibrary
,
1239 [out, retval] VARIANT_BOOL *ret
);
1243 uuid(19a6627b
-da9e
-47c1
-bb23
-00b5e668236a
),
1246 interface IWMPEvents
: IUnknown
1248 void OpenStateChange
([in] long state
);
1250 void PlayStateChange
([in] long state
);
1252 void AudioLanguageChange
([in] long lang
);
1254 void StatusChange
();
1262 void Disconnect
([in] long result
);
1264 void Buffering
([in] VARIANT_BOOL start
);
1271 [in] BSTR description
);
1273 void EndOfStream
([in] long result
);
1275 void PositionChange
(
1276 [in] double old_position
,
1277 [in] double new_position
);
1279 void MarkerHit
([in] long marker
);
1281 void DurationUnitChange
([in] long duration
);
1283 void CdromMediaChange
([in] long num
);
1285 void PlaylistChange
(
1286 [in] IDispatch
*playlist
,
1287 [in] WMPPlaylistChangeEventType change
);
1289 void CurrentPlaylistChange
([in] WMPPlaylistChangeEventType change
);
1291 void CurrentPlaylistItemAvailable
([in] BSTR item
);
1293 void MediaChange
([in] IDispatch
*item
);
1295 void CurrentMediaItemAvailable
([in] BSTR name
);
1297 void CurrentItemChange
([in] IDispatch
*media
);
1299 void MediaCollectionChange
();
1301 void MediaCollectionAttributeStringAdded
(
1305 void MediaCollectionAttributeStringRemoved
(
1309 void MediaCollectionAttributeStringChanged
(
1314 void PlaylistCollectionChange
();
1316 void PlaylistCollectionPlaylistAdded
([in] BSTR name
);
1318 void PlaylistCollectionPlaylistRemoved
([in] BSTR name
);
1320 void PlaylistCollectionPlaylistSetAsDeleted
(
1322 [in] VARIANT_BOOL deleted
);
1326 [in] VARIANT_BOOL value
);
1328 void MediaError
([in] IDispatch
*media
);
1330 void OpenPlaylistSwitch
([in] IDispatch
*item
);
1332 void DomainChange
([in] BSTR domain
);
1334 void SwitchedToPlayerApplication
();
1336 void SwitchedToControl
();
1338 void PlayerDockedStateChange
();
1340 void PlayerReconnect
();
1344 [in] short shift_state
,
1350 [in] short shift_state
,
1356 [in] short shift_state
);
1358 void KeyPress
([in] short ascii
);
1362 [in] short shift_state
);
1366 [in] short nShiftState
,
1372 [in] short shift_state
,
1378 [in] short shift_state
,
1384 uuid(1e7601fa
-47ea
-4107-9ea9
-9004ed9684ff
),
1387 interface IWMPEvents2
: IWMPEvents
1389 void DeviceConnect
([in] IWMPSyncDevice
*device
);
1391 void DeviceDisconnect
([in] IWMPSyncDevice
*device
);
1393 void DeviceStatusChange
(
1394 [in] IWMPSyncDevice
*device
,
1395 [in] WMPDeviceStatus status
);
1397 void DeviceSyncStateChange
(
1398 [in] IWMPSyncDevice
*device
,
1399 [in] WMPSyncState state
);
1401 void DeviceSyncError
(
1402 [in] IWMPSyncDevice
*device
,
1403 [in] IDispatch
*media
);
1405 void CreatePartnershipComplete
(
1406 [in] IWMPSyncDevice
*device
,
1407 [in] HRESULT result
);
1411 uuid(1f504270
-a66b
-4223-8e96
-26a06c63d69f
),
1414 interface IWMPEvents3
: IWMPEvents2
1416 void CdromRipStateChange
(
1417 [in] IWMPCdromRip
*rip
,
1418 [in] WMPRipState state
);
1420 void CdromRipMediaError
(
1421 [in] IWMPCdromRip
*rip
,
1422 [in] IDispatch
*media
);
1424 void CdromBurnStateChange
(
1425 [in] IWMPCdromBurn
*burn
,
1426 [in] WMPBurnState state
);
1428 void CdromBurnMediaError
(
1429 [in] IWMPCdromBurn
*burn
,
1430 [in] IDispatch
*media
);
1432 void CdromBurnError
(
1433 [in] IWMPCdromBurn
*burn
,
1434 [in] HRESULT error
);
1436 void LibraryConnect
(
1437 [in] IWMPLibrary
*wmplibrary
);
1439 void LibraryDisconnect
(
1440 [in] IWMPLibrary
*wmplibrary
);
1442 void FolderScanStateChange
(
1443 [in] WMPFolderScanState state
);
1445 void StringCollectionChange
(
1446 [in] IDispatch
*collection
,
1447 [in] WMPStringCollectionChangeEventType change
,
1450 void MediaCollectionMediaAdded
(
1451 [in] IDispatch
*media
);
1453 void MediaCollectionMediaRemoved
(
1454 [in] IDispatch
*media
);
1458 uuid(26dabcfa
-306b
-404d
-9a6f
-630a8405048d
),
1461 interface IWMPEvents4
: IWMPEvents3
1463 void DeviceEstimation
(
1464 [in] IWMPSyncDevice
*device
,
1465 [in] HRESULT result
,
1466 [in] LONGLONG used_space
,
1467 [in] LONGLONG estimated_space
);
1472 uuid(6bf52a51
-394a
-11d3
-b153
-00c04f79faa6
)
1474 interface _WMPOCXEvents
: IDispatch
1478 helpstring("Windows Media Player"),
1479 threading
(apartment
),
1480 progid
("WMPlayer.OCX.7"),
1481 vi_progid
("WMPlayer.OCX"),
1482 uuid(6bf52a52
-394a
-11d3
-b153
-00c04f79faa6
)
1484 coclass WindowsMediaPlayer
1486 [default] interface IWMPPlayer4
;
1487 /* interface IWMPPlayer3; */
1488 /* interface IWMPPlayer2; */
1489 interface IWMPPlayer
;
1490 interface IWMPControls
;
1491 interface IWMPSettings
;
1492 interface IWMPPlaylist
;
1493 interface IWMPMedia
;
1494 interface IWMPMediaCollection
;
1495 interface IWMPPlaylistCollection
;
1496 interface IWMPCdromCollection
;
1497 interface IWMPError
;
1498 interface IWMPErrorItem
;
1499 /* interface IWMPErrorItem2; */
1500 interface IWMPClosedCaption
;
1502 interface IWMPControls2
;
1503 interface IWMPMedia2
;
1504 interface IWMPMedia3
;
1505 /* interface IWMPMetadataPicture; */
1506 /* interface IWMPMetadataText; */
1507 /* interface IWMPSettings2; */
1508 /* interface IWMPControls3; */
1509 /* interface IWMPClosedCaption2; */
1510 /* interface IWMPMediaCollection2; */
1511 /* interface IWMPStringCollection2; */
1512 [default, source] dispinterface _WMPOCXEvents
;