winealsa: Use dedicated macros to call interface functions.
[wine.git] / include / wmp.idl
blobac2fa27effc81715bec2a3bad396053148eee8dc
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(6f030d25-0890-480f-9775-1f7e40ab5b8e),
366 dual,
367 oleautomation
369 interface IWMPControls2 : IWMPControls
371 [id(0x0040)]
372 HRESULT step([in] long lStep);
376 odl,
377 uuid(cbb92747-741f-44fe-ab5b-f1a48f3b2a59),
378 oleautomation
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);
392 odl,
393 uuid(9104d1ab-80c9-4fed-abf0-2e6417a6df14),
394 dual,
395 oleautomation
397 interface IWMPSettings : IDispatch
399 [id(0x0071), propget]
400 HRESULT isAvailable(
401 [in] BSTR bstrItem,
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);
449 [id(0x006e)]
450 HRESULT getMode(
451 [in] BSTR bstrMode,
452 [out, retval] VARIANT_BOOL *pvarfMode);
454 [id(0x006f)]
455 HRESULT setMode(
456 [in] BSTR bstrMode,
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);
467 odl,
468 uuid(4a976298-8c0d-11d3-b389-00c04f68574b),
469 dual,
470 oleautomation
472 interface IWMPStringCollection : IDispatch
474 [id(0x0191), propget]
475 HRESULT count([out, retval] long *plCount);
477 [id(0x0192)]
478 HRESULT Item(
479 [in] long lIndex,
480 [out, retval] BSTR *pbstrString);
484 odl,
485 uuid(8363bc22-b4b4-4b19-989d-1cd765749dd1),
486 dual,
487 oleautomation
489 interface IWMPMediaCollection : IDispatch
491 [id(0x01c4)]
492 HRESULT add(
493 [in] BSTR bstrURL,
494 [out, retval] IWMPMedia **ppItem);
496 [id(0x01c5)]
497 HRESULT getAll([out, retval] IWMPPlaylist **ppMediaItems);
499 [id(0x01c6)]
500 HRESULT getByName(
501 [in] BSTR bstrName,
502 [out, retval] IWMPPlaylist **ppMediaItems);
504 [id(0x01c7)]
505 HRESULT getByGenre(
506 [in] BSTR bstrGenre,
507 [out, retval] IWMPPlaylist **ppMediaItems);
509 [id(0x01c8)]
510 HRESULT getByAuthor(
511 [in] BSTR bstrAuthor,
512 [out, retval] IWMPPlaylist **ppMediaItems);
514 [id(0x01c9)]
515 HRESULT getByAlbum(
516 [in] BSTR bstrAlbum,
517 [out, retval] IWMPPlaylist **ppMediaItems);
519 [id(0x01ca)]
520 HRESULT getByAttribute(
521 [in] BSTR bstrAttribute,
522 [in] BSTR bstrValue,
523 [out, retval] IWMPPlaylist **ppMediaItems);
525 [id(0x01cb)]
526 HRESULT remove(
527 [in] IWMPMedia *pItem,
528 [in] VARIANT_BOOL varfDeleteFile);
530 [id(0x01cd)]
531 HRESULT getAttributeStringCollection(
532 [in] BSTR bstrAttribute,
533 [in] BSTR bstrMediaType,
534 [out, retval] IWMPStringCollection **ppStringCollection);
536 [id(0x01d6)]
537 HRESULT getMediaAtom(
538 [in] BSTR bstrItemName,
539 [out, retval] long *plAtom);
541 [id(0x01d7)]
542 HRESULT setDeleted(
543 [in] IWMPMedia *pItem,
544 [in] VARIANT_BOOL varfIsDeleted);
546 [id(0x01d8)]
547 HRESULT isDeleted(
548 [in] IWMPMedia *pItem,
549 [out, retval] VARIANT_BOOL *pvarfIsDeleted);
553 odl,
554 uuid(679409c0-99f7-11d3-9fb7-00105aa620bb),
555 dual,
556 oleautomation
558 interface IWMPPlaylistArray : IDispatch
560 [id(0x01f5), propget]
561 HRESULT count([out, retval] long *plCount);
563 [id(0x01f6)]
564 HRESULT Item(
565 [in] long lIndex,
566 [out, retval] IWMPPlaylist **ppItem);
570 odl,
571 uuid(10a13217-23a7-439b-b1c0-d847c79b7774),
572 dual,
573 oleautomation
575 interface IWMPPlaylistCollection : IDispatch
577 [id(0x0228)]
578 HRESULT newPlaylist(
579 [in] BSTR bstrName,
580 [out, retval] IWMPPlaylist **ppItem);
582 [id(0x0229)]
583 HRESULT getAll([out, retval] IWMPPlaylistArray **ppPlaylistArray);
585 [id(0x022a)]
586 HRESULT getByName(
587 [in] BSTR bstrName,
588 [out, retval] IWMPPlaylistArray **ppPlaylistArray);
590 [id(0x022c)]
591 HRESULT remove([in] IWMPPlaylist *pItem);
593 [id(0x0230)]
594 HRESULT setDeleted(
595 [in] IWMPPlaylist *pItem,
596 [in] VARIANT_BOOL varfIsDeleted);
598 [id(0x0231)]
599 HRESULT isDeleted(
600 [in] IWMPPlaylist *pItem,
601 [out, retval] VARIANT_BOOL *pvarfIsDeleted);
603 [id(0x0232)]
604 HRESULT importPlaylist(
605 [in] IWMPPlaylist *pItem,
606 [out, retval] IWMPPlaylist **ppImportedItem);
610 odl,
611 uuid(ec21b779-edef-462d-bba4-ad9dde2b29a7),
612 dual,
613 oleautomation
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);
656 [id(0x032d)]
657 HRESULT getProxySettings(
658 [in] BSTR bstrProtocol,
659 [out, retval] long *plProxySetting);
661 [id(0x032e)]
662 HRESULT setProxySettings(
663 [in] BSTR bstrProtocol,
664 [in] long lProxySetting);
666 [id(0x032f)]
667 HRESULT getProxyName(
668 [in] BSTR bstrProtocol,
669 [out, retval] BSTR *pbstrProxyName);
671 [id(0x0330)]
672 HRESULT setProxyName(
673 [in] BSTR bstrProtocol,
674 [in] BSTR bstrProxyName);
676 [id(0x0331)]
677 HRESULT getProxyPort(
678 [in] BSTR bstrProtocol,
679 [out, retval] long *lProxyPort);
681 [id(0x0332)]
682 HRESULT setProxyPort(
683 [in] BSTR bstrProtocol,
684 [in] long lProxyPort);
686 [id(0x0333)]
687 HRESULT getProxyExceptionList(
688 [in] BSTR bstrProtocol,
689 [out, retval] BSTR *pbstrExceptionList);
691 [id(0x0334)]
692 HRESULT setProxyExceptionList(
693 [in] BSTR bstrProtocol,
694 [in] BSTR pbstrExceptionList);
696 [id(0x0335)]
697 HRESULT getProxyBypassForLocal(
698 [in] BSTR bstrProtocol,
699 [out, retval] VARIANT_BOOL *pfBypassForLocal);
701 [id(0x0336)]
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);
722 odl,
723 uuid(cfab6e98-8730-11d3-b388-00c04f68574b),
724 dual,
725 oleautomation
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);
735 [id(0x00fd)]
736 HRESULT eject();
740 odl,
741 uuid(ee4c8fe2-34b2-11d3-a3bf-006097c9b344),
742 dual,
743 oleautomation
745 interface IWMPCdromCollection : IDispatch
747 [id(0x012d), propget]
748 HRESULT count([out, retval] long *plCount);
750 [id(0x012e)]
751 HRESULT Item(
752 [in] long lIndex,
753 [out, retval] IWMPCdrom **ppItem);
755 [id(0x012f)]
756 HRESULT getByDriveSpecifier(
757 [in] BSTR bstrDriveSpecifier,
758 [out, retval] IWMPCdrom **ppCdrom);
762 odl,
763 uuid(8da61686-4668-4a5c-ae5d-803193293dbe),
764 dual,
765 oleautomation
767 interface IWMPDVD : IDispatch
769 [id(0x03e9), propget]
770 HRESULT isAvailable(
771 [in] BSTR bstrItem,
772 [out, retval] VARIANT_BOOL *pIsAvailable);
774 [id(0x03ea), propget]
775 HRESULT domain([out, retval] BSTR *strDomain);
777 [id(0x03eb)]
778 HRESULT topMenu();
780 [id(0x03ec)]
781 HRESULT titleMenu();
783 [id(0x03ed)]
784 HRESULT back();
786 [id(0x03ee)]
787 HRESULT resume();
791 odl,
792 uuid(4f2df574-c588-11d3-9ed0-00c04fb6e937),
793 dual,
794 oleautomation
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);
823 odl,
824 uuid(3614c646-3b3b-4de7-a81e-930e3f2127b3),
825 dual,
826 oleautomation
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);
847 odl,
848 uuid(ab7c88bb-143e-4ea4-acc3-e4350b2106c3),
849 dual,
850 oleautomation
852 interface IWMPMedia2 : IWMPMedia
854 [id(0x0300), propget]
855 HRESULT error([out, retval] IWMPErrorItem **out);
859 odl,
860 uuid(f118efc7-f03a-4fb4-99c9-1c02a5c1065b),
861 dual,
862 oleautomation
864 interface IWMPMedia3 : IWMPMedia2
866 [id(0x0301)]
867 HRESULT getAttributeCountByType([in] BSTR type, [in] BSTR language, [out, retval] long *out);
869 [id(0x0302)]
870 HRESULT getItemInfoByType([in] BSTR type, [in] BSTR language, [in] long index, [out, retval] VARIANT *out);
874 odl,
875 uuid(a12dcf7d-14ab-4c1b-a8cd-63909f06025b),
876 dual,
877 oleautomation
879 interface IWMPError : IDispatch
881 [id(0x0353)]
882 HRESULT clearErrorQueue();
884 [id(0x0354), propget]
885 HRESULT errorCount([out, retval] long *plNumErrors);
887 [id(0x0355), propget]
888 HRESULT Item(
889 [in] long dwIndex,
890 [out, retval] IWMPErrorItem **ppErrorItem);
892 [id(0x0356)]
893 HRESULT webHelp();
897 odl,
898 uuid(40897764-ceab-47be-ad4a-8e28537f9bbf),
899 dual,
900 oleautomation
902 interface IWMPPlayerApplication : IDispatch
904 [id(0x044d)]
905 HRESULT switchToPlayerApplication();
907 [id(0x044e)]
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);
918 odl,
919 uuid(d84cca99-cce2-11d2-9ecc-0000f8085981),
920 dual,
921 oleautomation
923 interface IWMPCore : IDispatch
925 [id(0x0003)]
926 HRESULT close();
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);
959 [id(0x000c)]
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);
987 odl,
988 uuid(bc17e5B7-7561-4c18-bb90-17d485775659),
989 dual,
990 oleautomation
992 interface IWMPCore2 : IWMPCore {
993 [id(0x0028), propget]
994 HRESULT dvd([out, retval] IWMPDVD **ppDVD);
998 odl,
999 uuid(7587c667-628f-499f-88e7-6A6f4e888464),
1000 dual,
1001 oleautomation
1003 interface IWMPCore3 : IWMPCore2
1005 [id(0x0029)]
1006 HRESULT newPlaylist(
1007 [in] BSTR bstrName,
1008 [in] BSTR bstrURL,
1009 [out, retval] IWMPPlaylist **ppPlaylist);
1011 [id(0x002a)]
1012 HRESULT newMedia(
1013 [in] BSTR bstrURL,
1014 [out, retval] IWMPMedia **ppMedia);
1018 odl,
1019 uuid(6c497d62-8919-413c-82db-e935fb3ec584),
1020 dual,
1021 oleautomation
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);
1061 [id(0x001c)]
1062 HRESULT openPlayer([in] BSTR bstrURL);
1066 odl,
1067 uuid(6BF52A4F-394A-11D3-B153-00C04F79FAA6),
1068 dual,
1069 oleautomation
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);
1091 odl,
1092 uuid(82a2986c-0293-4fd0-b279-b21b86c058be),
1093 oleautomation
1095 interface IWMPSyncDevice : IUnknown
1097 [propget]
1098 HRESULT friendlyName([out, retval] BSTR *name);
1100 [propput]
1101 HRESULT friendlyName([in] BSTR name);
1103 [propget]
1104 HRESULT deviceName([out, retval] BSTR *name);
1106 [propget]
1107 HRESULT deviceId([out, retval] BSTR *device);
1109 [propget]
1110 HRESULT partnershipIndex([out, retval] long *index);
1112 [propget]
1113 HRESULT connected([out, retval] VARIANT_BOOL *connected);
1115 [propget]
1116 HRESULT status([out, retval] WMPDeviceStatus *status);
1118 [propget]
1119 HRESULT syncState([out, retval] WMPSyncState *state);
1121 [propget]
1122 HRESULT progress([out, retval] long *progress);
1124 HRESULT getItemInfo(
1125 [in] BSTR name,
1126 [out, retval] BSTR *val);
1128 HRESULT createPartnership([in] VARIANT_BOOL showui);
1130 HRESULT deletePartnership();
1132 HRESULT start();
1134 HRESULT stop();
1136 HRESULT showSettings();
1138 HRESULT isIdentical(
1139 [in] IWMPSyncDevice *device,
1140 [out, retval] VARIANT_BOOL *ret);
1144 odl,
1145 uuid(88afb4b2-140a-44d2-91e6-4543da467cd1),
1146 oleautomation
1148 interface IWMPSyncDevice2 : IWMPSyncDevice
1150 HRESULT setItemInfo(
1151 [in] BSTR name,
1152 [in] BSTR val);
1156 odl,
1157 uuid(56e2294f-69ed-4629-a869-aea72c0dcc2c),
1158 oleautomation
1160 interface IWMPCdromRip : IUnknown
1162 [propget]
1163 HRESULT ripState([out, retval] WMPRipState *state);
1165 [propget]
1166 HRESULT ripProgress([out, retval] long *progress);
1168 HRESULT startRip();
1170 HRESULT stopRip();
1174 odl,
1175 uuid(bd94dbeb-417f-4928-aa06-087d56ed9b59),
1176 oleautomation
1178 interface IWMPCdromBurn : IUnknown
1180 HRESULT isAvailable(
1181 [in] BSTR item,
1182 [out, retval] VARIANT_BOOL *available);
1184 HRESULT getItemInfo(
1185 [in] BSTR item,
1186 [out, retval] BSTR *val);
1188 [propget]
1189 HRESULT label([out, retval] BSTR *label);
1191 [propput]
1192 HRESULT label([in] BSTR label);
1194 [propget]
1195 HRESULT burnFormat([out, retval] WMPBurnFormat *format);
1197 [propput]
1198 HRESULT burnFormat([in] WMPBurnFormat format);
1200 [propget]
1201 HRESULT burnPlaylist([out, retval] IWMPPlaylist **playlist);
1203 [propput]
1204 HRESULT burnPlaylist([in] IWMPPlaylist *playlist);
1206 HRESULT refreshStatus();
1208 [propget]
1209 HRESULT burnState([out, retval] WMPBurnState *state);
1211 [propget]
1212 HRESULT burnProgress([out, retval] long *progress);
1214 HRESULT startBurn();
1216 HRESULT stopBurn();
1218 HRESULT erase();
1222 odl,
1223 uuid(3df47861-7df1-4c1f-a81b-4c26f0f7a7c6),
1224 oleautomation
1226 interface IWMPLibrary : IUnknown
1228 [propget]
1229 HRESULT name([out, retval] BSTR *name);
1231 [propget]
1232 HRESULT type([out, retval] WMPLibraryType *type);
1234 [propget]
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();
1256 void ScriptCommand(
1257 [in] BSTR type,
1258 [in] BSTR param);
1260 void NewStream();
1262 void Disconnect([in] long result);
1264 void Buffering([in] VARIANT_BOOL start);
1266 void Error();
1268 void Warning(
1269 [in] long warning,
1270 [in] long param,
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(
1302 [in] BSTR name,
1303 [in] BSTR val);
1305 void MediaCollectionAttributeStringRemoved(
1306 [in] BSTR name,
1307 [in] BSTR val);
1309 void MediaCollectionAttributeStringChanged(
1310 [in] BSTR name,
1311 [in] BSTR old_val,
1312 [in] BSTR new_val);
1314 void PlaylistCollectionChange();
1316 void PlaylistCollectionPlaylistAdded([in] BSTR name);
1318 void PlaylistCollectionPlaylistRemoved([in] BSTR name);
1320 void PlaylistCollectionPlaylistSetAsDeleted(
1321 [in] BSTR name,
1322 [in] VARIANT_BOOL deleted);
1324 void ModeChange(
1325 [in] BSTR ModeName,
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();
1342 void Click(
1343 [in] short button,
1344 [in] short shift_state,
1345 [in] long x,
1346 [in] long y);
1348 void DoubleClick(
1349 [in] short button,
1350 [in] short shift_state,
1351 [in] long fX,
1352 [in] long fY);
1354 void KeyDown(
1355 [in] short keycode,
1356 [in] short shift_state);
1358 void KeyPress([in] short ascii);
1360 void KeyUp(
1361 [in] short keycode,
1362 [in] short shift_state);
1364 void MouseDown(
1365 [in] short button,
1366 [in] short nShiftState,
1367 [in] long x,
1368 [in] long y);
1370 void MouseMove(
1371 [in] short button,
1372 [in] short shift_state,
1373 [in] long x,
1374 [in] long y);
1376 void MouseUp(
1377 [in] short button,
1378 [in] short shift_state,
1379 [in] long x,
1380 [in] long y);
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,
1448 [in] long index);
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);
1471 hidden,
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;
1501 interface IWMPDVD;
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;