IWMSBroadcastPublishingPoint::AnnounceToNSCFile
Previous | Next |
IWMSBroadcastPublishingPoint::AnnounceToNSCFile
The AnnounceToNSCFile method creates a multicast announcement (.nsc) file that is required for a client to connect to a multicast broadcast.
- Note This method is available only on Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition, and Windows Server 2008.
Syntax
HRESULT AnnounceToNSCFile( BSTR bstrDestinationFileName, VARIANT_BOOL fOverwriteFlag );
Parameters
bstrDestinationFileName
[in] String that contains the name of the file used to announce the multicast broadcast. This file must have an .nsc extension.
fOverwriteFlag
[in] VARIANT_BOOL that indicates whether the file should be overwritten if it already exists. There is no default value for this parameter.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code | Number | Description |
E_OUTOFMEMORY | 0x8007000E | There is insufficient memory to complete the function. |
ERROR_PATH_NOT_FOUND | 0x00000003 | The path that was indicated by the bstrDestinationFileName could not be found. |
NS_E_INVALID_OPERATING_SYSTEM_VERSION | 0xC00D1459L | This feature is not supported on this operating system. |
NS_E_NAMESPACE_NODE_NOT_FOUND | 0xC00D138DL | AnnounceToNSCFile was called before Announce was called. |
NS_E_PUBLISHING_POINT_REMOVED | 0xC00D145AL | The publishing point has already been removed. |
Remarks
Players cannot connect directly to a server to render a multicast stream. Therefore, to obtain the information required to receive a multicast broadcast, you must use the AnnounceToNSCFile method to provide players a file with an .nsc file name extension. This file contains a multicast address, a port number, a rollover URL, source content headers, and so on.
Before calling the AnnounceToNSCFile method, you must add the names of all of the media files included in the multicast to the IWMSAnnouncementStreamFormats interface collection and call the IWMSBroadcastPublishingPoint::Announce method.
This method requires the Network Service account to have write and browse access to the specified path. This method is required for a multicast broadcast but not for a unicast broadcast.
Example Code
#include <windows.h> #include <atlbase.h> // Includes CComBSTR and CComVariant. #include "wmsserver.h" // Declare variables and interfaces. IWMSServer *pServer; IWMSPublishingPoints *pPubPoints; IWMSPublishingPoint *pPubPoint; IWMSBroadcastPublishingPoint *pBCPubPoint; HRESULT hr; CComVariant varIndex; CComBSTR bstrFile; 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; // Create an announcement file that clients can use // to connect to the publishing point. bstrFile = "c:\\wmpub\\wmroot\\announce.nsc"; hr = pBCPubPoint->AnnounceToNSCFile(bstrFile, VARIANT_TRUE); 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
- IWMSAnnouncementStreamFormats Interface
- IWMSBroadcastPublishingPoint Interface
- IWMSBroadcastPublishingPoint::Announce
Previous | Next |