blob: ac2fa27effc81715bec2a3bad396053148eee8dc [file] [log] [blame]
/*
* Copyright 2014 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
import "ocidl.idl";
#ifndef __WIDL__
#define threading(model)
#define progid(str)
#define vi_progid(str)
#endif
[
helpstring("Windows Media Player"),
version(1.0),
uuid(6bf52a50-394a-11d3-b153-00c04f79Faa6)
]
library WMPLib {
importlib("stdole2.tlb");
typedef enum {
wmposUndefined,
wmposPlaylistChanging,
wmposPlaylistLocating,
wmposPlaylistConnecting,
wmposPlaylistLoading,
wmposPlaylistOpening,
wmposPlaylistOpenNoMedia,
wmposPlaylistChanged,
wmposMediaChanging,
wmposMediaLocating,
wmposMediaConnecting,
wmposMediaLoading,
wmposMediaOpening,
wmposMediaOpen,
wmposBeginCodecAcquisition,
wmposEndCodecAcquisition,
wmposBeginLicenseAcquisition,
wmposEndLicenseAcquisition,
wmposBeginIndividualization,
wmposEndIndividualization,
wmposMediaWaiting,
wmposOpeningUnknownURL
} WMPOpenState;
typedef enum {
wmppsUndefined,
wmppsStopped,
wmppsPaused,
wmppsPlaying,
wmppsScanForward,
wmppsScanReverse,
wmppsBuffering,
wmppsWaiting,
wmppsMediaEnded,
wmppsTransitioning,
wmppsReady,
wmppsReconnecting,
wmppsLast
} WMPPlayState;
typedef enum {
wmplcUnknown,
wmplcClear,
wmplcInfoChange,
wmplcMove,
wmplcDelete,
wmplcInsert,
wmplcAppend,
wmplcPrivate,
wmplcNameChange,
wmplcMorph,
wmplcSort,
wmplcLast
} WMPPlaylistChangeEventType;
typedef enum {
wmpdsUnknown,
wmpdsPartnershipExists,
wmpdsPartnershipDeclined,
wmpdsPartnershipAnother,
wmpdsManualDevice,
wmpdsNewDevice,
wmpdsLast
} WMPDeviceStatus;
typedef enum {
wmpssUnknown,
wmpssSynchronizing,
wmpssStopped,
wmpssEstimating,
wmpssLast
} WMPSyncState;
typedef enum {
wmprsUnknown,
wmprsRipping,
wmprsStopped
} WMPRipState;
typedef enum {
wmpbfAudioCD,
wmpbfDataCD
} WMPBurnFormat;
typedef enum {
wmpbsUnknown,
wmpbsBusy,
wmpbsReady,
wmpbsWaitingForDisc,
wmpbsRefreshStatusPending,
wmpbsPreparingToBurn,
wmpbsBurning,
wmpbsStopped,
wmpbsErasing,
wmpbsDownloading
} WMPBurnState;
typedef enum {
wmpltUnknown,
wmpltAll,
wmpltLocal,
wmpltRemote,
wmpltDisc,
wmpltPortableDevice
} WMPLibraryType;
typedef enum {
wmpfssUnknown,
wmpfssScanning,
wmpfssUpdating,
wmpfssStopped
} WMPFolderScanState;
typedef enum {
wmpsccetUnknown,
wmpsccetInsert,
wmpsccetChange,
wmpsccetDelete,
wmpsccetClear,
wmpsccetBeginUpdates,
wmpsccetEndUpdates
} WMPStringCollectionChangeEventType;
interface IWMPMedia;
[
odl,
uuid(d5f0f4f1-130c-11d3-b14e-00c04f79Faa6),
dual,
oleautomation
]
interface IWMPPlaylist : IDispatch
{
[id(0x00c9), propget]
HRESULT count([out, retval] long *plCount);
[id(0x00ca), propget]
HRESULT name([out, retval] BSTR *pbstrName);
[id(0x00ca), propput]
HRESULT name([in] BSTR pbstrName);
[id(0x00d2), propget]
HRESULT attributeCount([out, retval] long *plCount);
[id(0x00d3), propget]
HRESULT attributeName(
[in] long lIndex,
[out, retval] BSTR *pbstrAttributeName);
[id(0x00d4), propget]
HRESULT Item(
[in] long lIndex,
[out, retval] IWMPMedia** ppIWMPMedia);
[id(0x00cb)]
HRESULT getItemInfo(
[in] BSTR bstrName,
[out, retval] BSTR *pbstrVal);
[id(0x00cc)]
HRESULT setItemInfo(
[in] BSTR bstrName,
[in] BSTR bstrValue);
[id(0x00d5), propget]
HRESULT isIdentical(
[in] IWMPPlaylist *pIWMPPlaylist,
[out, retval] VARIANT_BOOL *pvbool);
[id(0x00cd)]
HRESULT clear();
[id(0x00ce)]
HRESULT insertItem(
[in] long lIndex,
[in] IWMPMedia *pIWMPMedia);
[id(0x00cf)]
HRESULT appendItem([in] IWMPMedia *pIWMPMedia);
[id(0x00d0)]
HRESULT removeItem([in] IWMPMedia *pIWMPMedia);
[id(0x00d1)]
HRESULT moveItem(
long lIndexOld,
long lIndexNew);
}
[
odl,
uuid(94d55e95-3Fac-11d3-b155-00c04f79faa6),
dual,
oleautomation
]
interface IWMPMedia : IDispatch
{
[id(0x02fb), propget]
HRESULT isIdentical(
[in] IWMPMedia *pIWMPMedia,
[out, retval] VARIANT_BOOL *pvbool);
[id(0x02ef), propget]
HRESULT sourceURL([out, retval] BSTR *pbstrSourceURL);
[id(0x02fc), propget]
HRESULT name([out, retval] BSTR *pbstrName);
[id(0x02fc), propput]
HRESULT name([in] BSTR pbstrName);
[id(0x02f0), propget]
HRESULT imageSourceWidth([out, retval] long *pWidth);
[id(0x02f1), propget]
HRESULT imageSourceHeight([out, retval] long *pHeight);
[id(0x02f2), propget]
HRESULT markerCount([out, retval] long *pMarkerCount);
[id(0x02f3)]
HRESULT getMarkerTime(
[in] long MarkerNum,
[out, retval] double *pMarkerTime);
[id(0x02f4)]
HRESULT getMarkerName(
[in] long MarkerNum,
[out, retval] BSTR *pbstrMarkerName);
[id(0x02f5), propget]
HRESULT duration([out, retval] double *pDuration);
[id(0x02f6), propget]
HRESULT durationString([out, retval] BSTR *pbstrDuration);
[id(0x02f7), propget]
HRESULT attributeCount([out, retval] long *plCount);
[id(0x02f8)]
HRESULT getAttributeName(
[in] long lIndex,
[out, retval] BSTR *pbstrItemName);
[id(0x02f9)]
HRESULT getItemInfo(
[in] BSTR bstrItemName,
[out, retval] BSTR *pbstrVal);
[id(0x02fa)]
HRESULT setItemInfo(
[in] BSTR bstrItemName,
[in] BSTR bstrVal);
[id(0x02fd)]
HRESULT getItemInfoByAtom(
[in] long lAtom,
[out, retval] BSTR *pbstrVal);
[id(0x02fe)]
HRESULT isMemberOf(
[in] IWMPPlaylist *pPlaylist,
[out, retval] VARIANT_BOOL *pvarfIsMemberOf);
[id(0x02ff)]
HRESULT isReadOnlyItem(
[in] BSTR bstrItemName,
[out, retval] VARIANT_BOOL *pvarfIsReadOnly);
}
[
odl,
uuid(74c09E02-f828-11d2-a74b-00a0c905f36e),
dual,
oleautomation
]
interface IWMPControls : IDispatch {
[id(0x003e), propget]
HRESULT isAvailable(
[in] BSTR bstrItem,
[out, retval] VARIANT_BOOL *pIsAvailable);
[id(0x0033)]
HRESULT play();
[id(0x0034)]
HRESULT stop();
[id(0x0035)]
HRESULT pause();
[id(0x0036)]
HRESULT fastForward();
[id(0x0037)]
HRESULT fastReverse();
[id(0x0038), propget]
HRESULT currentPosition([out, retval] double *pdCurrentPosition);
[id(0x0038), propput]
HRESULT currentPosition([in] double pdCurrentPosition);
[id(0x0039), propget]
HRESULT currentPositionString([out, retval] BSTR *pbstrCurrentPosition);
[id(0x003a)]
HRESULT next();
[id(0x003b)]
HRESULT previous();
[id(0x003c)]
HRESULT currentItem([out, retval] IWMPMedia **ppIWMPMedia);
[id(0x003c), propput]
HRESULT currentItem([in] IWMPMedia *ppIWMPMedia);
[id(0x003d), propget]
HRESULT currentMarker([out, retval] long *plMarker);
[id(0x003d), propput]
HRESULT currentMarker([in] long plMarker);
[id(0x003f)]
HRESULT playItem([in] IWMPMedia *pIWMPMedia);
}
[
odl,
uuid(6f030d25-0890-480f-9775-1f7e40ab5b8e),
dual,
oleautomation
]
interface IWMPControls2 : IWMPControls
{
[id(0x0040)]
HRESULT step([in] long lStep);
}
[
odl,
uuid(cbb92747-741f-44fe-ab5b-f1a48f3b2a59),
oleautomation
]
interface IWMPRemoteMediaServices : IUnknown
{
HRESULT GetServiceType([out, retval] BSTR *type);
HRESULT GetApplicationName([out, retval] BSTR *name);
HRESULT GetScriptableObject([out, retval] BSTR *name, [out, retval] IDispatch **out);
HRESULT GetCustomUIMode([out, retval] BSTR *file);
}
[
odl,
uuid(9104d1ab-80c9-4fed-abf0-2e6417a6df14),
dual,
oleautomation
]
interface IWMPSettings : IDispatch
{
[id(0x0071), propget]
HRESULT isAvailable(
[in] BSTR bstrItem,
[out, retval] VARIANT_BOOL *pIsAvailable);
[id(0x0065), propget]
HRESULT autoStart([out, retval] VARIANT_BOOL *pfAutoStart);
[id(0x0065), propput]
HRESULT autoStart([in] VARIANT_BOOL pfAutoStart);
[id(0x006c), propget]
HRESULT baseURL([out, retval] BSTR *pbstrBaseURL);
[id(0x006c), propput]
HRESULT baseURL([in] BSTR pbstrBaseURL);
[id(0x006d), propget]
HRESULT defaultFrame([out, retval] BSTR *pbstrDefaultFrame);
[id(0x006d), propput]
HRESULT defaultFrame([in] BSTR pbstrDefaultFrame);
[id(0x0067), propget]
HRESULT invokeURLs([out, retval] VARIANT_BOOL *pfInvokeURLs);
[id(0x0067), propput]
HRESULT invokeURLs([in] VARIANT_BOOL pfInvokeURLs);
[id(0x0068), propget]
HRESULT mute([out, retval] VARIANT_BOOL *pfMute);
[id(0x0068), propput]
HRESULT mute([in] VARIANT_BOOL pfMute);
[id(0x0069), propget]
HRESULT playCount([out, retval] long *plCount);
[id(0x0069), propput]
HRESULT playCount([in] long plCount);
[id(0x006a), propget]
HRESULT rate([out, retval] double *pdRate);
[id(0x006a), propput]
HRESULT rate([in] double pdRate);
[id(0x0066), propget]
HRESULT balance([out, retval] long *plBalance);
[id(0x0066), propput]
HRESULT balance([in] long plBalance);
[id(0x006b), propget]
HRESULT volume([out, retval] long *plVolume);
[id(0x006b), propput]
HRESULT volume([in] long plVolume);
[id(0x006e)]
HRESULT getMode(
[in] BSTR bstrMode,
[out, retval] VARIANT_BOOL *pvarfMode);
[id(0x006f)]
HRESULT setMode(
[in] BSTR bstrMode,
[in] VARIANT_BOOL varfMode);
[id(0x0070), propget]
HRESULT enableErrorDialogs([out, retval] VARIANT_BOOL *pfEnableErrorDialogs);
[id(0x0070), propput]
HRESULT enableErrorDialogs([in] VARIANT_BOOL pfEnableErrorDialogs);
}
[
odl,
uuid(4a976298-8c0d-11d3-b389-00c04f68574b),
dual,
oleautomation
]
interface IWMPStringCollection : IDispatch
{
[id(0x0191), propget]
HRESULT count([out, retval] long *plCount);
[id(0x0192)]
HRESULT Item(
[in] long lIndex,
[out, retval] BSTR *pbstrString);
}
[
odl,
uuid(8363bc22-b4b4-4b19-989d-1cd765749dd1),
dual,
oleautomation
]
interface IWMPMediaCollection : IDispatch
{
[id(0x01c4)]
HRESULT add(
[in] BSTR bstrURL,
[out, retval] IWMPMedia **ppItem);
[id(0x01c5)]
HRESULT getAll([out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01c6)]
HRESULT getByName(
[in] BSTR bstrName,
[out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01c7)]
HRESULT getByGenre(
[in] BSTR bstrGenre,
[out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01c8)]
HRESULT getByAuthor(
[in] BSTR bstrAuthor,
[out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01c9)]
HRESULT getByAlbum(
[in] BSTR bstrAlbum,
[out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01ca)]
HRESULT getByAttribute(
[in] BSTR bstrAttribute,
[in] BSTR bstrValue,
[out, retval] IWMPPlaylist **ppMediaItems);
[id(0x01cb)]
HRESULT remove(
[in] IWMPMedia *pItem,
[in] VARIANT_BOOL varfDeleteFile);
[id(0x01cd)]
HRESULT getAttributeStringCollection(
[in] BSTR bstrAttribute,
[in] BSTR bstrMediaType,
[out, retval] IWMPStringCollection **ppStringCollection);
[id(0x01d6)]
HRESULT getMediaAtom(
[in] BSTR bstrItemName,
[out, retval] long *plAtom);
[id(0x01d7)]
HRESULT setDeleted(
[in] IWMPMedia *pItem,
[in] VARIANT_BOOL varfIsDeleted);
[id(0x01d8)]
HRESULT isDeleted(
[in] IWMPMedia *pItem,
[out, retval] VARIANT_BOOL *pvarfIsDeleted);
}
[
odl,
uuid(679409c0-99f7-11d3-9fb7-00105aa620bb),
dual,
oleautomation
]
interface IWMPPlaylistArray : IDispatch
{
[id(0x01f5), propget]
HRESULT count([out, retval] long *plCount);
[id(0x01f6)]
HRESULT Item(
[in] long lIndex,
[out, retval] IWMPPlaylist **ppItem);
}
[
odl,
uuid(10a13217-23a7-439b-b1c0-d847c79b7774),
dual,
oleautomation
]
interface IWMPPlaylistCollection : IDispatch
{
[id(0x0228)]
HRESULT newPlaylist(
[in] BSTR bstrName,
[out, retval] IWMPPlaylist **ppItem);
[id(0x0229)]
HRESULT getAll([out, retval] IWMPPlaylistArray **ppPlaylistArray);
[id(0x022a)]
HRESULT getByName(
[in] BSTR bstrName,
[out, retval] IWMPPlaylistArray **ppPlaylistArray);
[id(0x022c)]
HRESULT remove([in] IWMPPlaylist *pItem);
[id(0x0230)]
HRESULT setDeleted(
[in] IWMPPlaylist *pItem,
[in] VARIANT_BOOL varfIsDeleted);
[id(0x0231)]
HRESULT isDeleted(
[in] IWMPPlaylist *pItem,
[out, retval] VARIANT_BOOL *pvarfIsDeleted);
[id(0x0232)]
HRESULT importPlaylist(
[in] IWMPPlaylist *pItem,
[out, retval] IWMPPlaylist **ppImportedItem);
}
[
odl,
uuid(ec21b779-edef-462d-bba4-ad9dde2b29a7),
dual,
oleautomation
]
interface IWMPNetwork : IDispatch
{
[id(0x0321), propget]
HRESULT bandWidth([out, retval] long *plBandwidth);
[id(0x0322), propget]
HRESULT recoveredPackets([out, retval] long *plRecoveredPackets);
[id(0x0323), propget]
HRESULT sourceProtocol([out, retval] BSTR *pbstrSourceProtocol);
[id(0x0324), propget]
HRESULT receivedPackets([out, retval] long *plReceivedPackets);
[id(0x0325), propget]
HRESULT lostPackets([out, retval] long *plLostPackets);
[id(0x0326), propget]
HRESULT receptionQuality([out, retval] long *plReceptionQuality);
[id(0x0327), propget]
HRESULT bufferingCount([out, retval] long *plBufferingCount);
[id(0x0328), propget]
HRESULT bufferingProgress([out, retval] long *plBufferingProgress);
[id(0x0329), propget]
HRESULT bufferingTime([out, retval] long *plBufferingTime);
[id(0x0329), propput]
HRESULT bufferingTime([in] long plBufferingTime);
[id(0x032a), propget]
HRESULT frameRate([out, retval] long *plFrameRate);
[id(0x032b), propget]
HRESULT maxBitRate([out, retval] long *plBitRate);
[id(0x032c), propget]
HRESULT bitRate([out, retval] long *plBitRate);
[id(0x032d)]
HRESULT getProxySettings(
[in] BSTR bstrProtocol,
[out, retval] long *plProxySetting);
[id(0x032e)]
HRESULT setProxySettings(
[in] BSTR bstrProtocol,
[in] long lProxySetting);
[id(0x032f)]
HRESULT getProxyName(
[in] BSTR bstrProtocol,
[out, retval] BSTR *pbstrProxyName);
[id(0x0330)]
HRESULT setProxyName(
[in] BSTR bstrProtocol,
[in] BSTR bstrProxyName);
[id(0x0331)]
HRESULT getProxyPort(
[in] BSTR bstrProtocol,
[out, retval] long *lProxyPort);
[id(0x0332)]
HRESULT setProxyPort(
[in] BSTR bstrProtocol,
[in] long lProxyPort);
[id(0x0333)]
HRESULT getProxyExceptionList(
[in] BSTR bstrProtocol,
[out, retval] BSTR *pbstrExceptionList);
[id(0x0334)]
HRESULT setProxyExceptionList(
[in] BSTR bstrProtocol,
[in] BSTR pbstrExceptionList);
[id(0x0335)]
HRESULT getProxyBypassForLocal(
[in] BSTR bstrProtocol,
[out, retval] VARIANT_BOOL *pfBypassForLocal);
[id(0x0336)]
HRESULT setProxyBypassForLocal(
[in] BSTR bstrProtocol,
[in] VARIANT_BOOL fBypassForLocal);
[id(0x0337), propget]
HRESULT maxBandwidth([out, retval] long *lMaxBandwidth);
[id(0x0337), propput]
HRESULT maxBandwidth([in] long lMaxBandwidth);
[id(0x0338), propget]
HRESULT downloadProgress([out, retval] long *plDownloadProgress);
[id(0x0339), propget]
HRESULT encodedFrameRate([out, retval] long *plFrameRate);
[id(0x033a), propget]
HRESULT framesSkipped([out, retval] long *plFrames);
}
[
odl,
uuid(cfab6e98-8730-11d3-b388-00c04f68574b),
dual,
oleautomation
]
interface IWMPCdrom : IDispatch
{
[id(0x00fb), propget]
HRESULT driveSpecifier([out, retval] BSTR *pbstrDrive);
[id(0x00fc), propget]
HRESULT Playlist([out, retval] IWMPPlaylist **ppPlaylist);
[id(0x00fd)]
HRESULT eject();
}
[
odl,
uuid(ee4c8fe2-34b2-11d3-a3bf-006097c9b344),
dual,
oleautomation
]
interface IWMPCdromCollection : IDispatch
{
[id(0x012d), propget]
HRESULT count([out, retval] long *plCount);
[id(0x012e)]
HRESULT Item(
[in] long lIndex,
[out, retval] IWMPCdrom **ppItem);
[id(0x012f)]
HRESULT getByDriveSpecifier(
[in] BSTR bstrDriveSpecifier,
[out, retval] IWMPCdrom **ppCdrom);
}
[
odl,
uuid(8da61686-4668-4a5c-ae5d-803193293dbe),
dual,
oleautomation
]
interface IWMPDVD : IDispatch
{
[id(0x03e9), propget]
HRESULT isAvailable(
[in] BSTR bstrItem,
[out, retval] VARIANT_BOOL *pIsAvailable);
[id(0x03ea), propget]
HRESULT domain([out, retval] BSTR *strDomain);
[id(0x03eb)]
HRESULT topMenu();
[id(0x03ec)]
HRESULT titleMenu();
[id(0x03ed)]
HRESULT back();
[id(0x03ee)]
HRESULT resume();
}
[
odl,
uuid(4f2df574-c588-11d3-9ed0-00c04fb6e937),
dual,
oleautomation
]
interface IWMPClosedCaption : IDispatch
{
[id(0x03b7), propget]
HRESULT SAMIStyle([out, retval] BSTR *pbstrSAMIStyle);
[id(0x03b7), propput]
HRESULT SAMIStyle([in] BSTR pbstrSAMIStyle);
[id(0x03b8), propget]
HRESULT SAMILang([out, retval] BSTR *pbstrSAMILang);
[id(0x03b8), propput]
HRESULT SAMILang([in] BSTR pbstrSAMILang);
[id(0x03b9), propget]
HRESULT SAMIFileName([out, retval] BSTR *pbstrSAMIFileName);
[id(0x03b9), propput]
HRESULT SAMIFileName([in] BSTR pbstrSAMIFileName);
[id(0x03ba), propget]
HRESULT captioningId([out, retval] BSTR *pbstrCaptioningID);
[id(0x03ba), propput]
HRESULT captioningId([in] BSTR pbstrCaptioningID);
}
[
odl,
uuid(3614c646-3b3b-4de7-a81e-930e3f2127b3),
dual,
oleautomation
]
interface IWMPErrorItem : IDispatch
{
[id(0x0385), propget]
HRESULT errorCode([out, retval] long *phr);
[id(0x0386), propget]
HRESULT errorDescription([out, retval] BSTR *pbstrDescription);
[id(0x0387), propget]
HRESULT errorContext([out, retval] VARIANT *pvarContext);
[id(0x0388), propget]
HRESULT remedy([out, retval] long *plRemedy);
[id(0x0389), propget]
HRESULT customUrl([out, retval] BSTR *pbstrCustomUrl);
}
[
odl,
uuid(ab7c88bb-143e-4ea4-acc3-e4350b2106c3),
dual,
oleautomation
]
interface IWMPMedia2 : IWMPMedia
{
[id(0x0300), propget]
HRESULT error([out, retval] IWMPErrorItem **out);
}
[
odl,
uuid(f118efc7-f03a-4fb4-99c9-1c02a5c1065b),
dual,
oleautomation
]
interface IWMPMedia3 : IWMPMedia2
{
[id(0x0301)]
HRESULT getAttributeCountByType([in] BSTR type, [in] BSTR language, [out, retval] long *out);
[id(0x0302)]
HRESULT getItemInfoByType([in] BSTR type, [in] BSTR language, [in] long index, [out, retval] VARIANT *out);
}
[
odl,
uuid(a12dcf7d-14ab-4c1b-a8cd-63909f06025b),
dual,
oleautomation
]
interface IWMPError : IDispatch
{
[id(0x0353)]
HRESULT clearErrorQueue();
[id(0x0354), propget]
HRESULT errorCount([out, retval] long *plNumErrors);
[id(0x0355), propget]
HRESULT Item(
[in] long dwIndex,
[out, retval] IWMPErrorItem **ppErrorItem);
[id(0x0356)]
HRESULT webHelp();
}
[
odl,
uuid(40897764-ceab-47be-ad4a-8e28537f9bbf),
dual,
oleautomation
]
interface IWMPPlayerApplication : IDispatch
{
[id(0x044d)]
HRESULT switchToPlayerApplication();
[id(0x044e)]
HRESULT switchToControl();
[id(0x044f), propget]
HRESULT playerDocked([out, retval] VARIANT_BOOL* pbPlayerDocked);
[id(0x0450), propget]
HRESULT hasDisplay([out, retval] VARIANT_BOOL *pbHasDisplay);
}
[
odl,
uuid(d84cca99-cce2-11d2-9ecc-0000f8085981),
dual,
oleautomation
]
interface IWMPCore : IDispatch
{
[id(0x0003)]
HRESULT close();
[id(0x0001), propget]
HRESULT URL([out, retval] BSTR *pbstrURL);
[id(0x0001), propput]
HRESULT URL([in] BSTR pbstrURL);
[id(0x0002), propget]
HRESULT openState([out, retval] WMPOpenState *pwmpos);
[id(0x000a), propget]
HRESULT playState([out, retval] WMPPlayState *pwmpps);
[id(0x0004), propget]
HRESULT controls([out, retval] IWMPControls **ppControl);
[id(0x0005), propget]
HRESULT settings([out, retval] IWMPSettings **ppSettings);
[id(0x0006), propget]
HRESULT currentMedia([out, retval] IWMPMedia **ppMedia);
[id(0x0006), propput]
HRESULT currentMedia([in] IWMPMedia *ppMedia);
[id(0x0008), propget]
HRESULT mediaCollection([out, retval] IWMPMediaCollection **ppMediaCollection);
[id(0x0009), propget]
HRESULT playlistCollection([out, retval] IWMPPlaylistCollection **ppPlaylistCollection);
[id(0x000b), propget]
HRESULT versionInfo([out, retval] BSTR *pbstrVersionInfo);
[id(0x000c)]
HRESULT launchURL([in] BSTR bstrURL);
[id(0x0007), propget]
HRESULT network([out, retval] IWMPNetwork **ppQNI);
[id(0x000d), propget]
HRESULT currentPlaylist([out, retval] IWMPPlaylist **ppPL);
[id(0x000d), propput]
HRESULT currentPlaylist([in] IWMPPlaylist *ppPL);
[id(0x000e), propget]
HRESULT cdromCollection([out, retval] IWMPCdromCollection **ppCdromCollection);
[id(0x000f), propget]
HRESULT closedCaption([out, retval] IWMPClosedCaption **ppClosedCaption);
[id(0x0010), propget]
HRESULT isOnline([out, retval] VARIANT_BOOL *pfOnline);
[id(0x0011), propget]
HRESULT Error([out, retval] IWMPError **ppError);
[id(0x0012), propget]
HRESULT status([out, retval] BSTR *pbstrStatus);
}
[
odl,
uuid(bc17e5B7-7561-4c18-bb90-17d485775659),
dual,
oleautomation
]
interface IWMPCore2 : IWMPCore {
[id(0x0028), propget]
HRESULT dvd([out, retval] IWMPDVD **ppDVD);
}
[
odl,
uuid(7587c667-628f-499f-88e7-6A6f4e888464),
dual,
oleautomation
]
interface IWMPCore3 : IWMPCore2
{
[id(0x0029)]
HRESULT newPlaylist(
[in] BSTR bstrName,
[in] BSTR bstrURL,
[out, retval] IWMPPlaylist **ppPlaylist);
[id(0x002a)]
HRESULT newMedia(
[in] BSTR bstrURL,
[out, retval] IWMPMedia **ppMedia);
}
[
odl,
uuid(6c497d62-8919-413c-82db-e935fb3ec584),
dual,
oleautomation
]
interface IWMPPlayer4 : IWMPCore3
{
[id(0x0013), propget]
HRESULT enabled([out, retval] VARIANT_BOOL *pbEnabled);
[id(0x0013), propput]
HRESULT enabled([in] VARIANT_BOOL pbEnabled);
[id(0x0015), propget]
HRESULT fullScreen([out, retval] VARIANT_BOOL *pbFullScreen);
[id(0x0015), propput]
HRESULT fullScreen(VARIANT_BOOL pbFullScreen);
[id(0x0016), propget]
HRESULT enableContextMenu([out, retval] VARIANT_BOOL *pbEnableContextMenu);
[id(0x0016), propput]
HRESULT enableContextMenu(VARIANT_BOOL pbEnableContextMenu);
[id(0x0017), propput]
HRESULT uiMode([in] BSTR pbstrMode);
[id(0x0017), propget]
HRESULT uiMode([out, retval] BSTR *pbstrMode);
[id(0x0018), propget]
HRESULT stretchToFit([out, retval] VARIANT_BOOL *pbEnabled);
[id(0x0018), propput]
HRESULT stretchToFit([in] VARIANT_BOOL pbEnabled);
[id(0x0019), propget]
HRESULT windowlessVideo([out, retval] VARIANT_BOOL *pbEnabled);
[id(0x0019), propput]
HRESULT windowlessVideo([in] VARIANT_BOOL pbEnabled);
[id(0x001a), propget]
HRESULT isRemote([out, retval] VARIANT_BOOL *pvarfIsRemote);
[id(0x001b), propget]
HRESULT playerApplication([out, retval] IWMPPlayerApplication **ppIWMPPlayerApplication);
[id(0x001c)]
HRESULT openPlayer([in] BSTR bstrURL);
}
[
odl,
uuid(6BF52A4F-394A-11D3-B153-00C04F79FAA6),
dual,
oleautomation
]
interface IWMPPlayer : IWMPCore {
[id(0x00000013), propget]
HRESULT enabled([out, retval] VARIANT_BOOL* pbEnabled);
[id(0x00000013), propput]
HRESULT enabled([in] VARIANT_BOOL pbEnabled);
[id(0x00000015), propget]
HRESULT fullScreen([out, retval] VARIANT_BOOL* pbFullScreen);
[id(0x00000015), propput]
HRESULT fullScreen(VARIANT_BOOL pbFullScreen);
[id(0x00000016), propget]
HRESULT enableContextMenu([out, retval] VARIANT_BOOL* pbEnableContextMenu);
[id(0x00000016), propput]
HRESULT enableContextMenu(VARIANT_BOOL pbEnableContextMenu);
[id(0x00000017), propput]
HRESULT uiMode([in] BSTR pbstrMode);
[id(0x00000017), propget]
HRESULT uiMode([out, retval] BSTR* pbstrMode);
};
[
odl,
uuid(82a2986c-0293-4fd0-b279-b21b86c058be),
oleautomation
]
interface IWMPSyncDevice : IUnknown
{
[propget]
HRESULT friendlyName([out, retval] BSTR *name);
[propput]
HRESULT friendlyName([in] BSTR name);
[propget]
HRESULT deviceName([out, retval] BSTR *name);
[propget]
HRESULT deviceId([out, retval] BSTR *device);
[propget]
HRESULT partnershipIndex([out, retval] long *index);
[propget]
HRESULT connected([out, retval] VARIANT_BOOL *connected);
[propget]
HRESULT status([out, retval] WMPDeviceStatus *status);
[propget]
HRESULT syncState([out, retval] WMPSyncState *state);
[propget]
HRESULT progress([out, retval] long *progress);
HRESULT getItemInfo(
[in] BSTR name,
[out, retval] BSTR *val);
HRESULT createPartnership([in] VARIANT_BOOL showui);
HRESULT deletePartnership();
HRESULT start();
HRESULT stop();
HRESULT showSettings();
HRESULT isIdentical(
[in] IWMPSyncDevice *device,
[out, retval] VARIANT_BOOL *ret);
}
[
odl,
uuid(88afb4b2-140a-44d2-91e6-4543da467cd1),
oleautomation
]
interface IWMPSyncDevice2 : IWMPSyncDevice
{
HRESULT setItemInfo(
[in] BSTR name,
[in] BSTR val);
}
[
odl,
uuid(56e2294f-69ed-4629-a869-aea72c0dcc2c),
oleautomation
]
interface IWMPCdromRip : IUnknown
{
[propget]
HRESULT ripState([out, retval] WMPRipState *state);
[propget]
HRESULT ripProgress([out, retval] long *progress);
HRESULT startRip();
HRESULT stopRip();
}
[
odl,
uuid(bd94dbeb-417f-4928-aa06-087d56ed9b59),
oleautomation
]
interface IWMPCdromBurn : IUnknown
{
HRESULT isAvailable(
[in] BSTR item,
[out, retval] VARIANT_BOOL *available);
HRESULT getItemInfo(
[in] BSTR item,
[out, retval] BSTR *val);
[propget]
HRESULT label([out, retval] BSTR *label);
[propput]
HRESULT label([in] BSTR label);
[propget]
HRESULT burnFormat([out, retval] WMPBurnFormat *format);
[propput]
HRESULT burnFormat([in] WMPBurnFormat format);
[propget]
HRESULT burnPlaylist([out, retval] IWMPPlaylist **playlist);
[propput]
HRESULT burnPlaylist([in] IWMPPlaylist *playlist);
HRESULT refreshStatus();
[propget]
HRESULT burnState([out, retval] WMPBurnState *state);
[propget]
HRESULT burnProgress([out, retval] long *progress);
HRESULT startBurn();
HRESULT stopBurn();
HRESULT erase();
}
[
odl,
uuid(3df47861-7df1-4c1f-a81b-4c26f0f7a7c6),
oleautomation
]
interface IWMPLibrary : IUnknown
{
[propget]
HRESULT name([out, retval] BSTR *name);
[propget]
HRESULT type([out, retval] WMPLibraryType *type);
[propget]
HRESULT mediaCollection([out, retval] IWMPMediaCollection **collection);
HRESULT isIdentical(
[in] IWMPLibrary *wmplibrary,
[out, retval] VARIANT_BOOL *ret);
}
[
uuid(19a6627b-da9e-47c1-bb23-00b5e668236a),
odl
]
interface IWMPEvents : IUnknown
{
void OpenStateChange([in] long state);
void PlayStateChange([in] long state);
void AudioLanguageChange([in] long lang);
void StatusChange();
void ScriptCommand(
[in] BSTR type,
[in] BSTR param);
void NewStream();
void Disconnect([in] long result);
void Buffering([in] VARIANT_BOOL start);
void Error();
void Warning(
[in] long warning,
[in] long param,
[in] BSTR description);
void EndOfStream([in] long result);
void PositionChange(
[in] double old_position,
[in] double new_position);
void MarkerHit([in] long marker);
void DurationUnitChange([in] long duration);
void CdromMediaChange([in] long num);
void PlaylistChange(
[in] IDispatch *playlist,
[in] WMPPlaylistChangeEventType change);
void CurrentPlaylistChange([in] WMPPlaylistChangeEventType change);
void CurrentPlaylistItemAvailable([in] BSTR item);
void MediaChange([in] IDispatch *item);
void CurrentMediaItemAvailable([in] BSTR name);
void CurrentItemChange([in] IDispatch *media);
void MediaCollectionChange();
void MediaCollectionAttributeStringAdded(
[in] BSTR name,
[in] BSTR val);
void MediaCollectionAttributeStringRemoved(
[in] BSTR name,
[in] BSTR val);
void MediaCollectionAttributeStringChanged(
[in] BSTR name,
[in] BSTR old_val,
[in] BSTR new_val);
void PlaylistCollectionChange();
void PlaylistCollectionPlaylistAdded([in] BSTR name);
void PlaylistCollectionPlaylistRemoved([in] BSTR name);
void PlaylistCollectionPlaylistSetAsDeleted(
[in] BSTR name,
[in] VARIANT_BOOL deleted);
void ModeChange(
[in] BSTR ModeName,
[in] VARIANT_BOOL value);
void MediaError([in] IDispatch *media);
void OpenPlaylistSwitch([in] IDispatch *item);
void DomainChange([in] BSTR domain);
void SwitchedToPlayerApplication();
void SwitchedToControl();
void PlayerDockedStateChange();
void PlayerReconnect();
void Click(
[in] short button,
[in] short shift_state,
[in] long x,
[in] long y);
void DoubleClick(
[in] short button,
[in] short shift_state,
[in] long fX,
[in] long fY);
void KeyDown(
[in] short keycode,
[in] short shift_state);
void KeyPress([in] short ascii);
void KeyUp(
[in] short keycode,
[in] short shift_state);
void MouseDown(
[in] short button,
[in] short nShiftState,
[in] long x,
[in] long y);
void MouseMove(
[in] short button,
[in] short shift_state,
[in] long x,
[in] long y);
void MouseUp(
[in] short button,
[in] short shift_state,
[in] long x,
[in] long y);
}
[
uuid(1e7601fa-47ea-4107-9ea9-9004ed9684ff),
odl
]
interface IWMPEvents2 : IWMPEvents
{
void DeviceConnect([in] IWMPSyncDevice *device);
void DeviceDisconnect([in] IWMPSyncDevice *device);
void DeviceStatusChange(
[in] IWMPSyncDevice *device,
[in] WMPDeviceStatus status);
void DeviceSyncStateChange(
[in] IWMPSyncDevice *device,
[in] WMPSyncState state);
void DeviceSyncError(
[in] IWMPSyncDevice *device,
[in] IDispatch *media);
void CreatePartnershipComplete(
[in] IWMPSyncDevice *device,
[in] HRESULT result);
}
[
uuid(1f504270-a66b-4223-8e96-26a06c63d69f),
odl
]
interface IWMPEvents3 : IWMPEvents2
{
void CdromRipStateChange(
[in] IWMPCdromRip *rip,
[in] WMPRipState state);
void CdromRipMediaError(
[in] IWMPCdromRip *rip,
[in] IDispatch *media);
void CdromBurnStateChange(
[in] IWMPCdromBurn *burn,
[in] WMPBurnState state);
void CdromBurnMediaError(
[in] IWMPCdromBurn *burn,
[in] IDispatch *media);
void CdromBurnError(
[in] IWMPCdromBurn *burn,
[in] HRESULT error);
void LibraryConnect(
[in] IWMPLibrary *wmplibrary);
void LibraryDisconnect(
[in] IWMPLibrary *wmplibrary);
void FolderScanStateChange(
[in] WMPFolderScanState state);
void StringCollectionChange(
[in] IDispatch *collection,
[in] WMPStringCollectionChangeEventType change,
[in] long index);
void MediaCollectionMediaAdded(
[in] IDispatch *media);
void MediaCollectionMediaRemoved(
[in] IDispatch *media);
}
[
uuid(26dabcfa-306b-404d-9a6f-630a8405048d),
odl
]
interface IWMPEvents4 : IWMPEvents3
{
void DeviceEstimation(
[in] IWMPSyncDevice *device,
[in] HRESULT result,
[in] LONGLONG used_space,
[in] LONGLONG estimated_space);
}
[
hidden,
uuid(6bf52a51-394a-11d3-b153-00c04f79faa6)
]
interface _WMPOCXEvents : IDispatch
{}
[
helpstring("Windows Media Player"),
threading(apartment),
progid("WMPlayer.OCX.7"),
vi_progid("WMPlayer.OCX"),
uuid(6bf52a52-394a-11d3-b153-00c04f79faa6)
]
coclass WindowsMediaPlayer
{
[default] interface IWMPPlayer4;
/* interface IWMPPlayer3; */
/* interface IWMPPlayer2; */
interface IWMPPlayer;
interface IWMPControls;
interface IWMPSettings;
interface IWMPPlaylist;
interface IWMPMedia;
interface IWMPMediaCollection;
interface IWMPPlaylistCollection;
interface IWMPCdromCollection;
interface IWMPError;
interface IWMPErrorItem;
/* interface IWMPErrorItem2; */
interface IWMPClosedCaption;
interface IWMPDVD;
interface IWMPControls2;
interface IWMPMedia2;
interface IWMPMedia3;
/* interface IWMPMetadataPicture; */
/* interface IWMPMetadataText; */
/* interface IWMPSettings2; */
/* interface IWMPControls3; */
/* interface IWMPClosedCaption2; */
/* interface IWMPMediaCollection2; */
/* interface IWMPStringCollection2; */
[default, source] dispinterface _WMPOCXEvents;
}
}