Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The get_BufferSetting method retrieves a member of the WMS_BUFFER_SETTING enumeration type that indicates the amount of buffering that is done on a broadcast sink.
HRESULT get_BufferSetting(
WMS_BUFFER_SETTING* pVal
);
Arguments
pVal |
[out] Member of the WMS_BUFFER_SETTING enumeration type that indicates the amount of buffering that is done on a broadcast sink. This must be one of the following values. |
Value |
Description |
|---|---|
WMS_BUFFER_SETTING_UNSPECIFIED |
Reserved for future use. |
WMS_BUFFER_SETTING_MINIMIZE_STARTUP_LATENCY |
Instructs the server to buffer data ahead of the client connection so that, when the client connects, the server can send data to it more quickly. |
WMS_BUFFER_SETTING_PROPOGATION_LATENCY |
Minimizes the amount of data that the server buffers before streaming. |
Return Value
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
The default value is WMS_BUFFER_SETTING_MINIMIZE_STARTUP_LATENCY.
Example
#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;
// Retrieve the buffer setting for the publishing point.
WMS_BUFFER_SETTING bsSetting;
hr = pBCPubPoint->get_BufferSetting(&bsSetting);
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.