//+------------------------------------------------------------------------- // // Microsoft Windows Media Technologies // Copyright (C) Microsoft Corporation. All rights reserved. // // File: wmsServer.idl // // Contents: Interface definitions for Admin Interfaces // //-------------------------------------------------------------------------- cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows Media Technologies") cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.") cpp_quote("//") cpp_quote("// Automatically generated by Midl from WMSServer.idl ") cpp_quote("//") cpp_quote("// DO NOT EDIT THIS FILE.") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------") import "oaidl.idl"; import "xmldom.idl"; import "WMSNamedValues.idl"; import "WMSPlugin.idl"; import "wmsXMLDOMExtensions.idl"; import "streamcache.idl"; #include "colldispid.h" cpp_quote( "#ifndef __wmsserver_iid" ) cpp_quote( "#define __wmsserver_iid" ) // Manually generated CLSID. Do not need a library block to create just this. cpp_quote( "EXTERN_GUID( CLSID_WMSServerMainImpl, 0x1E62CD49,0x3961,0x11D2,0x9E,0xFC,0x00,0x60,0x97,0xD2,0xD7,0xCF );" ) cpp_quote( "#include " ) [ object, uuid(DFC750A9-F846-48be-87AE-79F851C9CD92), dual, nonextensible, helpstring("Contains a collection of root directory paths for enabled data source plug-ins."), pointer_default(unique) ] interface IWMSRootDirectories : IDispatch { COLLECTION_METHODS( BSTR, "Retrieves a specific root directory path from the collection." ) }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(5AC19D62-6057-4431-BE7E-2153FDF91397), dual, nonextensible, helpstring("Contains properties that describe a specific error or warning event for the server or a plug-in."), pointer_default(unique) ] interface IWMSDiagnosticEvent : IDispatch { typedef [public, uuid(5AC19D63-6057-4431-BE7E-2153FDF91397)] enum WMS_DIAGNOSTIC_EVENT { WMS_DIAGNOSTIC_EVENT_LIMIT_HIT = 0, WMS_DIAGNOSTIC_EVENT_PLUGIN_EVENT_LOG_ERROR = 1, WMS_DIAGNOSTIC_EVENT_PLUGIN_EVENT_LOG_WARNING = 2, WMS_DIAGNOSTIC_EVENT_SERVER_EVENT_LOG_ERROR = 3, WMS_DIAGNOSTIC_EVENT_SERVER_EVENT_LOG_WARNING = 4 } WMS_DIAGNOSTIC_EVENT; [propget, id(DISPID_VALUE), helpstring("Retrieves the name of the limit or plug-in associated with the event.")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Retrieves an enumeration value indicating the event type.")] HRESULT Type([out, retval] WMS_DIAGNOSTIC_EVENT * pVal); [propget, id(4), helpstring("Retrieves the name of the publishing point that raised the event.")] HRESULT PublishingPointName([out, retval] BSTR *pVal); [propget, id(3), helpstring("Retrieves the date and time of the event.")] HRESULT Time([out, retval] DATE *pVal); [propget, id(5), helpstring("Retrieves the number of times the event has occurred.")] HRESULT NumberOfOccurrences([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the text message associated with the event.")] HRESULT AdditionalInfo([out, retval] BSTR *pVal); [propget, id(6), helpstring("Retrieves the HRESULT return code associated with the event.")] HRESULT ErrorCode([out, retval] long *pVal); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(5AC19D61-6057-4431-BE7E-2153FDF91397), dual, nonextensible, helpstring("Contains a collection of IWMSDiagnosticEvent objects."), pointer_default(unique) ] interface IWMSDiagnosticEvents : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSDiagnosticEvent*, "Retrieves an IWMSDiagnosticEvent object from the collection." ) [id(4), helpstring("Removes all IWMSDiagnosticEvent objects from the collection.")] HRESULT RemoveAll( ); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(4124B8B3-BCE4-41c8-B49A-DA98C1401D3B), dual, nonextensible, helpstring("Contains properties that describe a directory or multimedia file."), pointer_default(unique) ] interface IWMSFileDescription : IDispatch { typedef [public, uuid(4124B8B4-BCE4-41c8-B49A-DA98C1401D3B)] enum WMS_FILE_TYPE { WMS_FILE_UNSPECIFIED = 0, WMS_FILE_DIRECTORY = 1, WMS_FILE_MEDIA = 2, WMS_FILE_PLAYLIST = 3, WMS_FILE_STREAM_FORMAT = 4, WMS_FILE_REMOTE_FILE = 5 } WMS_FILE_TYPE; [propget, id(DISPID_VALUE), helpstring("Retrieves the name of the directory or multimedia file.")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Retrieves an enumeration value that specifies the type of the multimedia file or directory.")] HRESULT Type([out, retval] WMS_FILE_TYPE* pVal); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(4124B8B2-BCE4-41c8-B49A-DA98C1401D3B), dual, nonextensible, helpstring("Contains a collection of IWMSFileDescription objects."), pointer_default(unique) ] interface IWMSFileDescriptions : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSFileDescription*, "Retrieves an IWMSFileDescription object from the collection." ) [id(1), helpstring("Removes an IWMSFileDescription object from the collection.") ] HRESULT Delete ([in] const VARIANT varIndex); [id(2), helpstring("Creates a new directory.") ] HRESULT CreateDataSourceDirectory ([in] BSTR bstrName ); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(3FC1A813-759F-4441-BA48-21889EC8AC20), dual, nonextensible, helpstring("Contains a collection of IP addresses that are available for use by a control protocol plug-in."), pointer_default(unique) ] interface IWMSAvailableIPAddresses : IDispatch { // Standard collection Methods & Properties: Item, Count, length & _NewEnum COLLECTION_METHODS( BSTR, "Retrieves a specific IP address, by index, from the collection." ) }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(517758ec-603c-4b98-82c1-4b2fa7787166), dual, nonextensible, helpstring("Contains a collection of plug-ins."), pointer_default(unique) ] interface IWMSPlugins : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSPlugin*, "Retrieves a plug-in from the collection." ) [id(4), helpstring("Removes a plug-in from the collection.")] HRESULT Remove([in] VARIANT varIndex); [id(5), helpstring("Updates the list of plug-ins in the collection to reflect the plug-ins that are registered for use by the server.")] HRESULT Refresh(); [id(6), helpstring("Creates a duplicate instance of a specific plug-in.")] HRESULT Clone( [in] BSTR bstrDestName, [in] IWMSPlugin *pSrcPlugin, [out,retval] IWMSPlugin **pDestPlugin ); [propget, id(7), helpstring("Retrieves the category name for the plug-in collection.")] HRESULT Category([out, retval] BSTR *pVal); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(517758e8-603c-4b98-82c1-4b2fa7787166), dual, nonextensible, helpstring("Contains properties that describe content that has been cached by a cache plug-in."), pointer_default(unique) ] interface IWMSCacheItem : IDispatch { [propget, id(0), helpstring("Retrieves the absolute URL for the cached content.")] HRESULT OriginUrl( [out,retval] BSTR *pOriginUrl); [propget, id(2), helpstring("Retrieves the size of the content in bytes.")] HRESULT ContentSize( [out,retval] VARIANT *pContentSize ); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(517758e9-603c-4b98-82c1-4b2fa7787166), dual, nonextensible, helpstring("Contains a collection of IWMSCacheItem objects."), pointer_default(unique) ] interface IWMSCacheItems : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSCacheItem*, "Retrieves an IWMSCacheItem object from the collection." ) [id(3), helpstring("Removes an IWMSCacheItem object from the collection.")] HRESULT Delete([in] VARIANT varIndex); [id(4), helpstring("Removes all IWMSCacheItem objects from the collection.")] HRESULT DeleteAll( ); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(517758eb-603c-4b98-82c1-4b2fa7787166), dual, nonextensible, helpstring("Contains properties and methods to manage a cache or proxy plug-in."), pointer_default(unique) ] interface IWMSCacheProxyPlugin : IWMSPlugin { [id(20), helpstring("Fills the cache with content.")] HRESULT PreStuff( [in] BSTR OriginURL, [in,defaultvalue("")] BSTR SourcePath, [in,defaultvalue(-1)] long lExpiration, [in,defaultvalue(0)] long lBandwidth, [in,defaultvalue(0)] long lRemoteEventFlags ); [propget, id(21), helpstring("Retrieves a collection of IWMSCacheItem objects.")] HRESULT CacheItems( [out,retval] IWMSCacheItems* *ppVal ); }; ///////////////////////////////////////////////////////////////////////////// typedef [public, uuid(60f2ee55-dcaa-4cb6-a6d2-12bc23ac9df0)] enum WMS_CLIENT_STATUS { WMS_CLIENT_DISCONNECTED = 0x0000, WMS_CLIENT_IDLE = 0x0001, WMS_CLIENT_OPEN = 0x0002, WMS_CLIENT_STREAMING = 0x0003, } WMS_CLIENT_STATUS; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(60f2ee54-dcaa-4cb6-a6d2-12bc23ac9df0), dual, nonextensible, helpstring("Contains properties that describe an outgoing distribution connection client."), pointer_default(unique) ] interface IWMSOutgoingDistributionConnection : IDispatch { [propget, id(0), helpstring("Retrieves a unique value identifying the client.")] HRESULT ID([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the network address of the client.")] HRESULT NetworkAddress([out, retval] BSTR *pVal); [propget, id(3), helpstring("Retrieves the client's requested playlist object.")] HRESULT RequestedPlaylist([out, retval] IWMSPlaylist **pVal); [propget, id(4), helpstring("Retrieves the URL that the client used to request its distribution connection.")] HRESULT RequestedURL([out, retval] BSTR *pVal); [propget, id(5), helpstring("Retrieves the physical URL of the content being streamed to the client.")] HRESULT ResolvedURL([out, retval] BSTR *pVal); [propget, id(6), helpstring("Retrieves the status of the client.")] HRESULT Status([out, retval] WMS_CLIENT_STATUS *pVal); [propget, id(7), helpstring("Retrieves the authenticated name of the client.")] HRESULT UserName([out, retval] BSTR *pVal); [propget, id(8), helpstring("Retrieves the client's wrapper playlist object.")] HRESULT WrapperPlaylist([out, retval] IWMSPlaylist **pVal); [propget, id(9), helpstring("Retrieves the port number of the client.")] HRESULT Port([out, retval] long *pVal); }; ////////////////////////////////////////////////////////////////////////////// [ object, uuid(60f2ee53-dcaa-4cb6-a6d2-12bc23ac9df0), dual, nonextensible, helpstring("Contains a collection of IWMSOutgoingDistributionConnection objects."), pointer_default(unique) ] interface IWMSOutgoingDistributionConnections : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSOutgoingDistributionConnection*, "Retrieves an IWMSOutgoingDistributionConnection object from the collection." ) [id(2), helpstring("Updates the list of IWMSOutgoingDistributionConnection objects in the collection.")] HRESULT Refresh(); [id(3), helpstring("Disconnects a specific outgoing distribution connection client from the server and removes it from the collection.")] HRESULT Remove([in] VARIANT varIndex); [id(4), helpstring("Disconnects all outgoing distribution connection clients from the server and removes them from the collection.")] HRESULT RemoveAll(); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(18812736-4BEC-11D2-BF25-00805FBE84A6), dual, nonextensible, helpstring("Contains properties that describe a connected player."), pointer_default(unique) ] interface IWMSPlayer : IDispatch { [propget, id(0), helpstring("Retrieves a unique value identifying the player.")] HRESULT ID([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the network address of the player.")] HRESULT NetworkAddress([out, retval] BSTR *pVal); [propget, id(3), helpstring("Retrieves the player's requested playlist object.")] HRESULT RequestedPlaylist([out, retval] IWMSPlaylist **pVal); [propget, id(4), helpstring("Retrieves the URL that the player used to request its connection.")] HRESULT RequestedURL([out, retval] BSTR *pVal); [propget, id(5), helpstring("Retrieves the URL of the content being streamed to the player.")] HRESULT ResolvedURL([out, retval] BSTR *pVal); [propget, id(6), helpstring("Retrieves the status of the player.")] HRESULT Status([out, retval] WMS_CLIENT_STATUS *pVal); [propget, id(7), helpstring("Retrieves the authenticated name of the player.")] HRESULT UserName([out, retval] BSTR *pVal); [propget, id(8), helpstring("Retrieves the player's wrapper playlist object.")] HRESULT WrapperPlaylist([out, retval] IWMSPlaylist **pVal); [propget, id(9), helpstring("Retrieves the port number of the player.")] HRESULT Port([out, retval] long *pVal); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(18812738-4BEC-11D2-BF25-00805FBE84A6), dual, nonextensible, helpstring("Contains a collection of IWMSPlayer objects."), pointer_default(unique) ] interface IWMSPlayers : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSPlayer*, "Retrieves a specific IWMSPlayer object from the collection." ) [id(2), helpstring("Updates the list of IWMSPlayer objects in the collection.")] HRESULT Refresh(); [id(3), helpstring("Disconnects a specific player from the server and removes it from the collection.")] HRESULT Remove([in] VARIANT varIndex); [id(4), helpstring("Disconnects all players from the server and removes them from the collection.")] HRESULT RemoveAll(); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(638DFA30-1054-48bd-B030-C3DA1FC18154), dual, nonextensible, helpstring("Contains properties that provide real-time counter values for a publishing point."), pointer_default(unique) ] interface IWMSPublishingPointCurrentCounters : IDispatch { [propget, id(0), helpstring("Retrieves the number of players connected to the publishing point.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the number of players being streamed content using the HTTP protocol.")] HRESULT StreamingHTTPPlayers([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the number of players being streamed content using the MMS protocol.")] HRESULT StreamingMMSPlayers([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the bandwidth, in Kbps, allocated for outgoing distribution connection clients.")] HRESULT OutgoingDistributionAllocatedBandwidth([out, retval] long *pVal); [propget, id(6), helpstring("Retrieves the number of outgoing distribution connection clients connected to the publishing point.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(7), helpstring("Retrieves the bandwidth, in Kbps, allocated for player connections.")] HRESULT PlayerAllocatedBandwidth([out, retval] long *pVal); [propget, id(8), helpstring("Retrieves the number of players being streamed content using the RTSP protocol.")] HRESULT StreamingRTSPPlayers([out, retval] long *pVal); [propget, id(9), helpstring("Retrieves the number of players being streamed content.")] HRESULT StreamingPlayers([out, retval] long *pVal); [propget, id(30), helpstring("Retrieves an array that contains all of the current counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(43B20CC5-CA36-4e7b-ADAF-C9C60D00BB0E), dual, nonextensible, helpstring("Contains properties that provide peak counter values for a publishing point."), pointer_default(unique) ] interface IWMSPublishingPointPeakCounters : IDispatch { [propget, id(0), helpstring("Retrieves the peak number of players that have been connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the peak number of outgoing distribution connection clients that have been connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the peak bandwidth, in Kbps, that has been allocated for outgoing distribution connection clients.")] HRESULT OutgoingDistributionAllocatedBandwidth([out, retval] long *pVal); [propget, id(4), helpstring("Retrieves the peak bandwidth, in Kbps, that has been allocated for player connections.")] HRESULT PlayerAllocatedBandwidth([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the date and time at which the publishing point started monitoring the peak counters.")] HRESULT CountersStartTime([out, retval] DATE *pVal ); [propget, id(6), helpstring("Retrieves the peak number of players that have been streamed content.")] HRESULT StreamingPlayers([out, retval] long *pVal); [id(8), helpstring("Resets all of the peak counters to the current values.")] HRESULT Reset(); [propget, id(30), helpstring("Retrieves an array that contains all of the peak counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(6CD5BC19-35FD-4501-A953-FEB57AAE9C13), dual, nonextensible, helpstring("Contains properties to retrieve and manage publishing point limits."), pointer_default(unique) ] interface IWMSPublishingPointLimits : IDispatch { [propget, id(0), helpstring("Specifies or retrieves the maximum number of players that can be connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propput, id(0), helpstring("Specifies or retrieves the maximum number of players that can be connected.")] HRESULT ConnectedPlayers([in] long Val); [propget, id(3), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all outgoing distribution connection clients.")] HRESULT OutgoingDistributionBandwidth([out, retval] long *pVal); [propput, id(3), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all outgoing distribution connection clients.")] HRESULT OutgoingDistributionBandwidth([in] long Val); [propget, id(4), helpstring("Specifies or retrieves the maximum number of outgoing distribution connection clients that can be connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propput, id(4), helpstring("Specifies or retrieves the maximum number of outgoing distribution connection clients that can be connected.")] HRESULT OutgoingDistributionConnections([in] long Val); [propget, id(5), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for an outgoing distribution connection client.")] HRESULT PerOutgoingDistributionConnectionBandwidth([out, retval] long *pVal); [propput, id(5), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for an outgoing distribution connection client.")] HRESULT PerOutgoingDistributionConnectionBandwidth([in] long Val); [propget, id(6), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all player connections.")] HRESULT PlayerBandwidth([out, retval] long *pVal); [propput, id(6), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all player connections.")] HRESULT PlayerBandwidth([in] long Val); [propget, id(7), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for a player connection.")] HRESULT PerPlayerConnectionBandwidth([out, retval] long *pVal); [propput, id(7), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for a player connection.")] HRESULT PerPlayerConnectionBandwidth([in] long Val); [propget, id(8), helpstring("Specifies or retrieves the maximum content delivery rate that a player can request that content be delivered to its cache.")] HRESULT PlayerCacheDeliveryRate([out, retval] long *pVal); [propput, id(8), helpstring("Specifies or retrieves the maximum content delivery rate that a player can request that content be delivered to its cache.")] HRESULT PlayerCacheDeliveryRate([in] long Val); [propget, id(9), helpstring("Specifies or retrieves the maximum number of data packets that can be buffered before error correction is applied.")] HRESULT FECPacketSpan([out, retval] long *pVal); [propput, id(9), helpstring("Specifies or retrieves the maximum number of data packets that can be buffered before error correction is applied.")] HRESULT FECPacketSpan([in] long Val); [propget, id(10), helpstring("Specifies or retrieves the maxiumum amount of bandwidth, in Kbps, that a player can use for accelerated initial buffering of multimedia content.")] HRESULT PerPlayerRapidStartBandwidth([out, retval] long *pVal); [propput, id(10), helpstring("Specifies or retrieves the maxiumum amount of bandwidth, in Kbps, that a player can use for accelerated initial buffering of multimedia content.")] HRESULT PerPlayerRapidStartBandwidth([in] long Val); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(240D0C87-309A-4126-BF14-B52A622E95A9), dual, nonextensible, helpstring("Contains properties that provide total counter values for a publishing point."), pointer_default(unique) ] interface IWMSPublishingPointTotalCounters : IDispatch { [propget, id(0), helpstring("Retrieves the total number of players that have been connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the total number of outgoing distribution connection clients that have been connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the total number of late read operations.")] HRESULT LateReads([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the total number of bytes that have been sent to outgoing distribution connection clients.")] HRESULT OutgoingDistributionBytesSent([out, retval] VARIANT *pVal); [propget, id(6), helpstring("Retrieves the total number of bytes that have been sent to players.")] HRESULT PlayerBytesSent([out, retval] VARIANT *pVal); [propget, id(7), helpstring("Retrieves the date and time that the publishing point started monitoring the total counters.")] HRESULT CountersStartTime([out, retval] DATE *pVal); [propget, id(8), helpstring("Retrieves the total number of connections that have been denied.")] HRESULT StreamDenials([out, retval] long *pVal); [propget, id(9), helpstring("Retrieves the total number of errors per seconds due to packets being dropped.")] HRESULT StreamErrors([out, retval] long *pVal); [propget, id(10), helpstring("Retrieves the total number of players that have been streamed data.")] HRESULT StreamingPlayers([out, retval] long *pVal); [propget, id(11), helpstring("Retrieves the total number of connections that have been terminated.")] HRESULT StreamTerminations([out, retval] long *pVal); [propget, id(12), helpstring("Retrieves the total number of bytes that have been read from the publishing point.")] HRESULT FileBytesRead([out, retval] VARIANT *pVal); [propget, id(13), helpstring("Retrieves the total number of advertisements that have been streamed from playlists.")] HRESULT Advertisements([out, retval] long *pVal); [id(25), helpstring("Resets all of the total counters to the current values.")] HRESULT Reset(); [propget, id(30), helpstring("Retrieves an array that contains all of the total counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(DAA2A1BB-BC91-438d-BF33-BDE11D2348D5), dual, nonextensible, helpstring("Contains properties that provide total counter values for the server."), pointer_default(unique) ] interface IWMSServerTotalCounters : IDispatch { [propget, id(0), helpstring("Retrieves the total number of players that have been connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the total number of outgoing distribution connection clients that have been connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the total number of late read operations.")] HRESULT LateReads([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the total number of bytes that have been sent to outgoing distribution connection clients.")] HRESULT OutgoingDistributionBytesSent([out, retval] VARIANT *pVal); [propget, id(6), helpstring("Retrieves the total number of bytes that have been sent to players.")] HRESULT PlayerBytesSent([out, retval] VARIANT *pVal); [propget, id(7), helpstring("Retrieves the date and time that the server started monitoring the total counters.")] HRESULT CountersStartTime([out, retval] DATE *pVal); [propget, id(8), helpstring("Retrieves the total number of connections that have been denied.")] HRESULT StreamDenials([out, retval] long *pVal); [propget, id(9), helpstring("Retrieves the total number of errors per seconds due to packets being dropped.")] HRESULT StreamErrors([out, retval] long *pVal); [propget, id(10), helpstring("Retrieves the total number of players that have been streamed data.")] HRESULT StreamingPlayers([out, retval] long *pVal); [propget, id(11), helpstring("Retrieves the total number of connections that have been terminated.")] HRESULT StreamTerminations([out, retval] long *pVal); [propget, id(12), helpstring("Retrieves the total number of UDP resend requests received.")] HRESULT UDPResendRequests([out, retval] long *pVal); [propget, id(13), helpstring("Retrieves the total number of UDP resend requests processed.")] HRESULT UDPResendsSent([out, retval] long *pVal); [propget, id(14), helpstring("Retrieves the total number of late send operations.")] HRESULT LateSends([out, retval] long *pVal); [propget, id(15), helpstring("Retrieves the total number of advertisements that have been streamed from playlists.")] HRESULT Advertisements([out, retval] long *pVal); [id(25), helpstring("Resets all of the total counters to the current values.")] HRESULT Reset(); [propget, id(30), helpstring("Retrieves an array that contains all of the total counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(1881273F-4BEC-11D2-BF25-00805FBE84A6), dual, nonextensible, helpstring("Contains properties and methods to manage a publishing point."), pointer_default(unique) ] interface IWMSPublishingPoint : IDispatch { typedef [public, uuid(3E52E0EC-72A7-11D2-BF2F-00805FBE84A6)] enum WMS_PUBLISHING_POINT_TYPE { WMS_PUBLISHING_POINT_TYPE_ON_DEMAND = 1, WMS_PUBLISHING_POINT_TYPE_BROADCAST = 2, WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_ON_DEMAND = 3, WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_BROADCAST = 4 } WMS_PUBLISHING_POINT_TYPE; typedef [public, uuid(3E52E0EF-72A7-11D2-BF2F-00805FBE84A6)] enum WMS_PUBLISHING_POINT_STATUS { WMS_PUBLISHING_POINT_RUNNING = 0x0, WMS_PUBLISHING_POINT_ERROR = 0x1, WMS_PUBLISHING_POINT_ERROR_CRITICAL = 0x2 } WMS_PUBLISHING_POINT_STATUS; [propget, id(1), helpstring("Specifies or retrieves a Boolean value that indicates whether the publishing point can receive client connections.")] HRESULT AllowClientsToConnect([out, retval] VARIANT_BOOL *pVal); [propput, id(1), helpstring("Specifies or retrieves a Boolean value that indicates whether the publishing point can receive client connections.")] HRESULT AllowClientsToConnect([in] VARIANT_BOOL newVal); [propget, id(2), helpstring("Retrieves a collection of current counters for the publishing point.")] HRESULT CurrentCounters([out, retval] IWMSPublishingPointCurrentCounters * *pVal); [propget, id(3), helpstring("Retrieves a collection of event authorization and notification plug-ins for the publishing point.")] HRESULT EventHandlers([out, retval] IWMSPlugins** pVal); [propget, id(4), helpstring("Retrieves the unique GUID for the publishing point.")] HRESULT ID([out, retval] BSTR *pVal); [propget, id(5), helpstring("Retrieves a collection of limits for the publishing point.")] HRESULT Limits([out, retval] IWMSPublishingPointLimits ** pVal); [propget, id(6), helpstring("Retrieves a collection of IWMSFileDescription objects that describes files and directories relative to the publishing point path.")] HRESULT FileDescriptions( [in, defaultvalue("")] BSTR RelativePath, [out, retval] IWMSFileDescriptions** pVal); [propget, id(7), helpstring("Retrieves the moniker display name for the publishing point.")] HRESULT MonikerName( [out,retval] BSTR* pbstrVal ); [propget, id(DISPID_VALUE), helpstring("Specifies or retrieves the name of the publishing point.")] HRESULT Name([out, retval] BSTR *pVal); [propput, id(DISPID_VALUE), helpstring("Specifies or retrieves the name of the publishing point.")] HRESULT Name([in] BSTR newVal); [propget, id(8), helpstring("Retrieves a collection containing information about outgoing distribution connection clients for the publishing point.")] HRESULT OutgoingDistributionConnections([out, retval] IWMSOutgoingDistributionConnections* *pVal); [propget, id(9), helpstring("Specifies or retrieves the path to the publishing point content.")] HRESULT Path([out, retval] BSTR *pVal); [propput, id(9), helpstring("Specifies or retrieves the path to the publishing point content.")] HRESULT Path([in] BSTR newVal); [propget, id(10), helpstring("Retrieves a collection of peak counters for the publishing point")] HRESULT PeakCounters([out, retval] IWMSPublishingPointPeakCounters ** pVal); [propget, id(11), helpstring("Retrieves a collection that contains information about players connected to the publishing point.")] HRESULT Players( [out, retval] IWMSPlayers* *pVal ); [propget, id(12), helpstring("Retrieves a collection of name-value pairs for the publishing point.")] HRESULT Properties([out, retval] IWMSNamedValues* *pVal); [propget, id(13), helpstring("Retrieves a collection of total counters for the publishing point.")] HRESULT TotalCounters([out, retval] IWMSPublishingPointTotalCounters* *pVal); [propget, id(14), helpstring("Retrieves an enumeration value that indicates the publishing point type.")] HRESULT Type([out, retval] WMS_PUBLISHING_POINT_TYPE *pVal); [propget, id(15), helpstring("Specifies or retrieves the path to the wrapper playlist file for the publishing point.")] HRESULT WrapperPath([out, retval] BSTR *pVal); [propput, id(15), helpstring("Specifies or retrieves the path to the wrapper playlist file for the publishing point.")] HRESULT WrapperPath([in] BSTR newVal); [propget, id(16), helpstring("Retrieves a collection of authentication plug-ins for the publishing point.")] HRESULT Authenticators([out, retval] IWMSPlugins** pVal); [propget, id(17), helpstring("Retrieves the publishing point status.")] HRESULT Status([out, retval] WMS_PUBLISHING_POINT_STATUS *pVal); [propget, id(18), helpstring("Specifies or retrieves a Boolean value indicating whether a wrapper playlist is enabled for the publishing point.")] HRESULT EnableWrapperPath([out, retval] VARIANT_BOOL *pVal); [propput, id(18), helpstring("Specifies or retrieves a Boolean value indicating whether a wrapper playlist is enabled for the publishing point.")] HRESULT EnableWrapperPath([in] VARIANT_BOOL newVal); [propget, id(19), helpstring("Retrieves a collection of stream filter plug-ins for the publishing point.")] HRESULT StreamFilters([out, retval] IWMSPlugins** pVal); [propget, id(22), helpstring("Specifies or retrieves the user name that is returned in response to an authentication challenge during server-to-server distribution.")] HRESULT DistributionUserName([out, retval] BSTR *pVal); [id(23), helpstring("Specifies or retrieves the user name/password that is returned in response to an authentication challenge during server-to-server distribution.")] HRESULT SetDistributionUserNamePassword([in, string] wchar_t* newUserName, [in, string] wchar_t* newUserPassword ); [propget, id(24), helpstring("Specifies or retrieves the expiration value, in seconds, for cached content.")] HRESULT CacheProxyExpiration([out, retval] long *pVal); [propput, id(24), helpstring("Specifies or retrieves the expiration value, in seconds, for cached content.")] HRESULT CacheProxyExpiration([in] long newVal); [propget, id(25), helpstring("Retrieves a Boolean value that indicates whether the password used for authentication during server-to-server distribution is set.")] HRESULT IsDistributionPasswordSet ( [out, retval] VARIANT_BOOL *pVal); [propget, id(26), helpstring("Specifies or retrieves a Boolean value that indicates whether the publishing point allows clients to cache content locally.")] HRESULT AllowPlayerSideDiskCaching([out, retval] VARIANT_BOOL *pVal); [propput, id(26), helpstring("Specifies or retrieves a Boolean value that indicates whether the publishing point allows clients to cache content locally.")] HRESULT AllowPlayerSideDiskCaching([in] VARIANT_BOOL newVal); [propget, id(27), helpstring("Specifies or retrieves a Boolean value that indicates whether forward error correction is enabled for the publishing point.")] HRESULT EnableFEC([out, retval] VARIANT_BOOL *pVal); [propput, id(27), helpstring("Specifies or retrieves a Boolean value that indicates whether forward error correction is enabled for the publishing point.")] HRESULT EnableFEC([in] VARIANT_BOOL newVal); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(6ca388b3-eaee-492f-a8d6-8758efc72d76), dual, nonextensible, helpstring("Contains methods to manage an on-demand publishing point."), pointer_default(unique) ] interface IWMSOnDemandPublishingPoint : IWMSPublishingPoint { [propget, id(30), helpstring("Specifies or retrieves a Boolean value that indicates whether content from the publishing point can be cached by cache servers.")] HRESULT AllowContentCaching([out, retval] VARIANT_BOOL *pVal); [propput, id(30), helpstring("Specifies or retrieves a Boolean value that indicates whether content from the publishing point can be cached by cache servers.")] HRESULT AllowContentCaching([in] VARIANT_BOOL newVal); [id(31), helpstring("Exports the configuration data for the publishing point.")] HRESULT ExportXML( [in] BSTR bstrXMLFileName ); [propget, id(32), helpstring("Specifies or retrieves a Boolean value that indicates whether clients can use wildcard characters to access content from the publishing point.")] HRESULT EnableClientWildcardDirectoryAccess( [out, retval] VARIANT_BOOL *pVal); [propput, id(32), helpstring("Specifies or retrieves a Boolean value that indicates whether clients can use wildcard characters to access content from the publishing point.")] HRESULT EnableClientWildcardDirectoryAccess( [in] VARIANT_BOOL newVal); [propget, id(33), helpstring("Reserved for future use.")] HRESULT EnableDownload( [out, retval] VARIANT_BOOL *pVal); [propput, id(33), helpstring("Reserved for future use.")] HRESULT EnableDownload( [in] VARIANT_BOOL newVal); [propget, id(34), helpstring("Reserved for future use.")] HRESULT DownloadBandwidth( [out, retval] long *pVal); [propput, id(34), helpstring("Reserved for future use.")] HRESULT DownloadBandwidth( [in] long newVal); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(55DDB8E9-05A3-4666-9E20-550F94581B06), dual, nonextensible, helpstring("Contains a collection of paths for media files that are used to announce a multicast broadcast."), pointer_default(unique) ] interface IWMSAnnouncementStreamFormats : IDispatch { // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( BSTR, "Retrieves the path for a file from the collection." ) [id(4), helpstring("Adds a file path or IStream header to the collection.")] HRESULT Add( [in] VARIANT varStreamFormat ); [id(5), helpstring("Removes a file path from the collection.")] HRESULT Remove( [in] VARIANT varIndex ); [id(6), helpstring("Removes all file paths from the collection.")] HRESULT RemoveAll(); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(6ca388b4-eaee-492f-a8d6-8758efc72d76), dual, nonextensible, helpstring("Contains properties and methods to manage a broadcast publishing point."), pointer_default(unique) ] interface IWMSBroadcastPublishingPoint : IWMSPublishingPoint { typedef [public, uuid(3E52E0ED-72A7-11D2-BF2F-00805FBE84A6)] enum WMS_BROADCAST_PUBLISHING_POINT_STATUS { WMS_BROADCAST_PUBLISHING_POINT_STOPPED = 0x0, WMS_BROADCAST_PUBLISHING_POINT_STARTED_WITHOUT_DATA = 0x1, WMS_BROADCAST_PUBLISHING_POINT_STARTED = 0x2, WMS_BROADCAST_PUBLISHING_POINT_ARCHIVING = 0x4, WMS_BROADCAST_PUBLISHING_POINT_CHANGE_IN_PROGRESS = 0x8 } WMS_BROADCAST_PUBLISHING_POINT_STATUS; typedef [public, uuid(62D6D99D-EB48-4e9e-97DB-C2C09EAADAD4)] enum WMS_BUFFER_SETTING { WMS_BUFFER_SETTING_UNSPECIFIED = 0x0, WMS_BUFFER_SETTING_MINIMIZE_STARTUP_LATENCY = 0x1, WMS_BUFFER_SETTING_MINIMIZE_PROPAGATION_LATENCY = 0x2, [hidden] WMS_NUM_BUFFER_SETTING = 0x3 } WMS_BUFFER_SETTING; [propget, id(30), helpstring("Specifies or retrieves a Boolean value that indicates whether streams from the publishing point can be split.")] HRESULT AllowStreamSplitting([out, retval] VARIANT_BOOL *pVal); [propput, id(30), helpstring("Specifies or retrieves a Boolean value that indicates whether streams from the publishing point can be split.")] HRESULT AllowStreamSplitting([in] VARIANT_BOOL newVal); [propget, id(31), helpstring("Specifies or retrieves a Boolean value that indicates whether a stopped publishing point is automatically started when the first client connects and then stopped when the last client disconnects.")] HRESULT AllowClientToStartAndStop([out, retval] VARIANT_BOOL *pVal); [propput, id(31), helpstring("Specifies or retrieves a Boolean value that indicates whether a stopped publishing point is automatically started when the first client connects and then stopped when the last client disconnects.")] HRESULT AllowClientToStartAndStop([in] VARIANT_BOOL newVal); [propget, id(32), helpstring("Retrieves a collection of broadcast data sink plug-ins.")] HRESULT BroadcastDataSinks([out, retval] IWMSPlugins* *pVal); [propget, id(33), helpstring("Retrieves the shared playlist object for the broadcast publishing point.")] HRESULT SharedPlaylist([out, retval] IWMSPlaylist ** pVal); [id(34), helpstring("Initializes the publishing point and sends multicast beacons that enable clients to connect to a multicast when no content is being streamed.")] HRESULT StartWithoutData(); [id(35), helpstring("Starts the broadcast publishing point.")] HRESULT Start(); [id(36), helpstring("Starts archiving content from the publishing point.")] HRESULT StartArchive(); [propget, id(37), helpstring("Retrieves an enumeration value indicating the status of the broadcast publishing point.")] HRESULT BroadcastStatus([out, retval] WMS_BROADCAST_PUBLISHING_POINT_STATUS *pVal); [id(38), helpstring("Stops the broadcast publishing point.")] HRESULT Stop(); [id(39), helpstring("Stops archiving content from the publishing point.")] HRESULT StopArchive(); [id(40), helpstring("Exports the configuration data for the publishing point.")] HRESULT ExportXML( [in] BSTR bstrXMLFileName ); [propget, id(41), helpstring("Retrieves the elapsed time, in seconds, that the publishing point has been running.")] HRESULT UpTime( [out,retval] long *pVal ); [propget, id(43), helpstring("Retrieves a collection of paths for media files that are used to announce a multicast broadcast.")] HRESULT AnnouncementStreamFormats( [out, retval] IWMSAnnouncementStreamFormats **ppFileNames ); [id(44), helpstring("Saves the information needed to create a multicast information (.nsc) file to the server's configuration data.")] HRESULT Announce(); [id(45), helpstring("Creates a multicast information (.nsc) file.")] HRESULT AnnounceToNSCFile( [in] BSTR bstrDestinationFileName, [in, defaultvalue(FALSE)] VARIANT_BOOL fOverwriteFlag ); [restricted, id(46), helpstring("Outputs a multicast information (.nsc) file using the IStream interface.")] HRESULT AnnounceToNSCStream( [out, retval] IUnknown **ppNSCAnnounceStream ); [propget, id(47), helpstring("Specifies or retrieves an enumeration value indicating the amount of buffering that is done on a broadcast sink.")] HRESULT BufferSetting([out, retval] WMS_BUFFER_SETTING *pVal); [propput, id(47), helpstring("Specifies or retrieves an enumeration value indicating the amount of buffering that is done on a broadcast sink.")] HRESULT BufferSetting([in] WMS_BUFFER_SETTING newVal); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(1881274D-4BEC-11D2-BF25-00805FBE84A6), dual, nonextensible, helpstring("Contains a collection of publishing points."), pointer_default(unique) ] interface IWMSPublishingPoints : IDispatch { typedef [public, uuid(6ca388b5-eaee-492f-a8d6-8758efc72d76)] enum WMS_PUBLISHING_POINT_CATEGORY { WMS_PUBLISHING_POINT_ON_DEMAND = 1, WMS_PUBLISHING_POINT_BROADCAST = 2, } WMS_PUBLISHING_POINT_CATEGORY; // Standard collection Methods & Properties: Item, Count & _NewEnum COLLECTION_METHODS( IWMSPublishingPoint*, "Retrieves a specific publishing point from the collection." ) [id(4), helpstring("Adds a new publishing point to the collection.")] HRESULT Add([in] BSTR Name, [in] WMS_PUBLISHING_POINT_CATEGORY Category, [in] BSTR Path, [out,retval] IWMSPublishingPoint** ppNewPubPt); [id(5), helpstring("Removes a publishing point from the collection.")] HRESULT Remove([in] VARIANT varIndex); [id(6), helpstring("Creates a duplicate instance of a publishing point.")] HRESULT Clone([in] BSTR DestName, [in] IWMSPublishingPoint* pSrcPubPt, [out,retval] IWMSPublishingPoint** ppDestPubPt); [id(7), helpstring("Creates a new publishing point from a publishing point configuration file.")] HRESULT ImportXML( [in] BSTR bstrNewPubPtName, [in] BSTR bstrXMLFileName, [out,retval] IWMSPublishingPoint** ppNewPubPt ); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(18FA53CD-8EB9-4b5f-B750-659D9B96DB9F), dual, nonextensible, helpstring("Contains properties that provide real-time counter values for the server."), pointer_default(unique) ] interface IWMSServerCurrentCounters : IDispatch { [propget, id(0), helpstring("Retrieves the number of players connected to the server.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the current number of players in the queue to connect to the server.")] HRESULT ConnectionQueue([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the number of players connecting per second.")] HRESULT ConnectionRate([out, retval] long *pVal); [propget, id(4), helpstring("Retrieves the current bandwidth, in Kbps, consumed by file read operations.")] HRESULT FileReadRate([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the total number of players being streamed content using the HTTP protocol.")] HRESULT StreamingHTTPPlayers([out, retval] long *pVal); [propget, id(6), helpstring("Retrieves the number of late read operations per second.")] HRESULT LateReadRate([out, retval] long *pVal); [propget, id(7), helpstring("Retrieves the number of players being streamed content using the MMS protocol.")] HRESULT StreamingMMSPlayers([out, retval] long *pVal); [propget, id(9), helpstring("Retrieves the bandwidth, in Kbps, that has been allocated for outgoing distribution connection clients.")] HRESULT OutgoingDistributionAllocatedBandwidth([out, retval] long *pVal); [propget, id(10), helpstring("Retrieves the number of outgoing distribution connection clients connected to the server.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(11), helpstring("Retrieves the rate, in Kbps, at which content is being sent to outgoing distribution connection clients.")] HRESULT OutgoingDistributionSendRate([out, retval] long *pVal); [propget, id(12), helpstring("Retrieves the bandwidth, in Kbps, allocated for player connections.")] HRESULT PlayerAllocatedBandwidth([out, retval] long *pVal); [propget, id(13), helpstring("Retrieves the rate, in Kbps, at which content is being sent to players.")] HRESULT PlayerSendRate([out, retval] long *pVal); [propget, id(14), helpstring("Retrieves the number of players being streamed content using the RTSP protocol.")] HRESULT StreamingRTSPPlayers([out, retval] long *pVal); [propget, id(15), helpstring("Retrieves the number of errors per second due to packets being dropped.")] HRESULT StreamErrorRate([out, retval] long *pVal); [propget, id(16), helpstring("Retrieves the number of players being streamed content.")] HRESULT StreamingPlayers([out, retval] long *pVal); [propget, id(18), helpstring("Retrieves the number of multimedia streams being sent to a cache.")] HRESULT CacheDownloads([out, retval] long *pVal); [propget, id(19), helpstring("Retrieves the number of late send operations per second.")] HRESULT LateSendRate([out, retval] long *pVal); [propget, id(20), helpstring("Retrieves the number of UDP resend requests per second received by the server.")] HRESULT UDPResendRequestsRate([out, retval] long *pVal); [propget, id(21), helpstring("Retrieves the number of UDP resend requests per second processed by the server.")] HRESULT UDPResendsSentRate([out, retval] long *pVal); [propget, id(22), helpstring("Retrieves the bandwidth, in Kbps, that has been allocated for incoming connection servers.")] HRESULT IncomingBandwidth([out, retval] long *pVal); [propget, id(30), helpstring("Retrieves an array that contains all of the current counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(66F2D385-7081-40b9-863C-AFA4E5612CD3), dual, nonextensible, helpstring("Contains properties that provide peak counter values for the server."), pointer_default(unique) ] interface IWMSServerPeakCounters : IDispatch { [propget, id(0), helpstring("Retrieves the peak number of players that have been connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propget, id(2), helpstring("Retrieves the peak number of outgoing distribution connection clients that have been connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propget, id(3), helpstring("Retrieves the peak bandwidth, in Kbps, that has been allocated for outgoing distribution connection clients.")] HRESULT OutgoingDistributionAllocatedBandwidth([out, retval] long *pVal); [propget, id(4), helpstring("Retrieves the peak number of bytes per second sent to players.")] HRESULT PlayerSendRate([out, retval] long *pVal); [propget, id(5), helpstring("Retrieves the peak bandwidth, in Kbps, that has been allocated for player connections.")] HRESULT PlayerAllocatedBandwidth([out, retval] long *pVal); [propget, id(6), helpstring("Retrieves the peak number of bytes per second sent to outgoing distribution connection clients.")] HRESULT OutgoingDistributionSendRate([out, retval] long *pVal); [propget, id(7), helpstring("Retrieves the date and time at which the server started monitoring the peak counters.")] HRESULT CountersStartTime([out, retval] DATE *pVal ); [propget, id(8), helpstring("Retrieves the peak number of players that have been streamed content.")] HRESULT StreamingPlayers([out, retval] long *pVal); [id(10), helpstring("Resets all of the peak counters to the current values.")] HRESULT Reset(); [propget, id(30), helpstring("Retrieves an array that contains all of the peak counters.")] HRESULT AllCounters([out,retval] SAFEARRAY(VARIANT) *ppsaCounters); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(D06CCFBB-994D-45f8-886E-81E9B7FAEDF1), dual, nonextensible, helpstring("Contains properties to retrieve and manage server limits."), pointer_default(unique) ] interface IWMSServerLimits : IDispatch { [propget, id(0), helpstring("Specifies or retrieves the maximum number of players that can be connected.")] HRESULT ConnectedPlayers([out, retval] long *pVal); [propput, id(0), helpstring("Specifies or retrieves the maximum number of players that can be connected.")] HRESULT ConnectedPlayers([in] long Val); [propget, id(3), helpstring("Specifies or retrieves the maximum number of clients per second that the server is permitted to connect.")] HRESULT ConnectionRate([out, retval] long *pVal); [propput, id(3), helpstring("Specifies or retrieves the maximum number of clients per second that the server is permitted to connect.")] HRESULT ConnectionRate([in] long Val); [propget, id(5), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all outgoing distribution connection clients.")] HRESULT OutgoingDistributionBandwidth([out, retval] long *pVal); [propput, id(5), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all outgoing distribution connection clients.")] HRESULT OutgoingDistributionBandwidth([in] long Val); [propget, id(6), helpstring("Specifies or retrieves the maximum number of outgoing distribution connection clients that can be connected.")] HRESULT OutgoingDistributionConnections([out, retval] long *pVal); [propput, id(6), helpstring("Specifies or retrieves the maximum number of outgoing distribution connection clients that can be connected.")] HRESULT OutgoingDistributionConnections([in] long Val); [propget, id(7), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for an outgoing distribution connection client.")] HRESULT PerOutgoingDistributionConnectionBandwidth([out, retval] long *pVal); [propput, id(7), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for an outgoing distribution connection client.")] HRESULT PerOutgoingDistributionConnectionBandwidth([in] long Val); [propget, id(8), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all player connections.")] HRESULT PlayerBandwidth([out, retval] long *pVal); [propput, id(8), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all player connections.")] HRESULT PlayerBandwidth([in] long Val); [propget, id(9), helpstring("Specifies or retrieves the maximum length of time, in seconds, that a player is permitted to remain connected without receiving streamed content.")] HRESULT PlayerInactivityTimeout([out, retval] long *pVal); [propput, id(9), helpstring("Specifies or retrieves the maximum length of time, in seconds, that a player is permitted to remain connected without receiving streamed content.")] HRESULT PlayerInactivityTimeout([in] long Val); [propget, id(10), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for a player connection.")] HRESULT PerPlayerConnectionBandwidth([out, retval] long *pVal); [propput, id(10), helpstring("Specifies or retrieves the maximum allocated bandwidth, in Kbps, permitted for a player connection.")] HRESULT PerPlayerConnectionBandwidth([in] long Val); [propget, id(11), helpstring("Specifies or retrieves the maximum length of time, in seconds, that a player is permitted to remain connected, if the server has not received a message from the player to maintain the connection.")] HRESULT PlayerAcknowledgementTimeout([out, retval] long *pVal); [propput, id(11), helpstring("Specifies or retrieves the maximum length of time, in seconds, that a player is permitted to remain connected, if the server has not received a message from the player to maintain the connection.")] HRESULT PlayerAcknowledgementTimeout([in] long Val); [propget, id(13), helpstring("Specifies or retrieves the maximum CPU utilization permitted when a client connects to the server.")] HRESULT CPUUtilizationDuringConnection([out, retval] long *pVal); [propput, id(13), helpstring("Specifies or retrieves the maximum CPU utilization permitted when a client connects to the server.")] HRESULT CPUUtilizationDuringConnection([in] long Val); [propget, id(14), helpstring("Specifies or retrieves the maximum number of IWMSDiagnosticEvent objects that the IWMSDiagnosticEvents collection can contain.")] HRESULT DiagnosticEvents([out, retval] long *pVal); [propput, id(14), helpstring("Specifies or retrieves the maximum number of IWMSDiagnosticEvent objects that the IWMSDiagnosticEvents collection can contain.")] HRESULT DiagnosticEvents([in] long Val); [propget, id(15), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all incoming connection servers.")] HRESULT IncomingBandwidth([out, retval] long *pVal); [propput, id(15), helpstring("Specifies or retrieves the maximum aggregate allocated bandwidth, in Kbps, permitted for all incoming connection servers.")] HRESULT IncomingBandwidth([in] long Val); }; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(845FB958-4279-11D2-BF23-00805FBE84A6), dual, nonextensible, helpstring("Contains properties and methods to manage the server."), pointer_default(unique) ] interface IWMSServer : IDispatch { typedef [public, uuid(3E52E0EE-72A7-11D2-BF2F-00805FBE84A6)] enum WMS_SERVER_STATUS { WMS_SERVER_RUNNING = 0x0, WMS_SERVER_ERROR = 0x1, WMS_SERVER_ERROR_CRITICAL = 0x2 } WMS_SERVER_STATUS; typedef [public, uuid(49A0F530-F475-45a6-99C5-E52382685BA8)] enum WMS_OS_PRODUCT_TYPE { WMS_OS_PRODUCT_SERVER = 0x00000001, WMS_OS_PRODUCT_ADVANCED = 0x00000002, } WMS_OS_PRODUCT_TYPE; [propget, id(1), helpstring("Specifies or retrieves a Boolean value that indicates whether the server can receive client connections.")] HRESULT AllowClientsToConnect([out, retval] VARIANT_BOOL *pVal); [propput, id(1), helpstring("Specifies or retrieves a Boolean value that indicates whether the server can receive client connections.")] HRESULT AllowClientsToConnect([in] VARIANT_BOOL val); [propget, id(2), helpstring("Retrieves a collection of authentication plug-ins for the server.")] HRESULT Authenticators([out, retval] IWMSPlugins** pVal); [propget, id(3), helpstring("Retrieves a collection of cache and proxy plug-ins for the server.")] HRESULT CacheProxy([out, retval] IWMSPlugins **pVal); [propget, id(4), helpstring("Retrieves a collection of control protocol plug-ins for the server.")] HRESULT ControlProtocols([out, retval] IWMSPlugins* *pVal); [propget, id(5), helpstring("Retrieves a collection of current counters for the server.")] HRESULT CurrentCounters([out, retval] IWMSServerCurrentCounters * *pVal); [propget, id(6), helpstring("Retrieves a collection of data source plug-ins for the server.")] HRESULT DataSources([out, retval] IWMSPlugins* *pVal); [propget, id(7), helpstring("Retrieves a collection of event notification and authorization plug-ins for the server.")] HRESULT EventHandlers([out, retval] IWMSPlugins** pVal); [propget, id(8), helpstring("Retrieves a collection of limits for the server.")] HRESULT Limits([out, retval] IWMSServerLimits ** pVal); [propget, id(9), helpstring("Retrieves a collection of IWMSFileDescription objects that describe files and directories for the server.")] HRESULT FileDescriptions([in] BSTR Path, [in, defaultvalue(0)] WMS_FILE_TYPE Type, [out, retval] IWMSFileDescriptions** pVal); [propget, id(10), helpstring("Retrieves a collection of media parser plug-ins for the server.")] HRESULT MediaParsers([out, retval] IWMSPlugins* *pVal); [propget, id(11), helpstring("Retrieves the moniker display name for the server.")] HRESULT MonikerName( [out,retval] BSTR* pbstrVal ); [propget, id(DISPID_VALUE), helpstring("Retrieves the server name.")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(13), helpstring("Retrieves a collection of peak counters for the server.")] HRESULT PeakCounters([out, retval] IWMSServerPeakCounters ** pVal); [propget, id(14), helpstring("Retrieves a collection of playlist parser plug-ins for the server.")] HRESULT PlaylistParsers([out, retval] IWMSPlugins* *pVal); [propget, id(16), helpstring("Retrieves a collection of name-value pairs for the server.")] HRESULT Properties([out, retval] IWMSNamedValues* *pVal); [propget, id(17), helpstring("Retrieves a collection of publishing points.")] HRESULT PublishingPoints([out, retval] IWMSPublishingPoints* *pVal); [propget, id(19), helpstring("Retrieves a collection of total counters for the server.")] HRESULT TotalCounters([out, retval] IWMSServerTotalCounters* *pVal); [propget, id(20), helpstring("Retrieves a collection of unicast data sink plug-ins.")] HRESULT UnicastDataSinks([out, retval] IWMSPlugins* *pVal); [propget, id(21), helpstring("Retrieves a collection that contains information about players connected to the server.")] HRESULT Players( [out, retval] IWMSPlayers* *pVal ); [propget, id(25), helpstring("Retrieves an enumeration value indicating the current status of the server.")] HRESULT Status([out, retval] WMS_SERVER_STATUS *pVal); [id(26), helpstring("Creates an XML DOM document object for creating and editing playlists.")] HRESULT CreatePlaylist ([out, retval] IXMLDOMDocument **ppPlaylist); [propget, id(27), helpstring("Retrieves the date and time at which the server was started.")] HRESULT StartTime([out, retval] DATE *pVal); [propget, id(28), helpstring("Retrieves a collection containing information about outgoing distribution connection clients connected to the server.")] HRESULT OutgoingDistributionConnections([out, retval] IWMSOutgoingDistributionConnections* *pVal); [propget, id(30), helpstring("Retrieves the CPU Utilization of the computer on which the server is running.")] HRESULT CPUUtilization([out, retval] long *pVal); [id(31), helpstring("Exports the configuration data for the server.")] HRESULT ExportXML( [in] BSTR bstrXMLFileName ); [propget, id(32), helpstring("Retrieves a collection of stream filter plug-ins for the server.")] HRESULT StreamFilters([out, retval] IWMSPlugins** pVal); [propget, id(33), helpstring("Retrieves the version number of the server.")] HRESULT Version([out, retval] BSTR* pbstrVal); [propget, id(34), helpstring("Specifies or retrieves an enumeration value that indicates whether the server loads event notification and authorization plug-ins as in-process or out-of-process objects, if the plug-in doesn't specify how it should be loaded.")] HRESULT DefaultPluginLoadType([out, retval] WMS_PLUGIN_LOAD_TYPE *pVal); [propput, id(34), helpstring("Specifies or retrieves an enumeration value that indicates whether the server loads event notification and authorization plug-ins as in-process or out-of-process objects, if the plug-in doesn't specify how it should be loaded.")] HRESULT DefaultPluginLoadType([in] WMS_PLUGIN_LOAD_TYPE val); [propget, id(35), helpstring("Retrieves a collection of IP addresses that are available for use by a control protocol plug-in.")] HRESULT AvailableIPAddresses([out, retval] IWMSAvailableIPAddresses ** ppIPAddrList); [propget, id(36), helpstring("Retrieves a collection of server root directories.")] HRESULT RootDirectories([out, retval] IWMSRootDirectories **ppRootDirectories); [propget, id(37), helpstring("Retrieves an IWMSDiagnosticEvents object that can be used to retrieve information about critical errors and warnings.")] HRESULT DiagnosticEvents([out, retval] IWMSDiagnosticEvents **ppDiagEvents); [propget, id(38), helpstring("Specifies or retrieves a Boolean value indicating whether the server sends all requests for content to cache and proxy plug-ins.")] HRESULT EnableReverseProxyMode([out, retval] VARIANT_BOOL *pVal); [propput, id(38), helpstring("Specifies or retrieves a Boolean value indicating whether the server sends all requests for content to cache and proxy plug-ins.")] HRESULT EnableReverseProxyMode([in] VARIANT_BOOL val); [propget, id(40), helpstring("Retrieves an enumeration value that indicates the file type.")] HRESULT FileType([in]BSTR path, [out, retval] WMS_FILE_TYPE *pVal); [propget, id(41), helpstring("Specifies or retrieves the default path for the server.")] HRESULT DefaultPath([out, retval] BSTR* pVal); [propput, id(41), helpstring("Specifies or retrieves the default path for the server.")] HRESULT DefaultPath([in] BSTR newVal); [id(42), helpstring("Downloads multimedia content.")] HRESULT DownloadContent([in] BSTR SourceUrl, [in] BSTR DestinationUrl, [in, defaultvalue(-1)] long lContentSizeLow, [in, defaultvalue(-1)] long lContentSizeHigh, [in, defaultvalue(0)] long lBitRate ); [propget, id(43), helpstring("Retrieves the operating system product type that Windows Media Services is running on.")] HRESULT OSProductType( [out,retval] WMS_OS_PRODUCT_TYPE *pVal ); }; cpp_quote( "#endif" )