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 ExportXML method creates a 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 |
0x80070057 |
newVal is an invalid argument. |
ERROR_PATH_NOT_FOUND |
0x00000003 |
The path that was indicated by bstrXMLFileName was not found. |
NS_E_PUBLISHING_POINT_REMOVED |
0xC00D145AL |
The publishing point has already been removed. |
Remarks
You can use the XML file to create a new publishing point with the same settings as the existing 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;
IWMSOnDemandPublishingPoint *pODPubPoint;
HRESULT hr;
VARIANT_BOOL bVal;
CComVariant varIndex;
CComBSTR bstrFile;
long lCount;
long lBandwidth;
// 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
// IWMSOnDemandPublishingPoint 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_ON_DEMAND)
{
hr = pPubPoint->QueryInterface(IID_IWMSOnDemandPublishingPoint,
(void **)&pODPubPoint);
if (FAILED(hr)) goto EXIT;
// Export the publishing point configuration
// information to an XML file.
bstrFile = "c:\\wmpub\\wmroot\\pubpoint.xml";
hr = pODPubPoint->ExportXML(bstrFile);
if (FAILED(hr)) goto EXIT;
pODPubPoint->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.