Share via


IWMSBroadcastPublishingPoint::put_AllowStreamSplitting

banner art

Previous Next

IWMSBroadcastPublishingPoint::put_AllowStreamSplitting

The put_AllowStreamSplitting method specifies a Boolean value that indicates whether the stream can be split.

Syntax

  HRESULT put_AllowStreamSplitting(
  
  VARIANT_BOOL
  
  newVal
  
  );

Parameters

newVal

[in] VARIANT_BOOL that indicates whether the stream can be split.

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_PUBLISHING_POINT_REMOVED 0xC00D145AL The publishing point has already been removed.

Remarks

The default value is VARIANT_TRUE. This allows the proxy server to split a broadcast so that, regardless of how many clients are connected to the proxy to receive the broadcast, there is only one connection from the proxy server to the origin server. If you set this value to VARIANT_FALSE, there must be one connection between the proxy and the origin server for each client that is connected to the proxy server.

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;

        // Set the publishing point to disallow stream splitting.
        hr = pBCPubPoint->put_AllowStreamSplitting(VARIANT_FALSE);
        if (FAILED(hr)) goto EXIT;

        pBCPubPoint->Release();
    }

    // Release temporary COM objects.
    pPubPoint->Release();
}



Requirements

Header: wmsserver.h.

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003 family, Windows Server 2008 family.

See Also

Previous Next