IWMSBroadcastPublishingPoint::AnnounceToNSCStream
Previous | Next |
IWMSBroadcastPublishingPoint::AnnounceToNSCStream
The AnnounceToNSCStream method retrieves an IStream interface that contains a file stream that can be used by a client to receive and render a broadcast.
- Note This method is available only on Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition, and Windows Server 2008.
Syntax
HRESULT AnnounceToNSCStream( IUnknown** ppNSCAnnounceStream );
Parameters
ppNSCAnnounceStream
[out] Pointer to a pointer to an IUnknown interface that can be used to QueryInterface for the IStream interface.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code | Number | Description |
E_POINTER | 0x80004003 | ppNSCAnnounceStream is a NULL pointer argument. |
NS_E_INVALID_OPERATING_SYSTEM_VERSION | 0xC00D1459L | This feature is not supported on this operating system. |
NS_E_NAMESPACE_NODE_NOT_FOUND | 0xC00D138DL | AnnounceToNSCStream 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 AnnounceToNSCStream or AnnounceToNSCFile method to provide players with the necessary information. This stream contains a multicast address, a port number, a rollover URL, source content headers, and so on.
Before calling the AnnounceToNSCStream method, you must add the names of all of the media files that are included in the multicast to the IWMSAnnouncementStreamFormats Interface collection and call the IWMSBroadcastPublishingPoint::Announce method.
For more information about the IStream interface, see the IStream reference page in the MSDN Library.
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; IUnknown *pStream; 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; // Create an announcement file that clients can use // to connect to the publishing point. hr = pBCPubPoint->AnnounceToNSCStream(&pStream); 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 |