Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Windows Media Services uses the WMS Network Data Source plug-in to pull a distribution stream from an upstream server or encoder. Digital content can originate from a network data source using either the HTTP or RTSP protocol. For administration information about this plug-in, see Windows Media Services Help.
You can use the IWMSAdminNetworkDataSourcePlugin interface to configure the plug-in programmatically. This interface exposes the following properties.
Property |
Description |
---|---|
BufferingTime |
Specifies and retrieves the amount of time that the plug-in buffers data before sending it along the data path. |
NumProtocolsSupported |
Retrieves the number of networking protocols supported by the plug-in. |
NumUDPPortRanges |
Retrieves the number of UDP/TCP port number ranges that can be used by the plug-in to receive data. |
ProxyHostName |
Retrieves the name of the proxy server. |
ProxyPassword |
Retrieves a Boolean value indicating whether a proxy password has been set for a particular protocol. |
ProxyPort |
Retrieves the port number used for streaming content to the proxy server. |
ProxySettings |
Retrieves an enumeration value indicating the proxy mode for a given protocol. |
ProxyUserName |
Retrieves a user name that can be sent to the proxy server in response to an authentication challenge. |
SupportedProtocolName |
Retrieves the name of a specific protocol from a list of supported protocols. |
TCPEnabled |
Retrieves a Boolean value indicating whether the plug-in can use TCP when selecting a streaming protocol. |
UDPEnabled |
Specifies and retrieves a Boolean value indicating whether the plug-in can use UDP when selecting a streaming protocol. |
UDPPortRangeLowerBound |
Retrieves the lower bound of a specific UDP port range. |
UDPPortRangeUpperBound |
Retrieves the upper bound of a specific UDP port range. |
The IWMSAdminNetworkDataSourcePlugin interface also exposes the following methods.
Method |
Description |
---|---|
AddUDPPortRange |
Adds a range of UDP/TCP port numbers that can be used by the plug-in to receive data. |
DeleteAllUDPPortRanges |
Removes all of the UDP/TCP port number ranges that can be used by the plug-in to receive data. |
SetProxyCredentials |
Specifies a user name and password that can be used to connect to a proxy. |
SetProxyHostName |
Specifies the name of the proxy server. |
SetProxyPort |
Specifies the port number used for streaming content to the proxy server. |
SetProxySettings |
Specifies an enumeration value indicating the proxy mode for a given protocol. |
The following examples illustrate how to use the IWMSAdminNetworkDataSourcePlugin interface to configure the WMS Network Data Source plug-in.
Visual Basic .NET Example
Imports Microsoft.WindowsMediaServices.Interop
Imports System.Runtime.InteropServices
Private Sub SetNetDSPluginProps()
' Declare variables.
Dim Server As WMSServer
Dim Plugin As IWMSPlugin
Dim NetDataSrcAdmin As IWMSAdminNetworkDataSourcePlugin
Try
' Create a new WMSServer object.
Server = New WMSServer()
' Retrieve the IWMSPlugin object for the
' WMS Network Data Source plug-in.
Plugin = Server.DataSources("WMS Network Data Source")
' Retrieve the administrative interface for the plug-in.
NetDataSrcAdmin = Plugin.CustomInterface()
' Set a Boolean value indicating whether UDP
' can be used as a streaming protocol.
NetDataSrcAdmin.UDPEnabled = True
' Set the proxy host name associated
' with the HTTP protocol.
NetDataSrcAdmin.SetProxyHostName("HTTP", "PROXY_ADDRESS")
Catch excCom As COMException
' TODO: Handle COM exceptions.
Catch exc As Exception
' TODO: Handle exceptions here.
Finally
' TODO: Perform clean-up here.
End Try
End Sub
C# Example
using Microsoft.WindowsMediaServices.Interop;
using System.Runtime.InteropServices;
// Declare variables.
WMSServer Server;
IWMSPlugin Plugin;
IWMSAdminNetworkDataSourcePlugin NetDataSrcAdmin;
try
{
// Create a new WMSServer object.
Server = new WMSServerClass();
// Retrieve the IWMSPlugin object for the
// WMS Network Data Source plug-in.
Plugin = Server.DataSources["WMS Network Data Source"];
// Retrieve the administrative interface for the plug-in.
NetDataSrcAdmin = (IWMSAdminNetworkDataSourcePlugin)Plugin.CustomInterface;
// Set a Boolean value indicating whether UDP
// can be used as a streaming protocol.
NetDataSrcAdmin.UDPEnabled = true;
// Set the proxy host name associated
// with the HTTP protocol.
NetDataSrcAdmin.SetProxyHostName("HTTP", "PROXY_ADDRESS");
}
catch (COMException comExc) {
// TODO: Handle COM exceptions.
}
catch (Exception exc)
{
// TODO: Handle exceptions here.
}
finally
{
// TODO: Perform clean-up here.
}
C++ Example
#include <windows.h>
#include <atlbase.h>
// To access system plug-in interfaces, the
// type library must be imported as shown.
#import "WMSServerTypeLib.dll" no_namespace named_guids \
raw_interfaces_only
// Declare variables and interface pointers.
IWMSServer* pServer = NULL;
IWMSPlugins* pPlugins = NULL;
IWMSPlugin* pPlugin = NULL;
IDispatch* pDispatch = NULL;
IWMSAdminNetworkDataSourcePlugin* pNetDataSrcAdmin = NULL;
CComVariant varIndex;
CComBSTR bstrProtocol;
CComBSTR bstrName;
HRESULT hr = S_OK;
// Initialize the COM library and retrieve a pointer
// to an IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer,
NULL,
CLSCTX_ALL,
IID_IWMSServer,
(void **)&pServer);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to an IWMSPlugins interface
// containing the collection of data source plug-ins.
hr = pServer->get_DataSources(&pPlugins);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to the IWMSPlugin interface for the
// WMS Network Data Source plug-in.
varIndex = "WMS Network Data Source";
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;
// Retrieve an IDispatch pointer to the administration
// interface for the plug-in.
hr = pPlugin->get_CustomInterface(&pDispatch);
if (FAILED(hr)) goto EXIT;
// Call QueryInterface() to retrieve a pointer to the
// IWMSAdminNetworkDataSourcePlugin interface.
hr = pDispatch->QueryInterface(IID_IWMSAdminNetworkDataSourcePlugin,
(void**)&pNetDataSrcAdmin);
if (FAILED(hr)) goto EXIT;
// Set a Boolean value indicating whether UDP
// can be used as a streaming protocol.
hr = pNetDataSrcAdmin->put_UDPEnabled(VARIANT_TRUE);
if (FAILED(hr)) goto EXIT;
// Set the proxy host name associated
// with the HTTP protocol.
bstrProtocol = "HTTP";
bstrName = "PROXY_ADDRESS";
hr = pNetDataSrcAdmin->SetProxyHostName(bstrProtocol, bstrName);
if (FAILED(hr)) goto EXIT;
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
See Also
Reference
IWMSAdminNetworkDataSourcePlugin Interface
IWMSAdminNetworkDataSourcePlugin Object (C#)
IWMSAdminNetworkDataSourcePlugin Object (Visual Basic .NET)