dinput: Avoid deadlock when CS are acquired in different order.
[wine.git] / include / wmp.idl
blob442b7021383afd89517e07e141e50a6344d06b04
1 /*
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
19 import "oaidl.idl";
20 import "ocidl.idl";
22 #ifndef __WIDL__
23 #define threading(model)
24 #define progid(str)
25 #define vi_progid(str)
26 #endif
29 helpstring("Windows Media Player"),
30 version(1.0),
31 uuid(6bf52a50-394a-11d3-b153-00c04f79Faa6)
33 library WMPLib {
34 importlib("stdole2.tlb");
36 typedef enum {
37 wmposUndefined,
38 wmposPlaylistChanging,
39 wmposPlaylistLocating,
40 wmposPlaylistConnecting,
41 wmposPlaylistLoading,
42 wmposPlaylistOpening,
43 wmposPlaylistOpenNoMedia,
44 wmposPlaylistChanged,
45 wmposMediaChanging,
46 wmposMediaLocating,
47 wmposMediaConnecting,
48 wmposMediaLoading,
49 wmposMediaOpening,
50 wmposMediaOpen,
51 wmposBeginCodecAcquisition,
52 wmposEndCodecAcquisition,
53 wmposBeginLicenseAcquisition,
54 wmposEndLicenseAcquisition,
55 wmposBeginIndividualization,
56 wmposEndIndividualization,
57 wmposMediaWaiting,
58 wmposOpeningUnknownURL
59 } WMPOpenState;
61 typedef enum {
62 wmppsUndefined,
63 wmppsStopped,
64 wmppsPaused,
65 wmppsPlaying,
66 wmppsScanForward,
67 wmppsScanReverse,
68 wmppsBuffering,
69 wmppsWaiting,
70 wmppsMediaEnded,
71 wmppsTransitioning,
72 wmppsReady,
73 wmppsReconnecting,
74 wmppsLast
75 } WMPPlayState;
77 typedef enum {
78 wmplcUnknown,
79 wmplcClear,
80 wmplcInfoChange,
81 wmplcMove,
82 wmplcDelete,
83 wmplcInsert,
84 wmplcAppend,
85 wmplcPrivate,
86 wmplcNameChange,
87 wmplcMorph,
88 wmplcSort,
89 wmplcLast
90 } WMPPlaylistChangeEventType;
92 typedef enum {
93 wmpdsUnknown,
94 wmpdsPartnershipExists,
95 wmpdsPartnershipDeclined,
96 wmpdsPartnershipAnother,
97 wmpdsManualDevice,
98 wmpdsNewDevice,
99 wmpdsLast
100 } WMPDeviceStatus;
102 typedef enum {
103 wmpssUnknown,
104 wmpssSynchronizing,
105 wmpssStopped,
106 wmpssEstimating,
107 wmpssLast
108 } WMPSyncState;
110 typedef enum {
111 wmprsUnknown,
112 wmprsRipping,
113 wmprsStopped
114 } WMPRipState;
116 typedef enum {
117 wmpbfAudioCD,
118 wmpbfDataCD
119 } WMPBurnFormat;
121 typedef enum {
122 wmpbsUnknown,
123 wmpbsBusy,
124 wmpbsReady,
125 wmpbsWaitingForDisc,
126 wmpbsRefreshStatusPending,
127 wmpbsPreparingToBurn,
128 wmpbsBurning,
129 wmpbsStopped,
130 wmpbsErasing,
131 wmpbsDownloading
132 } WMPBurnState;
134 typedef enum {
135 wmpltUnknown,
136 wmpltAll,
137 wmpltLocal,
138 wmpltRemote,
139 wmpltDisc,
140 wmpltPortableDevice
141 } WMPLibraryType;
143 typedef enum {
144 wmpfssUnknown,
145 wmpfssScanning,
146 wmpfssUpdating,
147 wmpfssStopped
148 } WMPFolderScanState;
150 typedef enum {
151 wmpsccetUnknown,
152 wmpsccetInsert,
153 wmpsccetChange,
154 wmpsccetDelete,
155 wmpsccetClear,
156 wmpsccetBeginUpdates,
157 wmpsccetEndUpdates
158 } WMPStringCollectionChangeEventType;
160 interface IWMPMedia;
163 odl,
164 uuid(d5f0f4f1-130c-11d3-b14e-00c04f79Faa6),
165 dual,
166 oleautomation
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(
183 [in] long lIndex,
184 [out, retval] BSTR *pbstrAttributeName);
186 [id(0x00d4), propget]
187 HRESULT Item(
188 [in] long lIndex,
189 [out, retval] IWMPMedia** ppIWMPMedia);
191 [id(0x00cb)]
192 HRESULT getItemInfo(
193 [in] BSTR bstrName,
194 [out, retval] BSTR *pbstrVal);
196 [id(0x00cc)]
197 HRESULT setItemInfo(
198 [in] BSTR bstrName,
199 [in] BSTR bstrValue);
201 [id(0x00d5), propget]
202 HRESULT isIdentical(
203 [in] IWMPPlaylist *pIWMPPlaylist,
204 [out, retval] VARIANT_BOOL *pvbool);
206 [id(0x00cd)]
207 HRESULT clear();
209 [id(0x00ce)]
210 HRESULT insertItem(
211 [in] long lIndex,
212 [in] IWMPMedia *pIWMPMedia);
214 [id(0x00cf)]
215 HRESULT appendItem([in] IWMPMedia *pIWMPMedia);
217 [id(0x00d0)]
218 HRESULT removeItem([in] IWMPMedia *pIWMPMedia);
220 [id(0x00d1)]
221 HRESULT moveItem(
222 long lIndexOld,
223 long lIndexNew);
227 odl,
228 uuid(94d55e95-3Fac-11d3-b155-00c04f79faa6),
229 dual,
230 oleautomation
232 interface IWMPMedia : IDispatch
234 [id(0x02fb), propget]
235 HRESULT isIdentical(
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);
256 [id(0x02f3)]
257 HRESULT getMarkerTime(
258 [in] long MarkerNum,
259 [out, retval] double *pMarkerTime);
261 [id(0x02f4)]
262 HRESULT getMarkerName(
263 [in] long MarkerNum,
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);
275 [id(0x02f8)]
276 HRESULT getAttributeName(
277 [in] long lIndex,
278 [out, retval] BSTR *pbstrItemName);
280 [id(0x02f9)]
281 HRESULT getItemInfo(
282 [in] BSTR bstrItemName,
283 [out, retval] BSTR *pbstrVal);
285 [id(0x02fa)]
286 HRESULT setItemInfo(
287 [in] BSTR bstrItemName,
288 [in] BSTR bstrVal);
290 [id(0x02fd)]
291 HRESULT getItemInfoByAtom(
292 [in] long lAtom,
293 [out, retval] BSTR *pbstrVal);
295 [id(0x02fe)]
296 HRESULT isMemberOf(
297 [in] IWMPPlaylist *pPlaylist,
298 [out, retval] VARIANT_BOOL *pvarfIsMemberOf);
300 [id(0x02ff)]
301 HRESULT isReadOnlyItem(
302 [in] BSTR bstrItemName,
303 [out, retval] VARIANT_BOOL *pvarfIsReadOnly);
307 odl,
308 uuid(74c09E02-f828-11d2-a74b-00a0c905f36e),
309 dual,
310 oleautomation
312 interface IWMPControls : IDispatch {
313 [id(0x003e), propget]
314 HRESULT isAvailable(
315 [in] BSTR bstrItem,
316 [out, retval] VARIANT_BOOL *pIsAvailable);
318 [id(0x0033)]
319 HRESULT play();
321 [id(0x0034)]
322 HRESULT stop();
324 [id(0x0035)]
325 HRESULT pause();
327 [id(0x0036)]
328 HRESULT fastForward();
330 [id(0x0037)]
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);
341 [id(0x003a)]
342 HRESULT next();
344 [id(0x003b)]
345 HRESULT previous();
347 [id(0x003c)]
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);
359 [id(0x003f)]
360 HRESULT playItem([in] IWMPMedia *pIWMPMedia);
364 odl,
365 uuid(9104d1ab-80c9-4fed-abf0-2e6417a6df14),
366 dual,
367 oleautomation
369 interface IWMPSettings : IDispatch
371 [id(0x0071), propget]
372 HRESULT isAvailable(
373 [in] BSTR bstrItem,
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);
421 [id(0x006e)]
422 HRESULT getMode(
423 [in] BSTR bstrMode,
424 [out, retval] VARIANT_BOOL *pvarfMode);
426 [id(0x006f)]
427 HRESULT setMode(
428 [in] BSTR bstrMode,
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);
439 odl,
440 uuid(4a976298-8c0d-11d3-b389-00c04f68574b),
441 dual,
442 oleautomation
444 interface IWMPStringCollection : IDispatch
446 [id(0x0191), propget]
447 HRESULT count([out, retval] long *plCount);
449 [id(0x0192)]
450 HRESULT Item(
451 [in] long lIndex,
452 [out, retval] BSTR *pbstrString);
456 odl,
457 uuid(8363bc22-b4b4-4b19-989d-1cd765749dd1),
458 dual,
459 oleautomation
461 interface IWMPMediaCollection : IDispatch
463 [id(0x01c4)]
464 HRESULT add(
465 [in] BSTR bstrURL,
466 [out, retval] IWMPMedia **ppItem);
468 [id(0x01c5)]
469 HRESULT getAll([out, retval] IWMPPlaylist **ppMediaItems);
471 [id(0x01c6)]
472 HRESULT getByName(
473 [in] BSTR bstrName,
474 [out, retval] IWMPPlaylist **ppMediaItems);
476 [id(0x01c7)]
477 HRESULT getByGenre(
478 [in] BSTR bstrGenre,
479 [out, retval] IWMPPlaylist **ppMediaItems);
481 [id(0x01c8)]
482 HRESULT getByAuthor(
483 [in] BSTR bstrAuthor,
484 [out, retval] IWMPPlaylist **ppMediaItems);
486 [id(0x01c9)]
487 HRESULT getByAlbum(
488 [in] BSTR bstrAlbum,
489 [out, retval] IWMPPlaylist **ppMediaItems);
491 [id(0x01ca)]
492 HRESULT getByAttribute(
493 [in] BSTR bstrAttribute,
494 [in] BSTR bstrValue,
495 [out, retval] IWMPPlaylist **ppMediaItems);
497 [id(0x01cb)]
498 HRESULT remove(
499 [in] IWMPMedia *pItem,
500 [in] VARIANT_BOOL varfDeleteFile);
502 [id(0x01cd)]
503 HRESULT getAttributeStringCollection(
504 [in] BSTR bstrAttribute,
505 [in] BSTR bstrMediaType,
506 [out, retval] IWMPStringCollection **ppStringCollection);
508 [id(0x01d6)]
509 HRESULT getMediaAtom(
510 [in] BSTR bstrItemName,
511 [out, retval] long *plAtom);
513 [id(0x01d7)]
514 HRESULT setDeleted(
515 [in] IWMPMedia *pItem,
516 [in] VARIANT_BOOL varfIsDeleted);
518 [id(0x01d8)]
519 HRESULT isDeleted(
520 [in] IWMPMedia *pItem,
521 [out, retval] VARIANT_BOOL *pvarfIsDeleted);
525 odl,
526 uuid(679409c0-99f7-11d3-9fb7-00105aa620bb),
527 dual,
528 oleautomation
530 interface IWMPPlaylistArray : IDispatch
532 [id(0x01f5), propget]
533 HRESULT count([out, retval] long *plCount);
535 [id(0x01f6)]
536 HRESULT Item(
537 [in] long lIndex,
538 [out, retval] IWMPPlaylist **ppItem);
542 odl,
543 uuid(10a13217-23a7-439b-b1c0-d847c79b7774),
544 dual,
545 oleautomation
547 interface IWMPPlaylistCollection : IDispatch
549 [id(0x0228)]
550 HRESULT newPlaylist(
551 [in] BSTR bstrName,
552 [out, retval] IWMPPlaylist **ppItem);
554 [id(0x0229)]
555 HRESULT getAll([out, retval] IWMPPlaylistArray **ppPlaylistArray);
557 [id(0x022a)]
558 HRESULT getByName(
559 [in] BSTR bstrName,
560 [out, retval] IWMPPlaylistArray **ppPlaylistArray);
562 [id(0x022c)]
563 HRESULT remove([in] IWMPPlaylist *pItem);
565 [id(0x0230)]
566 HRESULT setDeleted(
567 [in] IWMPPlaylist *pItem,
568 [in] VARIANT_BOOL varfIsDeleted);
570 [id(0x0231)]
571 HRESULT isDeleted(
572 [in] IWMPPlaylist *pItem,
573 [out, retval] VARIANT_BOOL *pvarfIsDeleted);
575 [id(0x0232)]
576 HRESULT importPlaylist(
577 [in] IWMPPlaylist *pItem,
578 [out, retval] IWMPPlaylist **ppImportedItem);
582 odl,
583 uuid(ec21b779-edef-462d-bba4-ad9dde2b29a7),
584 dual,
585 oleautomation
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);
628 [id(0x032d)]
629 HRESULT getProxySettings(
630 [in] BSTR bstrProtocol,
631 [out, retval] long *plProxySetting);
633 [id(0x032e)]
634 HRESULT setProxySettings(
635 [in] BSTR bstrProtocol,
636 [in] long lProxySetting);
638 [id(0x032f)]
639 HRESULT getProxyName(
640 [in] BSTR bstrProtocol,
641 [out, retval] BSTR *pbstrProxyName);
643 [id(0x0330)]
644 HRESULT setProxyName(
645 [in] BSTR bstrProtocol,
646 [in] BSTR bstrProxyName);
648 [id(0x0331)]
649 HRESULT getProxyPort(
650 [in] BSTR bstrProtocol,
651 [out, retval] long *lProxyPort);
653 [id(0x0332)]
654 HRESULT setProxyPort(
655 [in] BSTR bstrProtocol,
656 [in] long lProxyPort);
658 [id(0x0333)]
659 HRESULT getProxyExceptionList(
660 [in] BSTR bstrProtocol,
661 [out, retval] BSTR *pbstrExceptionList);
663 [id(0x0334)]
664 HRESULT setProxyExceptionList(
665 [in] BSTR bstrProtocol,
666 [in] BSTR pbstrExceptionList);
668 [id(0x0335)]
669 HRESULT getProxyBypassForLocal(
670 [in] BSTR bstrProtocol,
671 [out, retval] VARIANT_BOOL *pfBypassForLocal);
673 [id(0x0336)]
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);
694 odl,
695 uuid(cfab6e98-8730-11d3-b388-00c04f68574b),
696 dual,
697 oleautomation
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);
707 [id(0x00fd)]
708 HRESULT eject();
712 odl,
713 uuid(ee4c8fe2-34b2-11d3-a3bf-006097c9b344),
714 dual,
715 oleautomation
717 interface IWMPCdromCollection : IDispatch
719 [id(0x012d), propget]
720 HRESULT count([out, retval] long *plCount);
722 [id(0x012e)]
723 HRESULT Item(
724 [in] long lIndex,
725 [out, retval] IWMPCdrom **ppItem);
727 [id(0x012f)]
728 HRESULT getByDriveSpecifier(
729 [in] BSTR bstrDriveSpecifier,
730 [out, retval] IWMPCdrom **ppCdrom);
734 odl,
735 uuid(8da61686-4668-4a5c-ae5d-803193293dbe),
736 dual,
737 oleautomation
739 interface IWMPDVD : IDispatch
741 [id(0x03e9), propget]
742 HRESULT isAvailable(
743 [in] BSTR bstrItem,
744 [out, retval] VARIANT_BOOL *pIsAvailable);
746 [id(0x03ea), propget]
747 HRESULT domain([out, retval] BSTR *strDomain);
749 [id(0x03eb)]
750 HRESULT topMenu();
752 [id(0x03ec)]
753 HRESULT titleMenu();
755 [id(0x03ed)]
756 HRESULT back();
758 [id(0x03ee)]
759 HRESULT resume();
763 odl,
764 uuid(4f2df574-c588-11d3-9ed0-00c04fb6e937),
765 dual,
766 oleautomation
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);
795 odl,
796 uuid(3614c646-3b3b-4de7-a81e-930e3f2127b3),
797 dual,
798 oleautomation
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);
819 odl,
820 uuid(a12dcf7d-14ab-4c1b-a8cd-63909f06025b),
821 dual,
822 oleautomation
824 interface IWMPError : IDispatch
826 [id(0x0353)]
827 HRESULT clearErrorQueue();
829 [id(0x0354), propget]
830 HRESULT errorCount([out, retval] long *plNumErrors);
832 [id(0x0355), propget]
833 HRESULT Item(
834 [in] long dwIndex,
835 [out, retval] IWMPErrorItem **ppErrorItem);
837 [id(0x0356)]
838 HRESULT webHelp();
842 odl,
843 uuid(40897764-ceab-47be-ad4a-8e28537f9bbf),
844 dual,
845 oleautomation
847 interface IWMPPlayerApplication : IDispatch
849 [id(0x044d)]
850 HRESULT switchToPlayerApplication();
852 [id(0x044e)]
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);
863 odl,
864 uuid(d84cca99-cce2-11d2-9ecc-0000f8085981),
865 dual,
866 oleautomation
868 interface IWMPCore : IDispatch
870 [id(0x0003)]
871 HRESULT close();
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);
904 [id(0x000c)]
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);
932 odl,
933 uuid(bc17e5B7-7561-4c18-bb90-17d485775659),
934 dual,
935 oleautomation
937 interface IWMPCore2 : IWMPCore {
938 [id(0x0028), propget]
939 HRESULT dvd([out, retval] IWMPDVD **ppDVD);
943 odl,
944 uuid(7587c667-628f-499f-88e7-6A6f4e888464),
945 dual,
946 oleautomation
948 interface IWMPCore3 : IWMPCore2
950 [id(0x0029)]
951 HRESULT newPlaylist(
952 [in] BSTR bstrName,
953 [in] BSTR bstrURL,
954 [out, retval] IWMPPlaylist **ppPlaylist);
956 [id(0x002a)]
957 HRESULT newMedia(
958 [in] BSTR bstrURL,
959 [out, retval] IWMPMedia **ppMedia);
963 odl,
964 uuid(6c497d62-8919-413c-82db-e935fb3ec584),
965 dual,
966 oleautomation
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);
1006 [id(0x001c)]
1007 HRESULT openPlayer([in] BSTR bstrURL);
1011 odl,
1012 uuid(6BF52A4F-394A-11D3-B153-00C04F79FAA6),
1013 dual,
1014 oleautomation
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);
1036 odl,
1037 uuid(82a2986c-0293-4fd0-b279-b21b86c058be),
1038 oleautomation
1040 interface IWMPSyncDevice : IUnknown
1042 [propget]
1043 HRESULT friendlyName([out, retval] BSTR *name);
1045 [propput]
1046 HRESULT friendlyName([in] BSTR name);
1048 [propget]
1049 HRESULT deviceName([out, retval] BSTR *name);
1051 [propget]
1052 HRESULT deviceId([out, retval] BSTR *device);
1054 [propget]
1055 HRESULT partnershipIndex([out, retval] long *index);
1057 [propget]
1058 HRESULT connected([out, retval] VARIANT_BOOL *connected);
1060 [propget]
1061 HRESULT status([out, retval] WMPDeviceStatus *status);
1063 [propget]
1064 HRESULT syncState([out, retval] WMPSyncState *state);
1066 [propget]
1067 HRESULT progress([out, retval] long *progress);
1069 HRESULT getItemInfo(
1070 [in] BSTR name,
1071 [out, retval] BSTR *val);
1073 HRESULT createPartnership([in] VARIANT_BOOL showui);
1075 HRESULT deletePartnership();
1077 HRESULT start();
1079 HRESULT stop();
1081 HRESULT showSettings();
1083 HRESULT isIdentical(
1084 [in] IWMPSyncDevice *device,
1085 [out, retval] VARIANT_BOOL *ret);
1089 odl,
1090 uuid(88afb4b2-140a-44d2-91e6-4543da467cd1),
1091 oleautomation
1093 interface IWMPSyncDevice2 : IWMPSyncDevice
1095 HRESULT setItemInfo(
1096 [in] BSTR name,
1097 [in] BSTR val);
1101 odl,
1102 uuid(56e2294f-69ed-4629-a869-aea72c0dcc2c),
1103 oleautomation
1105 interface IWMPCdromRip : IUnknown
1107 [propget]
1108 HRESULT ripState([out, retval] WMPRipState *state);
1110 [propget]
1111 HRESULT ripProgress([out, retval] long *progress);
1113 HRESULT startRip();
1115 HRESULT stopRip();
1119 odl,
1120 uuid(bd94dbeb-417f-4928-aa06-087d56ed9b59),
1121 oleautomation
1123 interface IWMPCdromBurn : IUnknown
1125 HRESULT isAvailable(
1126 [in] BSTR item,
1127 [out, retval] VARIANT_BOOL *available);
1129 HRESULT getItemInfo(
1130 [in] BSTR item,
1131 [out, retval] BSTR *val);
1133 [propget]
1134 HRESULT label([out, retval] BSTR *label);
1136 [propput]
1137 HRESULT label([in] BSTR label);
1139 [propget]
1140 HRESULT burnFormat([out, retval] WMPBurnFormat *format);
1142 [propput]
1143 HRESULT burnFormat([in] WMPBurnFormat format);
1145 [propget]
1146 HRESULT burnPlaylist([out, retval] IWMPPlaylist **playlist);
1148 [propput]
1149 HRESULT burnPlaylist([in] IWMPPlaylist *playlist);
1151 HRESULT refreshStatus();
1153 [propget]
1154 HRESULT burnState([out, retval] WMPBurnState *state);
1156 [propget]
1157 HRESULT burnProgress([out, retval] long *progress);
1159 HRESULT startBurn();
1161 HRESULT stopBurn();
1163 HRESULT erase();
1167 odl,
1168 uuid(3df47861-7df1-4c1f-a81b-4c26f0f7a7c6),
1169 oleautomation
1171 interface IWMPLibrary : IUnknown
1173 [propget]
1174 HRESULT name([out, retval] BSTR *name);
1176 [propget]
1177 HRESULT type([out, retval] WMPLibraryType *type);
1179 [propget]
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();
1201 void ScriptCommand(
1202 [in] BSTR type,
1203 [in] BSTR param);
1205 void NewStream();
1207 void Disconnect([in] long result);
1209 void Buffering([in] VARIANT_BOOL start);
1211 void Error();
1213 void Warning(
1214 [in] long warning,
1215 [in] long param,
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(
1247 [in] BSTR name,
1248 [in] BSTR val);
1250 void MediaCollectionAttributeStringRemoved(
1251 [in] BSTR name,
1252 [in] BSTR val);
1254 void MediaCollectionAttributeStringChanged(
1255 [in] BSTR name,
1256 [in] BSTR old_val,
1257 [in] BSTR new_val);
1259 void PlaylistCollectionChange();
1261 void PlaylistCollectionPlaylistAdded([in] BSTR name);
1263 void PlaylistCollectionPlaylistRemoved([in] BSTR name);
1265 void PlaylistCollectionPlaylistSetAsDeleted(
1266 [in] BSTR name,
1267 [in] VARIANT_BOOL deleted);
1269 void ModeChange(
1270 [in] BSTR ModeName,
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();
1287 void Click(
1288 [in] short button,
1289 [in] short shift_state,
1290 [in] long x,
1291 [in] long y);
1293 void DoubleClick(
1294 [in] short button,
1295 [in] short shift_state,
1296 [in] long fX,
1297 [in] long fY);
1299 void KeyDown(
1300 [in] short keycode,
1301 [in] short shift_state);
1303 void KeyPress([in] short ascii);
1305 void KeyUp(
1306 [in] short keycode,
1307 [in] short shift_state);
1309 void MouseDown(
1310 [in] short button,
1311 [in] short nShiftState,
1312 [in] long x,
1313 [in] long y);
1315 void MouseMove(
1316 [in] short button,
1317 [in] short shift_state,
1318 [in] long x,
1319 [in] long y);
1321 void MouseUp(
1322 [in] short button,
1323 [in] short shift_state,
1324 [in] long x,
1325 [in] long y);
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,
1393 [in] long index);
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);
1416 hidden,
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;
1446 interface IWMPDVD;
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;