IWMSBroadcastPublishingPoint::ExportXML

The ExportXML method creates an XML file that contains publishing point configuration data.

HRESULT ExportXML(
  BSTR  bstrXMLFileName
);

Arguments

bstrXMLFileName

[in] BSTR that contains the name of the XML file.

Return Value

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Return code

Number

Description

E_INVALIDARG

0x8007000E

The bstrXMLFileName argument is not valid. This can occur if an empty string is passed in.

ERROR_PATH_NOT_FOUND

0x00000003

The path that was indicated by the bstrDestinationFileName could not be found.

NS_E_PUBLISHING_POINT_REMOVED

0xC00D145AL

The publishing point has already been removed.

Remarks

You can use the configuration data in the IWMSPublishingPoints::ImportXML method to create a new publishing point with the same settings as the current broadcast publishing point.

This method requires the Network Service account to have write and browse access to the specified path.

Example

#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;

HRESULT         hr;
CComVariant     varIndex;
CComBSTR        bstrFile;
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;

        // Export the publishing point configuration
        // information to an XML file.
        bstrFile = "c:\\wmpub\\wmroot\\pubpoint.xml";
        hr = pBCPubPoint->ExportXML(bstrFile);
        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

Reference

IWMSBroadcastPublishingPoint Interface