IWMSBroadcastPublishingPoint::get_SharedPlaylist
Previous | Next |
IWMSBroadcastPublishingPoint::get_SharedPlaylist
The get_SharedPlaylist method retrieves an IWMSPlaylist interface for the broadcast publishing point.
Syntax
HRESULT get_SharedPlaylist( IWMSPlaylist** pVal );
Parameters
pVal
[out] Pointer to a pointer to the returned playlist object. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the 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 | pVal is a NULL pointer argument. |
NS_E_PUBLISHING_POINT_REMOVED | 0xC00D145AL | The publishing point has already been removed. |
Remarks
You must call IWMSBroadcastPublishingPoint::Start before calling the get_SharedPlaylist method. The broadcast publishing point path (returned by the IWMSPublishingPoint::get_Path method) must point to a playlist file.
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; IWMSPlaylist *pPlaylist; 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 and retrieve the shared playlist file. if (ppsStatus == WMS_BROADCAST_PUBLISHING_POINT_STOPPED) { hr = pBCPubPoint->Start(); if (FAILED(hr)) goto EXIT; hr = pBCPubPoint->get_SharedPlaylist(&pPlaylist); 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::Start
- IWMSPlaylist Interface
- IWMSPublishingPoint::get_Path
Previous | Next |