1208 lines
38 KiB
Plaintext
1208 lines
38 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1998.
|
|
//
|
|
// File: xmldom.idl
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifdef UNIX
|
|
import "ocidl.idl";
|
|
#endif
|
|
|
|
cpp_quote("//+-------------------------------------------------------------------------")
|
|
cpp_quote("//")
|
|
cpp_quote("// Microsoft Windows")
|
|
cpp_quote("// Copyright (C) Microsoft Corporation, 1998.")
|
|
cpp_quote("//")
|
|
cpp_quote("//--------------------------------------------------------------------------")
|
|
|
|
#include "xmldomdid.h"
|
|
#include <idispids.h>
|
|
|
|
interface IXMLDOMImplementation;
|
|
interface IXMLDOMNode;
|
|
interface IXMLDOMDocumentFragment;
|
|
interface IXMLDOMDocument;
|
|
interface IXMLDOMNodeList;
|
|
interface IXMLDOMNamedNodeMap;
|
|
interface IXMLDOMCharacterData;
|
|
interface IXMLDOMAttribute;
|
|
interface IXMLDOMElement;
|
|
interface IXMLDOMText;
|
|
interface IXMLDOMComment;
|
|
interface IXMLDOMProcessingInstruction;
|
|
interface IXMLDOMCDATASection;
|
|
interface IXMLDOMDocumentType;
|
|
interface IXMLDOMNotation;
|
|
interface IXMLDOMEntity;
|
|
interface IXMLDOMEntityReference;
|
|
interface IXMLDOMParseError;
|
|
interface IXTLRuntime;
|
|
|
|
|
|
|
|
typedef [
|
|
helpstring("Constants that define a node's type")
|
|
] enum tagDOMNodeType
|
|
{
|
|
NODE_INVALID, // = 0
|
|
NODE_ELEMENT, // = 1
|
|
NODE_ATTRIBUTE, // = 2
|
|
NODE_TEXT, // = 3
|
|
NODE_CDATA_SECTION, // = 4
|
|
NODE_ENTITY_REFERENCE, // = 5
|
|
NODE_ENTITY, // = 6
|
|
NODE_PROCESSING_INSTRUCTION, // = 7
|
|
NODE_COMMENT, // = 8
|
|
NODE_DOCUMENT, // = 9
|
|
NODE_DOCUMENT_TYPE, // = 10
|
|
NODE_DOCUMENT_FRAGMENT, // = 11
|
|
NODE_NOTATION // = 12
|
|
} DOMNodeType;
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF80-7B36-11d2-B20E-00C04F983E60), // IID_INode
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
helpstring("Core DOM node interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMNode : IDispatch
|
|
{
|
|
// readonly attribute wstring nodeName;
|
|
[propget, id(DISPID_DOM_NODE_NODENAME),
|
|
helpstring("name of the node")]
|
|
HRESULT nodeName(
|
|
[out, retval] BSTR * name);
|
|
|
|
// attribute wstring nodeValue;
|
|
[propget, id(DISPID_DOM_NODE_NODEVALUE),
|
|
helpstring("value stored in the node")]
|
|
HRESULT nodeValue(
|
|
[out, retval] VARIANT * value);
|
|
|
|
[propput, id(DISPID_DOM_NODE_NODEVALUE),
|
|
helpstring("value stored in the node")]
|
|
HRESULT nodeValue(
|
|
[in] VARIANT value);
|
|
|
|
// readonly attribute unsigned short nodeType;
|
|
[propget, id(DISPID_DOM_NODE_NODETYPE),
|
|
helpstring("the node's type")]
|
|
HRESULT nodeType(
|
|
[out, retval] DOMNodeType * type);
|
|
|
|
// readonly attribute Node parentNode;
|
|
[propget, id(DISPID_DOM_NODE_PARENTNODE),
|
|
helpstring("parent of the node")]
|
|
HRESULT parentNode(
|
|
[out, retval] IXMLDOMNode ** parent);
|
|
|
|
// readonly attribute NodeList childNodes;
|
|
[propget, id(DISPID_DOM_NODE_CHILDNODES),
|
|
helpstring("the collection of the node's children")]
|
|
HRESULT childNodes(
|
|
[out, retval] IXMLDOMNodeList ** childList);
|
|
|
|
// readonly attribute Node firstChild;
|
|
[propget,id(DISPID_DOM_NODE_FIRSTCHILD),
|
|
helpstring("first child of the node")]
|
|
HRESULT firstChild(
|
|
[out, retval] IXMLDOMNode ** firstChild);
|
|
|
|
// readonly attribute Node lastChild;
|
|
[propget,id(DISPID_DOM_NODE_LASTCHILD),
|
|
helpstring("first child of the node")]
|
|
HRESULT lastChild(
|
|
[out, retval] IXMLDOMNode ** lastChild);
|
|
|
|
// readonly attribute Node previousSibling;
|
|
[propget,id(DISPID_DOM_NODE_PREVIOUSSIBLING),
|
|
helpstring("left sibling of the node")]
|
|
HRESULT previousSibling(
|
|
[out, retval] IXMLDOMNode ** previousSibling);
|
|
|
|
// readonly attribute Node nextSibling;
|
|
[propget,id(DISPID_DOM_NODE_NEXTSIBLING),
|
|
helpstring("right sibling of the node")]
|
|
HRESULT nextSibling(
|
|
[out, retval] IXMLDOMNode ** nextSibling);
|
|
|
|
// readonly attribute NamedNodeMap attributes;
|
|
[propget, id(DISPID_DOM_NODE_ATTRIBUTES),
|
|
helpstring("the collection of the node's attributes")]
|
|
HRESULT attributes(
|
|
[out, retval] IXMLDOMNamedNodeMap ** attributeMap);
|
|
|
|
|
|
// Node insertBefore(in Node newChild,
|
|
// in Node refChild)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_NODE_INSERTBEFORE),
|
|
helpstring("insert a child node")]
|
|
HRESULT insertBefore(
|
|
[in] IXMLDOMNode * newChild,
|
|
[in] VARIANT refChild,
|
|
[out, retval] IXMLDOMNode ** outNewChild);
|
|
|
|
// Node replaceChild(in Node newChild,
|
|
// in Node oldChild)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_NODE_REPLACECHILD),
|
|
helpstring("replace a child node")]
|
|
HRESULT replaceChild(
|
|
[in] IXMLDOMNode * newChild,
|
|
[in] IXMLDOMNode * oldChild,
|
|
[out, retval] IXMLDOMNode ** outOldChild);
|
|
|
|
// Node removeChild(in Node childNode)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_NODE_REMOVECHILD),
|
|
helpstring("remove a child node")]
|
|
HRESULT removeChild(
|
|
[in] IXMLDOMNode * childNode,
|
|
[out, retval] IXMLDOMNode ** oldChild);
|
|
|
|
// Node appendChild(in Node newChild);
|
|
[id(DISPID_DOM_NODE_APPENDCHILD),
|
|
helpstring("append a child node")]
|
|
HRESULT appendChild(
|
|
[in] IXMLDOMNode * newChild,
|
|
[out, retval] IXMLDOMNode ** outNewChild);
|
|
|
|
// boolean hasChildNodes();
|
|
[id(DISPID_DOM_NODE_HASCHILDNODES),
|
|
helpstring("")]
|
|
HRESULT hasChildNodes(
|
|
[out, retval] VARIANT_BOOL * hasChild);
|
|
|
|
// readonly attribute Node ownerDocument;
|
|
[propget, id(DISPID_DOM_NODE_OWNERDOC),
|
|
helpstring("document that contains the node")]
|
|
HRESULT ownerDocument(
|
|
[out, retval] IXMLDOMDocument ** DOMDocument);
|
|
|
|
// Node cloneNode(in boolean deep);
|
|
[id(DISPID_DOM_NODE_CLONENODE),
|
|
helpstring("")]
|
|
HRESULT cloneNode(
|
|
[in] VARIANT_BOOL deep,
|
|
[out, retval] IXMLDOMNode ** cloneRoot);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_STRINGTYPE),
|
|
helpstring("the type of node in string form")]
|
|
HRESULT nodeTypeString(
|
|
[retval, out] BSTR * nodeType);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_TEXT),
|
|
helpstring("text content of the node and subtree")]
|
|
HRESULT text(
|
|
[retval, out] BSTR * text);
|
|
|
|
[propput, id(DISPID_XMLDOM_NODE_TEXT),
|
|
helpstring("text content of the node and subtree")]
|
|
HRESULT text(
|
|
[in] BSTR text);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_SPECIFIED),
|
|
helpstring("indicates whether node is a default value")]
|
|
HRESULT specified(
|
|
[out, retval] VARIANT_BOOL * isSpecified);
|
|
|
|
// DTD Navigation.
|
|
[propget, id(DISPID_XMLDOM_NODE_DEFINITION),
|
|
helpstring("pointer to the definition of the node in the DTD or schema")]
|
|
HRESULT definition(
|
|
[retval,out] IXMLDOMNode ** definitionNode);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE),
|
|
helpstring("get the strongly typed value of the node")]
|
|
HRESULT nodeTypedValue(
|
|
[retval, out] VARIANT * typedValue);
|
|
|
|
[propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE),
|
|
helpstring("get the strongly typed value of the node")]
|
|
HRESULT nodeTypedValue(
|
|
[in] VARIANT typedValue);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_DATATYPE),
|
|
helpstring("the data type of the node")]
|
|
HRESULT dataType(
|
|
[retval, out] VARIANT * dataTypeName); // BSTR or VT_NULL
|
|
|
|
[propput, id(DISPID_XMLDOM_NODE_DATATYPE),
|
|
helpstring("the data type of the node")]
|
|
HRESULT dataType(
|
|
[in] BSTR dataTypeName);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_XML),
|
|
helpstring("return the XML source for the node and each of its descendants")]
|
|
HRESULT xml(
|
|
[retval, out] BSTR * xmlString);
|
|
|
|
[id(DISPID_XMLDOM_NODE_TRANSFORMNODE),
|
|
helpstring("apply the stylesheet to the subtree")]
|
|
HRESULT transformNode(
|
|
[in] IXMLDOMNode * stylesheet,
|
|
[retval, out] BSTR * xmlString);
|
|
|
|
[id(DISPID_XMLDOM_NODE_SELECTNODES),
|
|
helpstring("execute query on the subtree")]
|
|
HRESULT selectNodes(
|
|
[in] BSTR queryString,
|
|
[retval, out] IXMLDOMNodeList** resultList);
|
|
|
|
[id(DISPID_XMLDOM_NODE_SELECTSINGLENODE),
|
|
helpstring("execute query on the subtree")]
|
|
HRESULT selectSingleNode(
|
|
[in] BSTR queryString,
|
|
[retval, out] IXMLDOMNode** resultNode);
|
|
|
|
[propget,id(DISPID_XMLDOM_NODE_PARSED),
|
|
helpstring("has sub-tree been completely parsed")]
|
|
HRESULT parsed(
|
|
[retval, out] VARIANT_BOOL * isParsed);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_NAMESPACE),
|
|
helpstring("the URI for the namespace applying to the node")]
|
|
HRESULT namespaceURI(
|
|
[retval, out] BSTR * namespaceURI);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_PREFIX),
|
|
helpstring("the prefix for the namespace applying to the node")]
|
|
HRESULT prefix(
|
|
[retval, out] BSTR * prefixString);
|
|
|
|
[propget, id(DISPID_XMLDOM_NODE_BASENAME),
|
|
helpstring("the base name of the node (nodename with the prefix stripped off)")]
|
|
HRESULT baseName(
|
|
[retval, out] BSTR * nameString);
|
|
|
|
[id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT),
|
|
helpstring("apply the stylesheet to the subtree, returning the result through a document or a stream")]
|
|
HRESULT transformNodeToObject(
|
|
[in] IXMLDOMNode * stylesheet,
|
|
[in] VARIANT outputObject);
|
|
|
|
};
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF81-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMDocument
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMDocument : IXMLDOMNode
|
|
{
|
|
// readonly attribute DocumentType doctype;
|
|
[propget, id(DISPID_DOM_DOCUMENT_DOCTYPE),
|
|
helpstring("node corresponding to the DOCTYPE")]
|
|
HRESULT doctype(
|
|
[out, retval] IXMLDOMDocumentType ** documentType);
|
|
|
|
// readonly attribute DOMImplementation implementation;
|
|
[propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION),
|
|
helpstring("info on this DOM implementation")]
|
|
HRESULT implementation(
|
|
[out, retval] IXMLDOMImplementation ** impl);
|
|
|
|
// attribute Element documentElement;
|
|
[propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT),
|
|
helpstring("the root of the tree")]
|
|
HRESULT documentElement(
|
|
[out, retval] IXMLDOMElement ** DOMElement);
|
|
|
|
[propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT),
|
|
helpstring("the root of the tree")]
|
|
HRESULT documentElement(
|
|
[in] IXMLDOMElement * DOMElement);
|
|
|
|
// Element createElement(in wstring tagName);
|
|
[id(DISPID_DOM_DOCUMENT_CREATEELEMENT),
|
|
helpstring("create an Element node")]
|
|
HRESULT createElement(
|
|
[in] BSTR tagName,
|
|
[out, retval] IXMLDOMElement ** element);
|
|
|
|
// DocumentFragment createDocumentFragment();
|
|
[id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT),
|
|
helpstring("create a DocumentFragment node")]
|
|
HRESULT createDocumentFragment(
|
|
[out, retval] IXMLDOMDocumentFragment ** docFrag );
|
|
|
|
// Text createTextNode(in wstring data);
|
|
[id(DISPID_DOM_DOCUMENT_CREATETEXTNODE),
|
|
helpstring("create a text node")]
|
|
HRESULT createTextNode(
|
|
[in] BSTR data,
|
|
[out, retval] IXMLDOMText ** text);
|
|
|
|
// Comment createComment(in wstring data);
|
|
[id(DISPID_DOM_DOCUMENT_CREATECOMMENT),
|
|
helpstring("create a comment node")]
|
|
HRESULT createComment(
|
|
[in] BSTR data,
|
|
[out, retval] IXMLDOMComment ** comment);
|
|
|
|
// CDATASection createCDATASection(in wstring data);
|
|
[id(DISPID_DOM_DOCUMENT_CREATECDATASECTION),
|
|
helpstring("create a CDATA section node")]
|
|
HRESULT createCDATASection(
|
|
[in] BSTR data,
|
|
[out, retval] IXMLDOMCDATASection ** cdata);
|
|
|
|
// ProcessingInstruction createProcessingInstruction(in wstring target,
|
|
// in wstring data);
|
|
[id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION),
|
|
helpstring("create a processing instruction node")]
|
|
HRESULT createProcessingInstruction(
|
|
[in] BSTR target,
|
|
[in] BSTR data,
|
|
[out, retval] IXMLDOMProcessingInstruction ** pi);
|
|
|
|
// Attribute createAttribute(in wstring name);
|
|
[id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE),
|
|
helpstring("create an attribute node")]
|
|
HRESULT createAttribute(
|
|
[in] BSTR name,
|
|
[out, retval] IXMLDOMAttribute ** attribute);
|
|
|
|
// EntityReference createEntityReference(in wstring name);
|
|
[id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE),
|
|
helpstring("create an entity reference node")]
|
|
HRESULT createEntityReference(
|
|
[in] BSTR name,
|
|
[out, retval] IXMLDOMEntityReference ** entityRef);
|
|
|
|
// NodeList getElementsByTagName(in wstring tagname);
|
|
[id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME),
|
|
helpstring("build a list of elements by name")]
|
|
HRESULT getElementsByTagName(
|
|
[in] BSTR tagName,
|
|
[out, retval] IXMLDOMNodeList ** resultList);
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_CREATENODE),
|
|
helpstring("create a node of the specified node type and name")]
|
|
HRESULT createNode(
|
|
[in] VARIANT Type,
|
|
[in] BSTR name,
|
|
[in] BSTR namespaceURI,
|
|
[retval, out] IXMLDOMNode ** node);
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_NODEFROMID),
|
|
helpstring("retrieve node from it's ID")]
|
|
HRESULT nodeFromID(
|
|
[in] BSTR idString,
|
|
[retval, out] IXMLDOMNode ** node);
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_LOAD),
|
|
helpstring("load document from the specified XML source")]
|
|
HRESULT load(
|
|
[in] VARIANT xmlSource,
|
|
[out, retval] VARIANT_BOOL * isSuccessful);
|
|
|
|
[propget, id(DISPID_READYSTATE),
|
|
helpstring("get the state of the XML document")]
|
|
HRESULT readyState(
|
|
[retval, out] long * value);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR),
|
|
helpstring("get the last parser error")]
|
|
HRESULT parseError(
|
|
[retval, out] IXMLDOMParseError ** errorObj);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_URL),
|
|
helpstring("get the URL for the loaded XML document")]
|
|
HRESULT url(
|
|
[retval, out] BSTR * urlString);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC),
|
|
helpstring("flag for asynchronous download")]
|
|
HRESULT async(
|
|
[retval, out] VARIANT_BOOL * isAsync);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC),
|
|
helpstring("flag for asynchronous download")]
|
|
HRESULT async(
|
|
[in] VARIANT_BOOL isAsync);
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_ABORT),
|
|
helpstring("abort an asynchronous download")]
|
|
HRESULT abort();
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_LOADXML),
|
|
helpstring("load the document from a string")]
|
|
HRESULT loadXML(
|
|
[in] BSTR bstrXML,
|
|
[out, retval] VARIANT_BOOL * isSuccessful);
|
|
|
|
[id(DISPID_XMLDOM_DOCUMENT_SAVE),
|
|
helpstring("save the document to a specified desination")]
|
|
HRESULT save(
|
|
[in] VARIANT desination);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE),
|
|
helpstring("indicates whether the parser performs validation")]
|
|
HRESULT validateOnParse(
|
|
[retval, out] VARIANT_BOOL * isValidating);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE),
|
|
helpstring("indicates whether the parser performs validation")]
|
|
HRESULT validateOnParse(
|
|
[in] VARIANT_BOOL isValidating);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE),
|
|
helpstring("indicates whether the parser resolves references to external DTD/Entities/Schema")]
|
|
HRESULT resolveExternals(
|
|
[retval,out] VARIANT_BOOL * isResolving);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE),
|
|
helpstring("indicates whether the parser resolves references to external DTD/Entities/Schema")]
|
|
HRESULT resolveExternals(
|
|
[in] VARIANT_BOOL isResolving);
|
|
|
|
[propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE),
|
|
helpstring("indicates whether the parser preserves whitespace")]
|
|
HRESULT preserveWhiteSpace(
|
|
[retval,out] VARIANT_BOOL * isPreserving);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE),
|
|
helpstring("indicates whether the parser preserves whitespace")]
|
|
HRESULT preserveWhiteSpace(
|
|
[in] VARIANT_BOOL isPreserving);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE),
|
|
helpstring("register a readystatechange event handler")]
|
|
HRESULT onreadystatechange(
|
|
[in] VARIANT readystatechangeSink);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE),
|
|
helpstring("register an ondataavailable event handler")]
|
|
HRESULT ondataavailable(
|
|
[in] VARIANT ondataavailableSink);
|
|
|
|
[propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE),
|
|
helpstring("register an ontransformnode event handler")]
|
|
HRESULT ontransformnode(
|
|
[in] VARIANT ontransformnodeSink);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF82-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNodeList
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMNodeList : IDispatch
|
|
{
|
|
// Node item(in unsigned long index);
|
|
[propget, id(DISPID_VALUE),
|
|
helpstring("collection of nodes")]
|
|
HRESULT item(
|
|
[in] long index,
|
|
[out, retval] IXMLDOMNode ** listItem);
|
|
|
|
// readonly attribute unsigned long length;
|
|
[propget, id(DISPID_DOM_NODELIST_LENGTH),
|
|
helpstring("number of nodes in the collection")]
|
|
HRESULT length(
|
|
[out, retval] long * listLength);
|
|
|
|
[id(DISPID_XMLDOM_NODELIST_NEXTNODE),
|
|
helpstring("get next node from iterator")]
|
|
HRESULT nextNode(
|
|
[out, retval] IXMLDOMNode ** nextItem);
|
|
|
|
[id(DISPID_XMLDOM_NODELIST_RESET),
|
|
helpstring("reset the position of iterator")]
|
|
HRESULT reset();
|
|
|
|
[propget, restricted, hidden,
|
|
id(DISPID_NEWENUM)]
|
|
HRESULT _newEnum(
|
|
[retval, out] IUnknown ** ppUnk);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF83-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNamedNodeMap
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMNamedNodeMap : IDispatch
|
|
{
|
|
// Node getNamedItem(in wstring name);
|
|
[id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM),
|
|
helpstring("lookup item by name")]
|
|
HRESULT getNamedItem(
|
|
[in] BSTR name,
|
|
[out, retval] IXMLDOMNode ** namedItem);
|
|
|
|
// void setNamedItem(in Node arg);
|
|
[id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM),
|
|
helpstring("set item by name")]
|
|
HRESULT setNamedItem(
|
|
[in] IXMLDOMNode * newItem,
|
|
[out, retval] IXMLDOMNode ** nameItem);
|
|
|
|
// Node removeNamedItem(in wstring name);
|
|
[id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM),
|
|
helpstring("remove item by name")]
|
|
HRESULT removeNamedItem(
|
|
[in] BSTR name,
|
|
[out, retval] IXMLDOMNode ** namedItem);
|
|
|
|
// Node item(in unsigned long index);
|
|
[propget, id(DISPID_VALUE),
|
|
helpstring("collection of nodes")]
|
|
HRESULT item(
|
|
[in] long index,
|
|
[out, retval] IXMLDOMNode ** listItem);
|
|
|
|
// readonly attribute unsigned long length;
|
|
[propget, id(DISPID_DOM_NODELIST_LENGTH),
|
|
helpstring("number of nodes in the collection")]
|
|
HRESULT length(
|
|
[out, retval] long * listLength);
|
|
|
|
// Node getQualifiedItem(in wstring name,in Node namespace);
|
|
[id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM),
|
|
helpstring("lookup the item by name and namespace")]
|
|
HRESULT getQualifiedItem(
|
|
[in] BSTR baseName,
|
|
[in] BSTR namespaceURI,
|
|
[out, retval] IXMLDOMNode ** qualifiedItem);
|
|
|
|
// Node removeQualifiedItem(in wstring name,in Node namespace);
|
|
[id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM),
|
|
helpstring("remove the item by name and namespace")]
|
|
HRESULT removeQualifiedItem(
|
|
[in] BSTR baseName,
|
|
[in] BSTR namespaceURI,
|
|
[out, retval] IXMLDOMNode ** qualifiedItem);
|
|
|
|
[id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE),
|
|
helpstring("get next node from iterator")]
|
|
HRESULT nextNode(
|
|
[out, retval] IXMLDOMNode ** nextItem);
|
|
|
|
[id(DISPID_XMLDOM_NAMEDNODEMAP_RESET),
|
|
helpstring("reset the position of iterator")]
|
|
HRESULT reset();
|
|
|
|
[propget, restricted, hidden,
|
|
id(DISPID_NEWENUM)]
|
|
HRESULT _newEnum(
|
|
[retval, out] IUnknown ** ppUnk);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(3efaa413-272f-11d2-836f-0000f87a7782), // IID_IXMLDOMDocumentFragment
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMDocumentFragment : IXMLDOMNode
|
|
{
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF84-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMCharacterData
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMCharacterData : IXMLDOMNode
|
|
{
|
|
// attribute wstring data;
|
|
[propget, id(DISPID_DOM_DATA_DATA),
|
|
helpstring("value of the node")]
|
|
HRESULT data(
|
|
[out, retval] BSTR * data);
|
|
|
|
[propput, id(DISPID_DOM_DATA_DATA),
|
|
helpstring("value of the node")]
|
|
HRESULT data(
|
|
[in] BSTR data);
|
|
|
|
// readonly attribute unsigned long length;
|
|
[propget, id(DISPID_DOM_DATA_LENGTH),
|
|
helpstring("number of characters in value")]
|
|
HRESULT length(
|
|
[out, retval] long * dataLength);
|
|
|
|
// wstring substring(in unsigned long offset,
|
|
// in unsigned long count)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_DATA_SUBSTRING),
|
|
helpstring("retrieve substring of value")]
|
|
HRESULT substringData(
|
|
[in] long offset,
|
|
[in] long count,
|
|
[out, retval] BSTR * data);
|
|
|
|
// void append(in wstring arg);
|
|
[id(DISPID_DOM_DATA_APPEND),
|
|
helpstring("append string to value")]
|
|
HRESULT appendData(
|
|
[in] BSTR data);
|
|
|
|
// void insert(in unsigned long offset,
|
|
// in wstring arg)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_DATA_INSERT),
|
|
helpstring("insert string into value")]
|
|
HRESULT insertData(
|
|
[in] long offset,
|
|
[in] BSTR data);
|
|
|
|
// void delete(in unsigned long offset,
|
|
// in unsigned long count)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_DATA_DELETE),
|
|
helpstring("delete string within the value")]
|
|
HRESULT deleteData(
|
|
[in] long offset,
|
|
[in] long count);
|
|
|
|
// void replace(in unsigned long offset,
|
|
// in unsigned long count,
|
|
// in wstring arg)
|
|
// raises(DOMException);
|
|
[id(DISPID_DOM_DATA_REPLACE),
|
|
helpstring("replace string within the value")]
|
|
HRESULT replaceData(
|
|
[in] long offset,
|
|
[in] long count,
|
|
[in] BSTR data);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF85-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMAttribute
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMAttribute : IXMLDOMNode
|
|
{
|
|
// wstring name;
|
|
[propget, id(DISPID_DOM_ATTRIBUTE_GETNAME),
|
|
helpstring("get name of the attribute")]
|
|
HRESULT name(
|
|
[out, retval] BSTR * attributeName);
|
|
|
|
// attribute boolean specified;
|
|
// ! This is defined as an extended property on IXMLDOMNode
|
|
|
|
// attribute wstring value;
|
|
[propget, id(DISPID_DOM_ATTRIBUTE_VALUE),
|
|
helpstring("string value of the attribute")]
|
|
HRESULT value(
|
|
[out, retval] VARIANT * attributeValue);
|
|
|
|
[propput, id(DISPID_DOM_ATTRIBUTE_VALUE),
|
|
helpstring("string value of the attribute")]
|
|
HRESULT value(
|
|
[in] VARIANT attributeValue);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF86-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMElement
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMElement : IXMLDOMNode
|
|
{
|
|
// readonly attribute wstring tagName;
|
|
[propget, id(DISPID_DOM_ELEMENT_GETTAGNAME),
|
|
helpstring("get the tagName of the element")]
|
|
HRESULT tagName(
|
|
[out, retval] BSTR * tagName);
|
|
|
|
// wstring getAttribute(in wstring name);
|
|
[id(DISPID_DOM_ELEMENT_GETATTRIBUTE),
|
|
helpstring("look up the string value of an attribute by name")]
|
|
HRESULT getAttribute(
|
|
[in] BSTR name,
|
|
[out, retval] VARIANT * value);
|
|
|
|
// void setAttribute(in string name,
|
|
// in string value);
|
|
[id(DISPID_DOM_ELEMENT_SETATTRIBUTE),
|
|
helpstring("set the string value of an attribute by name")]
|
|
HRESULT setAttribute(
|
|
[in] BSTR name,
|
|
[in] VARIANT value);
|
|
|
|
// void removeAttribute(in wstring name);
|
|
[id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE),
|
|
helpstring("remove an attribute by name")]
|
|
HRESULT removeAttribute(
|
|
[in] BSTR name);
|
|
|
|
// Attribute getAttributeNode(in wstring name);
|
|
[id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE),
|
|
helpstring("look up the attribute node by name")]
|
|
HRESULT getAttributeNode(
|
|
[in] BSTR name,
|
|
[out, retval] IXMLDOMAttribute ** attributeNode);
|
|
|
|
// void setAttributeNode(in Attribute newAttr);
|
|
[id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE),
|
|
helpstring("set the specified attribute on the element")]
|
|
HRESULT setAttributeNode(
|
|
[in] IXMLDOMAttribute * DOMAttribute,
|
|
[out, retval] IXMLDOMAttribute ** attributeNode);
|
|
|
|
// void removeAttributeNode(in Attribute oldAttr);
|
|
[id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE),
|
|
helpstring("remove the specified attribute")]
|
|
HRESULT removeAttributeNode(
|
|
[in] IXMLDOMAttribute * DOMAttribute,
|
|
[out, retval] IXMLDOMAttribute ** attributeNode);
|
|
|
|
// NodeList getElementsByTagName(in wstring tagname);
|
|
[id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME),
|
|
helpstring("build a list of elements by name")]
|
|
HRESULT getElementsByTagName(
|
|
[in] BSTR tagName,
|
|
[out, retval] IXMLDOMNodeList ** resultList);
|
|
|
|
// void normalize();
|
|
[id(DISPID_DOM_ELEMENT_NORMALIZE),
|
|
helpstring("collapse all adjacent text nodes in sub-tree")]
|
|
HRESULT normalize();
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF87-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMText
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMText : IXMLDOMCharacterData
|
|
{
|
|
// Text splitText(in unsigned long offset);
|
|
[id(DISPID_DOM_TEXT_SPLITTEXT),
|
|
helpstring("split the text node into two text nodes at the position specified")]
|
|
HRESULT splitText(
|
|
[in] long offset,
|
|
[out, retval] IXMLDOMText ** rightHandTextNode);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF88-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMComment
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMComment : IXMLDOMCharacterData
|
|
{
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF89-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMProcessingInstruction
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMProcessingInstruction : IXMLDOMNode
|
|
{
|
|
// read-only attribute wstring target;
|
|
[propget, id(DISPID_DOM_PI_TARGET),
|
|
helpstring("the target")]
|
|
HRESULT target(
|
|
[out, retval] BSTR * name);
|
|
|
|
// attribute wstring data;
|
|
[propget, id(DISPID_DOM_PI_DATA),
|
|
helpstring("the data")]
|
|
HRESULT data(
|
|
[out, retval] BSTR * value);
|
|
|
|
[propput, id(DISPID_DOM_PI_DATA),
|
|
helpstring("the data")]
|
|
HRESULT data(
|
|
[in] BSTR value);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF8A-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMCDATASection
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMCDATASection : IXMLDOMText
|
|
{
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF8B-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMDocumentType
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMDocumentType : IXMLDOMNode
|
|
{
|
|
// readonly attribute wstring name;
|
|
[propget, id(DISPID_DOM_DOCUMENTTYPE_NAME),
|
|
helpstring("name of the document type (root of the tree)")]
|
|
HRESULT name(
|
|
[out, retval] BSTR * rootName);
|
|
|
|
// readonly attribute NamedNodeMap entities;
|
|
[propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES),
|
|
helpstring("a list of entities in the document")]
|
|
HRESULT entities(
|
|
[out, retval] IXMLDOMNamedNodeMap ** entityMap);
|
|
|
|
// readonly attribute NamedNodeMap notations;
|
|
[propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS),
|
|
helpstring("a list of notations in the document")]
|
|
HRESULT notations(
|
|
[out, retval] IXMLDOMNamedNodeMap ** notationMap);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF8C-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMNotation
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMNotation : IXMLDOMNode
|
|
{
|
|
// attribute wstring publicId;
|
|
[propget, id(DISPID_DOM_NOTATION_PUBLICID),
|
|
helpstring("the public ID")]
|
|
HRESULT publicId(
|
|
[out, retval] VARIANT * publicID);
|
|
|
|
// attribute wstring systemId;
|
|
[propget, id(DISPID_DOM_NOTATION_SYSTEMID),
|
|
helpstring("the system ID")]
|
|
HRESULT systemId(
|
|
[out, retval] VARIANT * systemID);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF8D-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMEntity
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMEntity : IXMLDOMNode
|
|
{
|
|
// attribute wstring publicId;
|
|
[propget, id(DISPID_DOM_ENTITY_PUBLICID),
|
|
helpstring("the public ID")]
|
|
HRESULT publicId(
|
|
[out, retval] VARIANT * publicID);
|
|
|
|
// attribute wstring systemId;
|
|
[propget, id(DISPID_DOM_ENTITY_SYSTEMID),
|
|
helpstring("the system ID")]
|
|
HRESULT systemId(
|
|
[out, retval] VARIANT * systemID);
|
|
|
|
// attribute wstring notationName;
|
|
[propget, id(DISPID_DOM_ENTITY_NOTATIONNAME),
|
|
helpstring("the name of the notation")]
|
|
HRESULT notationName(
|
|
[out, retval] BSTR * name);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(2933BF8E-7B36-11d2-B20E-00C04F983E60), // IID_IXMLDOMEntityReference
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMEntityReference : IXMLDOMNode
|
|
{
|
|
};
|
|
|
|
[
|
|
local, object,
|
|
nonextensible,
|
|
pointer_default(unique),
|
|
odl,
|
|
oleautomation,
|
|
dual,
|
|
uuid(2933BF8F-7B36-11d2-B20E-00C04F983E60) // IID_IXMLDOMImplementation
|
|
]
|
|
interface IXMLDOMImplementation : IDispatch
|
|
{
|
|
// boolean hasFeature(in wstring feature,
|
|
// in wstring version);
|
|
[id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
|
|
HRESULT hasFeature(
|
|
[in] BSTR feature,
|
|
[in] BSTR version,
|
|
[out, retval] VARIANT_BOOL * hasFeature);
|
|
};
|
|
|
|
|
|
[
|
|
local, object,
|
|
uuid(3efaa425-272f-11d2-836f-0000f87a7782), // IID_IXTLRuntime
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
helpstring("XTL runtime object"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IXTLRuntime : IXMLDOMNode
|
|
{
|
|
[id(DISPID_XTLRUNTIME_UNIQUEID),
|
|
helpstring("")]
|
|
HRESULT uniqueID(
|
|
[in]IXMLDOMNode *pNode,
|
|
[out,retval]long *pID);
|
|
|
|
[id(DISPID_XTLRUNTIME_DEPTH),
|
|
helpstring("")]
|
|
HRESULT depth(
|
|
[in] IXMLDOMNode *pNode,
|
|
[out,retval]long * pDepth);
|
|
|
|
[id(DISPID_XTLRUNTIME_CHILDNUMBER),
|
|
helpstring("")]
|
|
HRESULT childNumber(
|
|
[in]IXMLDOMNode *pNode,
|
|
[out,retval] long *pNumber);
|
|
|
|
[id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER),
|
|
helpstring("")]
|
|
HRESULT ancestorChildNumber(
|
|
[in]BSTR bstrNodeName,
|
|
[in]IXMLDOMNode *pNode,
|
|
[out,retval]long *pNumber);
|
|
|
|
[id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER),
|
|
helpstring("")]
|
|
HRESULT absoluteChildNumber(
|
|
[in]IXMLDOMNode *pNode,
|
|
[out,retval]long *pNumber);
|
|
|
|
[id(DISPID_XTLRUNTIME_FORMATINDEX),
|
|
helpstring("")]
|
|
HRESULT formatIndex(
|
|
[in] long lIndex,
|
|
[in] BSTR bstrFormat,
|
|
[out, retval]BSTR *pbstrFormattedString);
|
|
|
|
[id(DISPID_XTLRUNTIME_FORMATNUMBER),
|
|
helpstring("")]
|
|
HRESULT formatNumber(
|
|
[in] double dblNumber,
|
|
[in] BSTR bstrFormat,
|
|
[out, retval]BSTR *pbstrFormattedString);
|
|
|
|
[id(DISPID_XTLRUNTIME_FORMATDATE),
|
|
helpstring("")]
|
|
HRESULT formatDate(
|
|
[in] VARIANT varDate,
|
|
[in] BSTR bstrFormat,
|
|
[in,optional] VARIANT varDestLocale,
|
|
[out, retval]BSTR *pbstrFormattedString);
|
|
|
|
[id(DISPID_XTLRUNTIME_FORMATTIME),
|
|
helpstring("")]
|
|
HRESULT formatTime(
|
|
[in] VARIANT varTime,
|
|
[in] BSTR bstrFormat,
|
|
[in,optional] VARIANT varDestLocale,
|
|
[out, retval]BSTR *pbstrFormattedString);
|
|
};
|
|
|
|
[
|
|
local, object,
|
|
uuid(3efaa426-272f-11d2-836f-0000f87a7782), // IID_IXMLDOMParseError
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
nonextensible,
|
|
helpstring("structure for reporting parser errors"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLDOMParseError : IDispatch
|
|
{
|
|
[propget, id(DISPID_VALUE),
|
|
helpstring("the error code")]
|
|
HRESULT errorCode(
|
|
[retval, out] long * errorCode);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_URL),
|
|
helpstring("the URL of the XML document containing the error")]
|
|
HRESULT url(
|
|
[retval, out] BSTR * urlString);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_REASON),
|
|
helpstring("the cause of the error")]
|
|
HRESULT reason(
|
|
[retval, out] BSTR * reasonString);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_SRCTEXT),
|
|
helpstring("the data where the error occurred")]
|
|
HRESULT srcText(
|
|
[retval, out] BSTR * sourceString);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_LINE),
|
|
helpstring("the line number in the XML document where the error occurred")]
|
|
HRESULT line(
|
|
[retval, out] long * lineNumber);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_LINEPOS),
|
|
helpstring("the character position in the line containing the error")]
|
|
HRESULT linepos(
|
|
[retval, out] long * linePosition);
|
|
|
|
[propget, id(DISPID_DOM_ERROR_FILEPOS),
|
|
helpstring("the absolute file position in the XML document containing the error")]
|
|
HRESULT filepos(
|
|
[retval, out] long * filePosition);
|
|
};
|
|
|
|
// DOM event interface
|
|
[
|
|
hidden,
|
|
uuid(3efaa427-272f-11d2-836f-0000f87a7782), // IID_IXMLDOMEvent
|
|
]
|
|
dispinterface XMLDOMDocumentEvents
|
|
{
|
|
properties:
|
|
methods:
|
|
[id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
|
|
HRESULT ondataavailable(void);
|
|
|
|
[id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
|
|
HRESULT onreadystatechange(void);
|
|
};
|
|
|
|
|
|
// DOM Document rental-model co-Class
|
|
[
|
|
uuid(2933BF90-7B36-11d2-B20E-00C04F983E60), // CLSID_DOMDocument
|
|
helpstring("W3C-DOM XML Document")
|
|
]
|
|
coclass DOMDocument
|
|
{
|
|
[default] interface IXMLDOMDocument;
|
|
[default, source] dispinterface XMLDOMDocumentEvents;
|
|
};
|
|
|
|
// DOM Document free-threaded co-Class
|
|
[
|
|
uuid(2933BF91-7B36-11d2-B20E-00C04F983E60), // CLSID_DOMDocument
|
|
helpstring("W3C-DOM XML Document (Apartment)")
|
|
]
|
|
coclass DOMFreeThreadedDocument
|
|
{
|
|
[default] interface IXMLDOMDocument;
|
|
[default, source] dispinterface XMLDOMDocumentEvents;
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8),
|
|
odl,
|
|
dual,
|
|
oleautomation,
|
|
helpstring("IXMLHttpRequest Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface IXMLHttpRequest : IDispatch
|
|
{
|
|
[id(1), helpstring("Open HTTP connection")] HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in,optional] VARIANT varAsync, [in,optional] VARIANT bstrUser, [in,optional] VARIANT bstrPassword);
|
|
[id(2), helpstring("Add HTTP request header")] HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
|
|
[id(3), helpstring("Get HTTP response header")] HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * pbstrValue);
|
|
[id(4), helpstring("Get all HTTP response headers")] HRESULT getAllResponseHeaders([out, retval] BSTR * pbstrHeaders);
|
|
[id(5), helpstring("Send HTTP request")] HRESULT send([in, optional] VARIANT varBody);
|
|
[id(6), helpstring("Abort HTTP request")] HRESULT abort();
|
|
[propget, id(7), helpstring("Get HTTP status code")] HRESULT status([out, retval] long * plStatus);
|
|
[propget, id(8), helpstring("Get HTTP status text")] HRESULT statusText([out, retval] BSTR * pbstrStatus);
|
|
[propget, id(9), helpstring("Get response body")] HRESULT responseXML([out, retval] IDispatch ** ppBody);
|
|
[propget, id(10), helpstring("Get response body")] HRESULT responseText([out, retval] BSTR * pbstrBody);
|
|
[propget, id(11), helpstring("Get response body")] HRESULT responseBody([out, retval] VARIANT * pvarBody);
|
|
[propget, id(12), helpstring("Get response body")] HRESULT responseStream([out, retval] VARIANT * pvarBody);
|
|
[propget, id(13), helpstring("Get ready state")] HRESULT readyState([out, retval] long * plState);
|
|
[propput, id(14), helpstring("Register a complete event handler")] HRESULT onreadystatechange([in] IDispatch * pReadyStateSink);
|
|
};
|
|
|
|
// XML HTTP Request Class
|
|
[
|
|
uuid(ED8C108E-4349-11D2-91A4-00C04F7969E8), // CLSID_XMLHTTPRequest
|
|
helpstring("XML HTTP Request class.")
|
|
]
|
|
coclass XMLHTTPRequest
|
|
{
|
|
[default] interface IXMLHttpRequest;
|
|
};
|