Share via


IWMSPublishingPoint2 Interface

banner art

Previous Next

IWMSPublishingPoint2 Interface

You can use the IWMSPublishingPoint2 interface to enable Startup Profile on a publishing point.

  • **Note   **This interface is available only on Windows Server 2003, Enterprise Edition with Service Pack 1; Windows Server 2003, Datacenter Edition with Service Pack 1; and Windows Server 2008.

In addition to the methods inherited from IWMSPublishingPoint, the IWMSPublishingPoint2 interface exposes the following methods.

Method Description
get_AllowStartupProfile Retrieves a Boolean value that indicates whether the publishing point allows the use of Startup Profile.
put_AllowStartupProfile Specifies a Boolean value that indicates whether the publishing point allows the use of Startup Profile.

Example Code

The following example illustrates how to retrieve a pointer to an IWMSPublishingPoint2 interface.

#include <windows.h>
#include <atlbase.h>    // Includes CComBSTR.
#include "wmsserver.h"

// Declare variables and interfaces.
IWMSServer                    *pServer;
IWMSPublishingPoints          *pPubPoints;
IWMSPublishingPoint           *pPubPoint;
IWMSPublishingPoint2          *pPubPoint2;

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
// IWMSPublishingPoint2 interface. You can retrieve a pointer to this
// interface only when querying from a cache/proxy on-demand or 
// cache/proxy broadcast publishing point.
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_CACHE_PROXY_BROADCAST || 
        pptType == WMS_PUBLISHING_POINT_TYPE_CACHE_PROXY_ON_DEMAND)
    {
        hr = pPubPoint->QueryInterface(IID_IWMSPublishingPoint2,
                                      (void **)&pPubPoint2);
        if (FAILED(hr)) goto EXIT;

        pPubPoint2->Release();
    }

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

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

See Also

Previous Next