IWMSBroadcastPublishingPoint::Start
.gif)
| Previous | Next |
IWMSBroadcastPublishingPoint::Start
The Start method starts the broadcasting publishing point.
Syntax
HRESULT Start( );
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
| Return code | Number | Description |
| E_ACCESSDENIED | 0x8007000E | The account that the WMS service is running under does not have access rights to the content that was requested. |
| ERROR_FILE_NOT_FOUND | 0x00000002 | The server was not able to find the file that was referenced by the Path property of the publishing point. |
| ERROR_PATH_NOT_FOUND | 0x00000003 | The server was not able to find the path that was referenced by the Path property of the publishing point. |
| NS_E_CANNOTCONNECT | 0xC00D0006L | The destination server that was indicated in the path property exists, but the server was unable to establish a connection to the destination server. |
| NS_E_EMPTY_PLAYLIST | 0xC00D14B5L | The playlist that the server is attempting to stream does not reference any media streams or files. |
| NS_E_FILE_NOT_FOUND | 0xC00D001AL | The server was not able to find the file that was referenced by the Path property of the publishing point. |
| NS_E_INCOMPATIBLE_SERVER | 0xC00D2EE8L | The server that the publishing point attempted to connect to does not support the requested action. |
| NS_E_INVALID_PUSH_PUBLISHING_POINT_START_REQUEST | 0xC00D145BL | The publishing point is configured for push distribution and it can be started only by an encoder. |
| NS_E_MEDIA_PARSER_INVALID_FORMAT | 0xC00D1581L | The server cannot stream the selected file because it is either damaged or corrupted. |
| NS_E_MMS_NOT_SUPPORTED | 0xC00D2EFAL | The MMS protocol is not supported. |
| NS_E_PLAYLIST_PARSE_FAILURE | 0xC00D14B6L | The playlist that the server is attempting to parse contains a syntax error. |
| NS_E_PLAYLIST_PLUGIN_NOT_FOUND | 0xC00D157FL | The server was not able to find a playlist parser plug-in to access the playlist that was referenced by the Path property of the publishing point. |
| NS_E_PUBLISHING_POINT_REMOVED | 0xC00D145AL | The publishing point has already been removed. |
| NS_E_SERVER_NOT_FOUND | 0xC00D0035L | The server was not able to find the server that was specified in the Path property of the publishing point. |
| NS_E_SOURCE_PLUGIN_NOT_FOUND | 0xC00D157EL | The server was not able to find a data source plug-in to access the data that was referenced by the Path property of the publishing point. |
| NS_E_WSX_INVALID_VERSION | 0xC00D151EL | The version of the playlist that the server is attempting to stream is either not supported by the server or is not valid. Version information in a playlist is indicated by the <WSX> element. |
| NS_S_PUBLISHING_POINT_STARTED_WITH_FAILED_SINKS | 0x000D1519L | At least one data sink started, but one or more failed to start. |
Remarks
The Start method begins streaming the content that is referenced in the IWMSPublishingPoint::get_Path method. If the Path property references a playlist, an IWMSPlaylist interface interface is created, and the publishing point begins streaming the content that was indicated by the playlist. If the Path property references a file, the server begins streaming content from the file. If the Path property references a directory, the server begins streaming the media files in that directory and subdirectories as if the directory is a playlist.
Example Code
#include <windows.h>
#include <atlbase.h> // Includes CComVariant.
#include "wmsserver.h"
// Declare variables and interfaces.
IWMSServer *pServer;
IWMSPublishingPoints *pPubPoints;
IWMSPublishingPoint *pPubPoint;
IWMSBroadcastPublishingPoint *pBCPubPoint;
HRESULT hr;
CComVariant varIndex;
long lCount;
// 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 the IWMSPublishingPoints
// interface and retrieve the number of publishing points.
hr = pServer->get_PublishingPoints(&pPubPoints);
if (FAILED(hr)) goto EXIT;
hr = pPubPoints->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
// Retrieve each publishing point and query the
// IWMSBroadcastPublishingPoint interface.
for (long x = 0; x < lCount; x++)
{
varIndex = x;
hr = pPubPoints->get_Item(varIndex, &pPubPoint);
if (FAILED(hr)) goto EXIT;
// Retrieve the type of publishing point.
WMS_PUBLISHING_POINT_TYPE pptType;
hr = pPubPoint->get_Type(&pptType);
if (FAILED(hr)) goto EXIT;
if (pptType == WMS_PUBLISHING_POINT_TYPE_BROADCAST)
{
hr = pPubPoint->QueryInterface(IID_IWMSBroadcastPublishingPoint,
(void **)&pBCPubPoint);
if (FAILED(hr)) goto EXIT;
// Retrieve the current status of the publishing point.
// The status is reported as the result of a bitwise OR
// of any of the designated values.
WMS_BROADCAST_PUBLISHING_POINT_STATUS ppsStatus;
hr = pBCPubPoint->get_BroadcastStatus(&ppsStatus);
if (FAILED(hr)) goto EXIT;
// If the publishing point is currently stopped, start it.
if (ppsStatus == WMS_BROADCAST_PUBLISHING_POINT_STOPPED)
{
hr = pBCPubPoint->Start();
if (FAILED(hr)) goto EXIT;
}
pBCPubPoint->Release();
}
// Release temporary COM objects.
pPubPoint->Release();
}
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
Requirements
Header: wmsserver.h.
Library: WMSServerTypeLib.dll.
Platform: Windows ServerĀ 2003 family, Windows ServerĀ 2008 family.
See Also
- IWMSBroadcastPublishingPoint Interface
- IWMSBroadcastPublishingPoint::get_BroadcastStatus
- IWMSBroadcastPublishingPoint::Stop
- IWMSPlaylist Interface
- IWMSPublishingPoint::get_Path
| Previous | Next |