IWMSBroadcastPublishingPoint::Announce
Previous | Next |
IWMSBroadcastPublishingPoint::Announce
The Announce method updates the publishing points multicast configuration with data formats that have been added to the IWMSAnnouncementStreamFormats interface.
- Note This method is available only on Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition, and Windows Server 2008.
Syntax
HRESULT Announce();
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 |
NS_E_INVALID_OPERATING_SYSTEM_VERSION | 0xC00D1459L | This feature is not supported on this operating system. |
NS_E_MULTICAST_PLUGIN_NOT_ENABLED | 0xC00D1458L | A multicast plug-in is not enabled on the publishing point. |
NS_E_NO_FORMATS | 0xC00D006BL | The IWMSAnnouncementStreamFormats collection does not contain any stream format information. |
NS_E_PUBLISHING_POINT_REMOVED | 0xC00D145AL | The publishing point has already been removed. |
NS_E_TOO_MANY_MULTICAST_SINKS | 0xC00D1456L | More than one multicast plug-in is enabled on the publishing point. Only one multicast plug-in can be enabled per publishing point. |
Remarks
The Announce method retrieves stream format data from the IWMSAnnouncementStreamFormats interface, and property data from an enabled multicast plug-in. Only one multicast plug-in can be enabled at a time. If no multicast plug-ins are enabled, the Announce method returns an error. If the file names in the IWMSAnnouncementStreamFormats collection reference media files that all use the same format, only one instance of the stream format information is used. After you have called the Announce method, you can call the IWMSBroadcastPublishingPoint::AnnounceToNSCFile method to create the file that is needed by the client to receive and render the broadcast. Call the Announce and the AnnounceToNSCFile methods whenever information that is included in the file is changed.
The Announce method is required for multicasting content from a broadcast publishing point, but it is not required for a unicast broadcast.
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; // Prepare the publishing point configuration for // announcement to clients. hr = pBCPubPoint->Announce(); 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::AnnounceToNSCFile
- IWMSPlugin Interface
Previous | Next |