IWMSBroadcastPublishingPoint::get_BroadcastDataSinks
Previous | Next |
IWMSBroadcastPublishingPoint::get_BroadcastDataSinks
The get_BroadcastDataSinks method retrieves an IWMSPlugins interface that contains a collection of broadcast data sink plug-ins that can be used to send content to a client.
Syntax
HRESULT get_BroadcastDataSinks( IWMSPlugins** pVal );
Parameters
pVal
[out] Pointer to an IWMSPlugins object that contains a collection of IWMSPlugin broadcast data sink objects. 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 use the IWMSBroadcastPublishingPoint::Start method to begin sending content to the client. Only one multicast data sink plug-in can be enabled at any time. This property is accessible through the plug-in's IWMSNamedValues collection.
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; IWMSPlugins *pPlugins; 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 a pointer to an IWMSPlugins interface // containing broadcast data sink plug-ins. hr = pBCPubPoint->get_BroadcastDataSinks(&pPlugins); 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
- IWMSPlugins Interface
Previous | Next |