178 lines
6.3 KiB
C
178 lines
6.3 KiB
C
#pragma once
|
|
//-------------------------------------------------------------------------------------------------
|
|
// <copyright file="xmlutil.h" company="Outercurve Foundation">
|
|
// Copyright (c) 2004, Outercurve Foundation.
|
|
// This software is released under Microsoft Reciprocal License (MS-RL).
|
|
// The license and further copyright text can be found in the file
|
|
// LICENSE.TXT at the root directory of the distribution.
|
|
// </copyright>
|
|
//
|
|
// <summary>
|
|
// XML helper functions.
|
|
// </summary>
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
|
// constant XML CLSIDs and IIDs
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument = {0x2933BF90, 0x7B36, 0x11d2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument20 = {0xF6D90F11, 0x9C73, 0x11D3, {0xB3, 0x2E, 0x00, 0xC0, 0x4F, 0x99, 0x0B, 0xB4}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument26 = {0xf5078f1b, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument30 = {0xf5078f32, 0xc551, 0x11d3, {0x89, 0xb9, 0x00, 0x00, 0xf8, 0x1f, 0xe2, 0x21}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument40 = {0x88d969c0, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument50 = {0x88d969e5, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_DOMDocument60 = {0x88d96a05, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}};
|
|
extern __declspec(selectany) const CLSID XmlUtil_CLSID_XMLSchemaCache = {0x88d969c2, 0xf192, 0x11d4, {0xa6, 0x5f, 0x00, 0x40, 0x96, 0x32, 0x51, 0xe5}};
|
|
|
|
extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument = {0x2933BF81, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}};
|
|
extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMDocument2 = {0x2933BF95, 0x7B36, 0x11D2, {0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60}};
|
|
extern __declspec(selectany) const IID XmlUtil_IID_IXMLDOMSchemaCollection = {0x373984C8, 0xB845, 0x449B, {0x91, 0xE7, 0x45, 0xAC, 0x83, 0x03, 0x6A, 0xDE}};
|
|
|
|
enum XML_LOAD_ATTRIBUTE
|
|
{
|
|
XML_LOAD_PRESERVE_WHITESPACE = 1,
|
|
};
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
HRESULT DAPI XmlInitialize();
|
|
void DAPI XmlUninitialize();
|
|
|
|
HRESULT DAPI XmlCreateElement(
|
|
__in IXMLDOMDocument *pixdDocument,
|
|
__in_z LPCWSTR wzElementName,
|
|
__out IXMLDOMElement **ppixnElement
|
|
);
|
|
HRESULT DAPI XmlCreateDocument(
|
|
__in_opt LPCWSTR pwzElementName,
|
|
__out IXMLDOMDocument** ppixdDocument,
|
|
__out_opt IXMLDOMElement** ppixeRootElement = NULL
|
|
);
|
|
HRESULT DAPI XmlLoadDocument(
|
|
__in_z LPCWSTR wzDocument,
|
|
__out IXMLDOMDocument** ppixdDocument
|
|
);
|
|
HRESULT DAPI XmlLoadDocumentEx(
|
|
__in_z LPCWSTR wzDocument,
|
|
__in DWORD dwAttributes,
|
|
__out IXMLDOMDocument** ppixdDocument
|
|
);
|
|
HRESULT DAPI XmlLoadDocumentFromFile(
|
|
__in_z LPCWSTR wzPath,
|
|
__out IXMLDOMDocument** ppixdDocument
|
|
);
|
|
HRESULT DAPI XmlLoadDocumentFromBuffer(
|
|
__in_bcount(cbSource) const BYTE* pbSource,
|
|
__in DWORD cbSource,
|
|
__out IXMLDOMDocument** ppixdDocument
|
|
);
|
|
HRESULT DAPI XmlLoadDocumentFromFileEx(
|
|
__in_z LPCWSTR wzPath,
|
|
__in DWORD dwAttributes,
|
|
__out IXMLDOMDocument** ppixdDocument
|
|
);
|
|
HRESULT DAPI XmlSelectSingleNode(
|
|
__in IXMLDOMNode* pixnParent,
|
|
__in_z LPCWSTR wzXPath,
|
|
__out IXMLDOMNode **ppixnChild
|
|
);
|
|
HRESULT DAPI XmlSetAttribute(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute,
|
|
__in_z LPCWSTR pwzAttributeValue
|
|
);
|
|
HRESULT DAPI XmlCreateTextNode(
|
|
__in IXMLDOMDocument *pixdDocument,
|
|
__in_z LPCWSTR wzText,
|
|
__out IXMLDOMText **ppixnTextNode
|
|
);
|
|
HRESULT DAPI XmlGetText(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__deref_out_z BSTR* pbstrText
|
|
);
|
|
HRESULT DAPI XmlGetAttribute(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute,
|
|
__deref_out_z BSTR* pbstrAttributeValue
|
|
);
|
|
HRESULT DAPI XmlGetAttributeEx(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR wzAttribute,
|
|
__deref_out_z LPWSTR* psczAttributeValue
|
|
);
|
|
HRESULT DAPI XmlGetYesNoAttribute(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR wzAttribute,
|
|
__out BOOL* pfYes
|
|
);
|
|
HRESULT DAPI XmlGetAttributeNumber(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute,
|
|
__out DWORD* pdwValue
|
|
);
|
|
HRESULT DAPI XmlGetAttributeNumberBase(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute,
|
|
__in int nBase,
|
|
__out DWORD* pdwValue
|
|
);
|
|
HRESULT DAPI XmlGetAttributeLargeNumber(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute,
|
|
__out DWORD64* pdw64Value
|
|
);
|
|
HRESULT DAPI XmlGetNamedItem(
|
|
__in IXMLDOMNamedNodeMap *pixnmAttributes,
|
|
__in_opt LPCWSTR wzName,
|
|
__out IXMLDOMNode **ppixnNamedItem
|
|
);
|
|
HRESULT DAPI XmlSetText(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzText
|
|
);
|
|
HRESULT DAPI XmlSetTextNumber(
|
|
__in IXMLDOMNode *pixnNode,
|
|
__in DWORD dwValue
|
|
);
|
|
HRESULT DAPI XmlCreateChild(
|
|
__in IXMLDOMNode* pixnParent,
|
|
__in_z LPCWSTR pwzElementType,
|
|
__out IXMLDOMNode** ppixnChild
|
|
);
|
|
HRESULT DAPI XmlRemoveAttribute(
|
|
__in IXMLDOMNode* pixnNode,
|
|
__in_z LPCWSTR pwzAttribute
|
|
);
|
|
HRESULT DAPI XmlSelectNodes(
|
|
__in IXMLDOMNode* pixnParent,
|
|
__in_z LPCWSTR wzXPath,
|
|
__out IXMLDOMNodeList **ppixnChild
|
|
);
|
|
HRESULT DAPI XmlNextAttribute(
|
|
__in IXMLDOMNamedNodeMap* pixnnm,
|
|
__out IXMLDOMNode** pixnAttribute,
|
|
__deref_opt_out_z_opt BSTR* pbstrAttribute
|
|
);
|
|
HRESULT DAPI XmlNextElement(
|
|
__in IXMLDOMNodeList* pixnl,
|
|
__out IXMLDOMNode** pixnElement,
|
|
__deref_opt_out_z_opt BSTR* pbstrElement
|
|
);
|
|
HRESULT DAPI XmlRemoveChildren(
|
|
__in IXMLDOMNode* pixnSource,
|
|
__in_z LPCWSTR pwzXPath
|
|
);
|
|
HRESULT DAPI XmlSaveDocument(
|
|
__in IXMLDOMDocument* pixdDocument,
|
|
__inout LPCWSTR wzPath
|
|
);
|
|
HRESULT DAPI XmlSaveDocumentToBuffer(
|
|
__in IXMLDOMDocument* pixdDocument,
|
|
__deref_out_bcount(*pcbDest) BYTE** ppbDest,
|
|
__out DWORD* pcbDest
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|