WMS Network Data Source Plug-in Properties
Previous | Next |
WMS Network Data Source Plug-in Properties
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
- IWMSAdminNetworkDataSourcePlugin Interface
- IWMSAdminNetworkDataSourcePlugin Object (C#)
- IWMSAdminNetworkDataSourcePlugin Object (Visual Basic .NET)
- Programming System Plug-in Properties
Previous | Next |