Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1290 lines
70 KiB

//+-------------------------------------------------------------------------
//
// 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 <WMSDefs.h>" )
[
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" )