zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

msxml.h (436210B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/msxml.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __msxml_h__
     17 #define __msxml_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IXMLDOMNode_FWD_DEFINED__
     22 #define __IXMLDOMNode_FWD_DEFINED__
     23 typedef interface IXMLDOMNode IXMLDOMNode;
     24 #ifdef __cplusplus
     25 interface IXMLDOMNode;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IXMLDOMDocument_FWD_DEFINED__
     30 #define __IXMLDOMDocument_FWD_DEFINED__
     31 typedef interface IXMLDOMDocument IXMLDOMDocument;
     32 #ifdef __cplusplus
     33 interface IXMLDOMDocument;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IXMLDOMNodeList_FWD_DEFINED__
     38 #define __IXMLDOMNodeList_FWD_DEFINED__
     39 typedef interface IXMLDOMNodeList IXMLDOMNodeList;
     40 #ifdef __cplusplus
     41 interface IXMLDOMNodeList;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IXMLDOMNamedNodeMap_FWD_DEFINED__
     46 #define __IXMLDOMNamedNodeMap_FWD_DEFINED__
     47 typedef interface IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap;
     48 #ifdef __cplusplus
     49 interface IXMLDOMNamedNodeMap;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IXMLDOMDocumentFragment_FWD_DEFINED__
     54 #define __IXMLDOMDocumentFragment_FWD_DEFINED__
     55 typedef interface IXMLDOMDocumentFragment IXMLDOMDocumentFragment;
     56 #ifdef __cplusplus
     57 interface IXMLDOMDocumentFragment;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IXMLDOMCharacterData_FWD_DEFINED__
     62 #define __IXMLDOMCharacterData_FWD_DEFINED__
     63 typedef interface IXMLDOMCharacterData IXMLDOMCharacterData;
     64 #ifdef __cplusplus
     65 interface IXMLDOMCharacterData;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IXMLDOMAttribute_FWD_DEFINED__
     70 #define __IXMLDOMAttribute_FWD_DEFINED__
     71 typedef interface IXMLDOMAttribute IXMLDOMAttribute;
     72 #ifdef __cplusplus
     73 interface IXMLDOMAttribute;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IXMLDOMElement_FWD_DEFINED__
     78 #define __IXMLDOMElement_FWD_DEFINED__
     79 typedef interface IXMLDOMElement IXMLDOMElement;
     80 #ifdef __cplusplus
     81 interface IXMLDOMElement;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __IXMLDOMText_FWD_DEFINED__
     86 #define __IXMLDOMText_FWD_DEFINED__
     87 typedef interface IXMLDOMText IXMLDOMText;
     88 #ifdef __cplusplus
     89 interface IXMLDOMText;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __IXMLDOMComment_FWD_DEFINED__
     94 #define __IXMLDOMComment_FWD_DEFINED__
     95 typedef interface IXMLDOMComment IXMLDOMComment;
     96 #ifdef __cplusplus
     97 interface IXMLDOMComment;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __IXMLDOMProcessingInstruction_FWD_DEFINED__
    102 #define __IXMLDOMProcessingInstruction_FWD_DEFINED__
    103 typedef interface IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction;
    104 #ifdef __cplusplus
    105 interface IXMLDOMProcessingInstruction;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __IXMLDOMCDATASection_FWD_DEFINED__
    110 #define __IXMLDOMCDATASection_FWD_DEFINED__
    111 typedef interface IXMLDOMCDATASection IXMLDOMCDATASection;
    112 #ifdef __cplusplus
    113 interface IXMLDOMCDATASection;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 #ifndef __IXMLDOMDocumentType_FWD_DEFINED__
    118 #define __IXMLDOMDocumentType_FWD_DEFINED__
    119 typedef interface IXMLDOMDocumentType IXMLDOMDocumentType;
    120 #ifdef __cplusplus
    121 interface IXMLDOMDocumentType;
    122 #endif /* __cplusplus */
    123 #endif
    124 
    125 #ifndef __IXMLDOMNotation_FWD_DEFINED__
    126 #define __IXMLDOMNotation_FWD_DEFINED__
    127 typedef interface IXMLDOMNotation IXMLDOMNotation;
    128 #ifdef __cplusplus
    129 interface IXMLDOMNotation;
    130 #endif /* __cplusplus */
    131 #endif
    132 
    133 #ifndef __IXMLDOMEntity_FWD_DEFINED__
    134 #define __IXMLDOMEntity_FWD_DEFINED__
    135 typedef interface IXMLDOMEntity IXMLDOMEntity;
    136 #ifdef __cplusplus
    137 interface IXMLDOMEntity;
    138 #endif /* __cplusplus */
    139 #endif
    140 
    141 #ifndef __IXMLDOMEntityReference_FWD_DEFINED__
    142 #define __IXMLDOMEntityReference_FWD_DEFINED__
    143 typedef interface IXMLDOMEntityReference IXMLDOMEntityReference;
    144 #ifdef __cplusplus
    145 interface IXMLDOMEntityReference;
    146 #endif /* __cplusplus */
    147 #endif
    148 
    149 #ifndef __IXMLDOMImplementation_FWD_DEFINED__
    150 #define __IXMLDOMImplementation_FWD_DEFINED__
    151 typedef interface IXMLDOMImplementation IXMLDOMImplementation;
    152 #ifdef __cplusplus
    153 interface IXMLDOMImplementation;
    154 #endif /* __cplusplus */
    155 #endif
    156 
    157 #ifndef __IXMLDOMParseError_FWD_DEFINED__
    158 #define __IXMLDOMParseError_FWD_DEFINED__
    159 typedef interface IXMLDOMParseError IXMLDOMParseError;
    160 #ifdef __cplusplus
    161 interface IXMLDOMParseError;
    162 #endif /* __cplusplus */
    163 #endif
    164 
    165 #ifndef __XMLDOMDocumentEvents_FWD_DEFINED__
    166 #define __XMLDOMDocumentEvents_FWD_DEFINED__
    167 typedef interface XMLDOMDocumentEvents XMLDOMDocumentEvents;
    168 #ifdef __cplusplus
    169 interface XMLDOMDocumentEvents;
    170 #endif /* __cplusplus */
    171 #endif
    172 
    173 #ifndef __DOMDocument_FWD_DEFINED__
    174 #define __DOMDocument_FWD_DEFINED__
    175 #ifdef __cplusplus
    176 typedef class DOMDocument DOMDocument;
    177 #else
    178 typedef struct DOMDocument DOMDocument;
    179 #endif /* defined __cplusplus */
    180 #endif /* defined __DOMDocument_FWD_DEFINED__ */
    181 
    182 #ifndef __DOMFreeThreadedDocument_FWD_DEFINED__
    183 #define __DOMFreeThreadedDocument_FWD_DEFINED__
    184 #ifdef __cplusplus
    185 typedef class DOMFreeThreadedDocument DOMFreeThreadedDocument;
    186 #else
    187 typedef struct DOMFreeThreadedDocument DOMFreeThreadedDocument;
    188 #endif /* defined __cplusplus */
    189 #endif /* defined __DOMFreeThreadedDocument_FWD_DEFINED__ */
    190 
    191 #ifndef __IXMLHttpRequest_FWD_DEFINED__
    192 #define __IXMLHttpRequest_FWD_DEFINED__
    193 typedef interface IXMLHttpRequest IXMLHttpRequest;
    194 #ifdef __cplusplus
    195 interface IXMLHttpRequest;
    196 #endif /* __cplusplus */
    197 #endif
    198 
    199 #ifndef __XMLHTTPRequest_FWD_DEFINED__
    200 #define __XMLHTTPRequest_FWD_DEFINED__
    201 #ifdef __cplusplus
    202 typedef class XMLHTTPRequest XMLHTTPRequest;
    203 #else
    204 typedef struct XMLHTTPRequest XMLHTTPRequest;
    205 #endif /* defined __cplusplus */
    206 #endif /* defined __XMLHTTPRequest_FWD_DEFINED__ */
    207 
    208 #ifndef __IXMLDSOControl_FWD_DEFINED__
    209 #define __IXMLDSOControl_FWD_DEFINED__
    210 typedef interface IXMLDSOControl IXMLDSOControl;
    211 #ifdef __cplusplus
    212 interface IXMLDSOControl;
    213 #endif /* __cplusplus */
    214 #endif
    215 
    216 #ifndef __XMLDSOControl_FWD_DEFINED__
    217 #define __XMLDSOControl_FWD_DEFINED__
    218 #ifdef __cplusplus
    219 typedef class XMLDSOControl XMLDSOControl;
    220 #else
    221 typedef struct XMLDSOControl XMLDSOControl;
    222 #endif /* defined __cplusplus */
    223 #endif /* defined __XMLDSOControl_FWD_DEFINED__ */
    224 
    225 #ifndef __IXMLElementCollection_FWD_DEFINED__
    226 #define __IXMLElementCollection_FWD_DEFINED__
    227 typedef interface IXMLElementCollection IXMLElementCollection;
    228 #ifdef __cplusplus
    229 interface IXMLElementCollection;
    230 #endif /* __cplusplus */
    231 #endif
    232 
    233 #ifndef __IXMLElement_FWD_DEFINED__
    234 #define __IXMLElement_FWD_DEFINED__
    235 typedef interface IXMLElement IXMLElement;
    236 #ifdef __cplusplus
    237 interface IXMLElement;
    238 #endif /* __cplusplus */
    239 #endif
    240 
    241 #ifndef __IXMLDocument_FWD_DEFINED__
    242 #define __IXMLDocument_FWD_DEFINED__
    243 typedef interface IXMLDocument IXMLDocument;
    244 #ifdef __cplusplus
    245 interface IXMLDocument;
    246 #endif /* __cplusplus */
    247 #endif
    248 
    249 #ifndef __IXMLElement2_FWD_DEFINED__
    250 #define __IXMLElement2_FWD_DEFINED__
    251 typedef interface IXMLElement2 IXMLElement2;
    252 #ifdef __cplusplus
    253 interface IXMLElement2;
    254 #endif /* __cplusplus */
    255 #endif
    256 
    257 #ifndef __IXMLDocument2_FWD_DEFINED__
    258 #define __IXMLDocument2_FWD_DEFINED__
    259 typedef interface IXMLDocument2 IXMLDocument2;
    260 #ifdef __cplusplus
    261 interface IXMLDocument2;
    262 #endif /* __cplusplus */
    263 #endif
    264 
    265 #ifndef __IXMLAttribute_FWD_DEFINED__
    266 #define __IXMLAttribute_FWD_DEFINED__
    267 typedef interface IXMLAttribute IXMLAttribute;
    268 #ifdef __cplusplus
    269 interface IXMLAttribute;
    270 #endif /* __cplusplus */
    271 #endif
    272 
    273 #ifndef __IXMLError_FWD_DEFINED__
    274 #define __IXMLError_FWD_DEFINED__
    275 typedef interface IXMLError IXMLError;
    276 #ifdef __cplusplus
    277 interface IXMLError;
    278 #endif /* __cplusplus */
    279 #endif
    280 
    281 #ifndef __IXMLElementNotificationSink_FWD_DEFINED__
    282 #define __IXMLElementNotificationSink_FWD_DEFINED__
    283 typedef interface IXMLElementNotificationSink IXMLElementNotificationSink;
    284 #ifdef __cplusplus
    285 interface IXMLElementNotificationSink;
    286 #endif /* __cplusplus */
    287 #endif
    288 
    289 #ifndef __XMLDocument_FWD_DEFINED__
    290 #define __XMLDocument_FWD_DEFINED__
    291 #ifdef __cplusplus
    292 typedef class XMLDocument XMLDocument;
    293 #else
    294 typedef struct XMLDocument XMLDocument;
    295 #endif /* defined __cplusplus */
    296 #endif /* defined __XMLDocument_FWD_DEFINED__ */
    297 
    298 /* Headers for imported files */
    299 
    300 #include <unknwn.h>
    301 #include <wtypes.h>
    302 #include <objidl.h>
    303 #include <oaidl.h>
    304 
    305 #ifdef __cplusplus
    306 extern "C" {
    307 #endif
    308 
    309 #ifndef __MSXML_LIBRARY_DEFINED__
    310 #define __MSXML_LIBRARY_DEFINED__
    311 
    312 DEFINE_GUID(LIBID_MSXML, 0xd63e0ce2, 0xa0a2, 0x11d0, 0x9c,0x02, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
    313 
    314 #ifndef __IXMLDOMImplementation_FWD_DEFINED__
    315 #define __IXMLDOMImplementation_FWD_DEFINED__
    316 typedef interface IXMLDOMImplementation IXMLDOMImplementation;
    317 #ifdef __cplusplus
    318 interface IXMLDOMImplementation;
    319 #endif /* __cplusplus */
    320 #endif
    321 
    322 #ifndef __IXMLDOMNode_FWD_DEFINED__
    323 #define __IXMLDOMNode_FWD_DEFINED__
    324 typedef interface IXMLDOMNode IXMLDOMNode;
    325 #ifdef __cplusplus
    326 interface IXMLDOMNode;
    327 #endif /* __cplusplus */
    328 #endif
    329 
    330 #ifndef __IXMLDOMDocumentFragment_FWD_DEFINED__
    331 #define __IXMLDOMDocumentFragment_FWD_DEFINED__
    332 typedef interface IXMLDOMDocumentFragment IXMLDOMDocumentFragment;
    333 #ifdef __cplusplus
    334 interface IXMLDOMDocumentFragment;
    335 #endif /* __cplusplus */
    336 #endif
    337 
    338 #ifndef __IXMLDOMDocument_FWD_DEFINED__
    339 #define __IXMLDOMDocument_FWD_DEFINED__
    340 typedef interface IXMLDOMDocument IXMLDOMDocument;
    341 #ifdef __cplusplus
    342 interface IXMLDOMDocument;
    343 #endif /* __cplusplus */
    344 #endif
    345 
    346 #ifndef __IXMLDOMNodeList_FWD_DEFINED__
    347 #define __IXMLDOMNodeList_FWD_DEFINED__
    348 typedef interface IXMLDOMNodeList IXMLDOMNodeList;
    349 #ifdef __cplusplus
    350 interface IXMLDOMNodeList;
    351 #endif /* __cplusplus */
    352 #endif
    353 
    354 #ifndef __IXMLDOMNamedNodeMap_FWD_DEFINED__
    355 #define __IXMLDOMNamedNodeMap_FWD_DEFINED__
    356 typedef interface IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap;
    357 #ifdef __cplusplus
    358 interface IXMLDOMNamedNodeMap;
    359 #endif /* __cplusplus */
    360 #endif
    361 
    362 #ifndef __IXMLDOMCharacterData_FWD_DEFINED__
    363 #define __IXMLDOMCharacterData_FWD_DEFINED__
    364 typedef interface IXMLDOMCharacterData IXMLDOMCharacterData;
    365 #ifdef __cplusplus
    366 interface IXMLDOMCharacterData;
    367 #endif /* __cplusplus */
    368 #endif
    369 
    370 #ifndef __IXMLDOMAttribute_FWD_DEFINED__
    371 #define __IXMLDOMAttribute_FWD_DEFINED__
    372 typedef interface IXMLDOMAttribute IXMLDOMAttribute;
    373 #ifdef __cplusplus
    374 interface IXMLDOMAttribute;
    375 #endif /* __cplusplus */
    376 #endif
    377 
    378 #ifndef __IXMLDOMElement_FWD_DEFINED__
    379 #define __IXMLDOMElement_FWD_DEFINED__
    380 typedef interface IXMLDOMElement IXMLDOMElement;
    381 #ifdef __cplusplus
    382 interface IXMLDOMElement;
    383 #endif /* __cplusplus */
    384 #endif
    385 
    386 #ifndef __IXMLDOMText_FWD_DEFINED__
    387 #define __IXMLDOMText_FWD_DEFINED__
    388 typedef interface IXMLDOMText IXMLDOMText;
    389 #ifdef __cplusplus
    390 interface IXMLDOMText;
    391 #endif /* __cplusplus */
    392 #endif
    393 
    394 #ifndef __IXMLDOMComment_FWD_DEFINED__
    395 #define __IXMLDOMComment_FWD_DEFINED__
    396 typedef interface IXMLDOMComment IXMLDOMComment;
    397 #ifdef __cplusplus
    398 interface IXMLDOMComment;
    399 #endif /* __cplusplus */
    400 #endif
    401 
    402 #ifndef __IXMLDOMProcessingInstruction_FWD_DEFINED__
    403 #define __IXMLDOMProcessingInstruction_FWD_DEFINED__
    404 typedef interface IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction;
    405 #ifdef __cplusplus
    406 interface IXMLDOMProcessingInstruction;
    407 #endif /* __cplusplus */
    408 #endif
    409 
    410 #ifndef __IXMLDOMCDATASection_FWD_DEFINED__
    411 #define __IXMLDOMCDATASection_FWD_DEFINED__
    412 typedef interface IXMLDOMCDATASection IXMLDOMCDATASection;
    413 #ifdef __cplusplus
    414 interface IXMLDOMCDATASection;
    415 #endif /* __cplusplus */
    416 #endif
    417 
    418 #ifndef __IXMLDOMDocumentType_FWD_DEFINED__
    419 #define __IXMLDOMDocumentType_FWD_DEFINED__
    420 typedef interface IXMLDOMDocumentType IXMLDOMDocumentType;
    421 #ifdef __cplusplus
    422 interface IXMLDOMDocumentType;
    423 #endif /* __cplusplus */
    424 #endif
    425 
    426 #ifndef __IXMLDOMNotation_FWD_DEFINED__
    427 #define __IXMLDOMNotation_FWD_DEFINED__
    428 typedef interface IXMLDOMNotation IXMLDOMNotation;
    429 #ifdef __cplusplus
    430 interface IXMLDOMNotation;
    431 #endif /* __cplusplus */
    432 #endif
    433 
    434 #ifndef __IXMLDOMEntity_FWD_DEFINED__
    435 #define __IXMLDOMEntity_FWD_DEFINED__
    436 typedef interface IXMLDOMEntity IXMLDOMEntity;
    437 #ifdef __cplusplus
    438 interface IXMLDOMEntity;
    439 #endif /* __cplusplus */
    440 #endif
    441 
    442 #ifndef __IXMLDOMEntityReference_FWD_DEFINED__
    443 #define __IXMLDOMEntityReference_FWD_DEFINED__
    444 typedef interface IXMLDOMEntityReference IXMLDOMEntityReference;
    445 #ifdef __cplusplus
    446 interface IXMLDOMEntityReference;
    447 #endif /* __cplusplus */
    448 #endif
    449 
    450 #ifndef __IXMLDOMParseError_FWD_DEFINED__
    451 #define __IXMLDOMParseError_FWD_DEFINED__
    452 typedef interface IXMLDOMParseError IXMLDOMParseError;
    453 #ifdef __cplusplus
    454 interface IXMLDOMParseError;
    455 #endif /* __cplusplus */
    456 #endif
    457 
    458 #ifndef __MSXML_DOMNODETYPE_DEFINED
    459 #define __MSXML_DOMNODETYPE_DEFINED
    460 typedef enum tagDOMNodeType {
    461     NODE_INVALID = 0,
    462     NODE_ELEMENT = 1,
    463     NODE_ATTRIBUTE = 2,
    464     NODE_TEXT = 3,
    465     NODE_CDATA_SECTION = 4,
    466     NODE_ENTITY_REFERENCE = 5,
    467     NODE_ENTITY = 6,
    468     NODE_PROCESSING_INSTRUCTION = 7,
    469     NODE_COMMENT = 8,
    470     NODE_DOCUMENT = 9,
    471     NODE_DOCUMENT_TYPE = 10,
    472     NODE_DOCUMENT_FRAGMENT = 11,
    473     NODE_NOTATION = 12
    474 } DOMNodeType;
    475 #endif
    476 /*****************************************************************************
    477  * IXMLDOMNode interface
    478  */
    479 #ifndef __IXMLDOMNode_INTERFACE_DEFINED__
    480 #define __IXMLDOMNode_INTERFACE_DEFINED__
    481 
    482 DEFINE_GUID(IID_IXMLDOMNode, 0x2933bf80, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
    483 #if defined(__cplusplus) && !defined(CINTERFACE)
    484 MIDL_INTERFACE("2933bf80-7b36-11d2-b20e-00c04f983e60")
    485 IXMLDOMNode : public IDispatch
    486 {
    487     virtual HRESULT STDMETHODCALLTYPE get_nodeName(
    488         BSTR *name) = 0;
    489 
    490     virtual HRESULT STDMETHODCALLTYPE get_nodeValue(
    491         VARIANT *value) = 0;
    492 
    493     virtual HRESULT STDMETHODCALLTYPE put_nodeValue(
    494         VARIANT value) = 0;
    495 
    496     virtual HRESULT STDMETHODCALLTYPE get_nodeType(
    497         DOMNodeType *type) = 0;
    498 
    499     virtual HRESULT STDMETHODCALLTYPE get_parentNode(
    500         IXMLDOMNode **parent) = 0;
    501 
    502     virtual HRESULT STDMETHODCALLTYPE get_childNodes(
    503         IXMLDOMNodeList **childList) = 0;
    504 
    505     virtual HRESULT STDMETHODCALLTYPE get_firstChild(
    506         IXMLDOMNode **firstChild) = 0;
    507 
    508     virtual HRESULT STDMETHODCALLTYPE get_lastChild(
    509         IXMLDOMNode **lastChild) = 0;
    510 
    511     virtual HRESULT STDMETHODCALLTYPE get_previousSibling(
    512         IXMLDOMNode **previousSibling) = 0;
    513 
    514     virtual HRESULT STDMETHODCALLTYPE get_nextSibling(
    515         IXMLDOMNode **nextSibling) = 0;
    516 
    517     virtual HRESULT STDMETHODCALLTYPE get_attributes(
    518         IXMLDOMNamedNodeMap **attributeMap) = 0;
    519 
    520     virtual HRESULT STDMETHODCALLTYPE insertBefore(
    521         IXMLDOMNode *newChild,
    522         VARIANT refChild,
    523         IXMLDOMNode **outNewChild) = 0;
    524 
    525     virtual HRESULT STDMETHODCALLTYPE replaceChild(
    526         IXMLDOMNode *newChild,
    527         IXMLDOMNode *oldChild,
    528         IXMLDOMNode **outOldChild) = 0;
    529 
    530     virtual HRESULT STDMETHODCALLTYPE removeChild(
    531         IXMLDOMNode *childNode,
    532         IXMLDOMNode **oldChild) = 0;
    533 
    534     virtual HRESULT STDMETHODCALLTYPE appendChild(
    535         IXMLDOMNode *newChild,
    536         IXMLDOMNode **outNewChild) = 0;
    537 
    538     virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
    539         VARIANT_BOOL *hasChild) = 0;
    540 
    541     virtual HRESULT STDMETHODCALLTYPE get_ownerDocument(
    542         IXMLDOMDocument **DOMDocument) = 0;
    543 
    544     virtual HRESULT STDMETHODCALLTYPE cloneNode(
    545         VARIANT_BOOL deep,
    546         IXMLDOMNode **cloneRoot) = 0;
    547 
    548     virtual HRESULT STDMETHODCALLTYPE get_nodeTypeString(
    549         BSTR *nodeType) = 0;
    550 
    551     virtual HRESULT STDMETHODCALLTYPE get_text(
    552         BSTR *text) = 0;
    553 
    554     virtual HRESULT STDMETHODCALLTYPE put_text(
    555         BSTR text) = 0;
    556 
    557     virtual HRESULT STDMETHODCALLTYPE get_specified(
    558         VARIANT_BOOL *isSpecified) = 0;
    559 
    560     virtual HRESULT STDMETHODCALLTYPE get_definition(
    561         IXMLDOMNode **definitionNode) = 0;
    562 
    563     virtual HRESULT STDMETHODCALLTYPE get_nodeTypedValue(
    564         VARIANT *typedValue) = 0;
    565 
    566     virtual HRESULT STDMETHODCALLTYPE put_nodeTypedValue(
    567         VARIANT typedValue) = 0;
    568 
    569     virtual HRESULT STDMETHODCALLTYPE get_dataType(
    570         VARIANT *dataTypeName) = 0;
    571 
    572     virtual HRESULT STDMETHODCALLTYPE put_dataType(
    573         BSTR dataTypeName) = 0;
    574 
    575     virtual HRESULT STDMETHODCALLTYPE get_xml(
    576         BSTR *xmlString) = 0;
    577 
    578     virtual HRESULT STDMETHODCALLTYPE transformNode(
    579         IXMLDOMNode *styleSheet,
    580         BSTR *xmlString) = 0;
    581 
    582     virtual HRESULT STDMETHODCALLTYPE selectNodes(
    583         BSTR queryString,
    584         IXMLDOMNodeList **resultList) = 0;
    585 
    586     virtual HRESULT STDMETHODCALLTYPE selectSingleNode(
    587         BSTR queryString,
    588         IXMLDOMNode **resultNode) = 0;
    589 
    590     virtual HRESULT STDMETHODCALLTYPE get_parsed(
    591         VARIANT_BOOL *isParsed) = 0;
    592 
    593     virtual HRESULT STDMETHODCALLTYPE get_namespaceURI(
    594         BSTR *namespaceURI) = 0;
    595 
    596     virtual HRESULT STDMETHODCALLTYPE get_prefix(
    597         BSTR *prefixString) = 0;
    598 
    599     virtual HRESULT STDMETHODCALLTYPE get_baseName(
    600         BSTR *nameString) = 0;
    601 
    602     virtual HRESULT STDMETHODCALLTYPE transformNodeToObject(
    603         IXMLDOMNode *stylesheet,
    604         VARIANT outputObject) = 0;
    605 
    606 };
    607 #ifdef __CRT_UUID_DECL
    608 __CRT_UUID_DECL(IXMLDOMNode, 0x2933bf80, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
    609 #endif
    610 #else
    611 typedef struct IXMLDOMNodeVtbl {
    612     BEGIN_INTERFACE
    613 
    614     /*** IUnknown methods ***/
    615     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    616         IXMLDOMNode *This,
    617         REFIID riid,
    618         void **ppvObject);
    619 
    620     ULONG (STDMETHODCALLTYPE *AddRef)(
    621         IXMLDOMNode *This);
    622 
    623     ULONG (STDMETHODCALLTYPE *Release)(
    624         IXMLDOMNode *This);
    625 
    626     /*** IDispatch methods ***/
    627     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    628         IXMLDOMNode *This,
    629         UINT *pctinfo);
    630 
    631     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    632         IXMLDOMNode *This,
    633         UINT iTInfo,
    634         LCID lcid,
    635         ITypeInfo **ppTInfo);
    636 
    637     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    638         IXMLDOMNode *This,
    639         REFIID riid,
    640         LPOLESTR *rgszNames,
    641         UINT cNames,
    642         LCID lcid,
    643         DISPID *rgDispId);
    644 
    645     HRESULT (STDMETHODCALLTYPE *Invoke)(
    646         IXMLDOMNode *This,
    647         DISPID dispIdMember,
    648         REFIID riid,
    649         LCID lcid,
    650         WORD wFlags,
    651         DISPPARAMS *pDispParams,
    652         VARIANT *pVarResult,
    653         EXCEPINFO *pExcepInfo,
    654         UINT *puArgErr);
    655 
    656     /*** IXMLDOMNode methods ***/
    657     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
    658         IXMLDOMNode *This,
    659         BSTR *name);
    660 
    661     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
    662         IXMLDOMNode *This,
    663         VARIANT *value);
    664 
    665     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
    666         IXMLDOMNode *This,
    667         VARIANT value);
    668 
    669     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
    670         IXMLDOMNode *This,
    671         DOMNodeType *type);
    672 
    673     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
    674         IXMLDOMNode *This,
    675         IXMLDOMNode **parent);
    676 
    677     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
    678         IXMLDOMNode *This,
    679         IXMLDOMNodeList **childList);
    680 
    681     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
    682         IXMLDOMNode *This,
    683         IXMLDOMNode **firstChild);
    684 
    685     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
    686         IXMLDOMNode *This,
    687         IXMLDOMNode **lastChild);
    688 
    689     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
    690         IXMLDOMNode *This,
    691         IXMLDOMNode **previousSibling);
    692 
    693     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
    694         IXMLDOMNode *This,
    695         IXMLDOMNode **nextSibling);
    696 
    697     HRESULT (STDMETHODCALLTYPE *get_attributes)(
    698         IXMLDOMNode *This,
    699         IXMLDOMNamedNodeMap **attributeMap);
    700 
    701     HRESULT (STDMETHODCALLTYPE *insertBefore)(
    702         IXMLDOMNode *This,
    703         IXMLDOMNode *newChild,
    704         VARIANT refChild,
    705         IXMLDOMNode **outNewChild);
    706 
    707     HRESULT (STDMETHODCALLTYPE *replaceChild)(
    708         IXMLDOMNode *This,
    709         IXMLDOMNode *newChild,
    710         IXMLDOMNode *oldChild,
    711         IXMLDOMNode **outOldChild);
    712 
    713     HRESULT (STDMETHODCALLTYPE *removeChild)(
    714         IXMLDOMNode *This,
    715         IXMLDOMNode *childNode,
    716         IXMLDOMNode **oldChild);
    717 
    718     HRESULT (STDMETHODCALLTYPE *appendChild)(
    719         IXMLDOMNode *This,
    720         IXMLDOMNode *newChild,
    721         IXMLDOMNode **outNewChild);
    722 
    723     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
    724         IXMLDOMNode *This,
    725         VARIANT_BOOL *hasChild);
    726 
    727     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
    728         IXMLDOMNode *This,
    729         IXMLDOMDocument **DOMDocument);
    730 
    731     HRESULT (STDMETHODCALLTYPE *cloneNode)(
    732         IXMLDOMNode *This,
    733         VARIANT_BOOL deep,
    734         IXMLDOMNode **cloneRoot);
    735 
    736     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
    737         IXMLDOMNode *This,
    738         BSTR *nodeType);
    739 
    740     HRESULT (STDMETHODCALLTYPE *get_text)(
    741         IXMLDOMNode *This,
    742         BSTR *text);
    743 
    744     HRESULT (STDMETHODCALLTYPE *put_text)(
    745         IXMLDOMNode *This,
    746         BSTR text);
    747 
    748     HRESULT (STDMETHODCALLTYPE *get_specified)(
    749         IXMLDOMNode *This,
    750         VARIANT_BOOL *isSpecified);
    751 
    752     HRESULT (STDMETHODCALLTYPE *get_definition)(
    753         IXMLDOMNode *This,
    754         IXMLDOMNode **definitionNode);
    755 
    756     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
    757         IXMLDOMNode *This,
    758         VARIANT *typedValue);
    759 
    760     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
    761         IXMLDOMNode *This,
    762         VARIANT typedValue);
    763 
    764     HRESULT (STDMETHODCALLTYPE *get_dataType)(
    765         IXMLDOMNode *This,
    766         VARIANT *dataTypeName);
    767 
    768     HRESULT (STDMETHODCALLTYPE *put_dataType)(
    769         IXMLDOMNode *This,
    770         BSTR dataTypeName);
    771 
    772     HRESULT (STDMETHODCALLTYPE *get_xml)(
    773         IXMLDOMNode *This,
    774         BSTR *xmlString);
    775 
    776     HRESULT (STDMETHODCALLTYPE *transformNode)(
    777         IXMLDOMNode *This,
    778         IXMLDOMNode *styleSheet,
    779         BSTR *xmlString);
    780 
    781     HRESULT (STDMETHODCALLTYPE *selectNodes)(
    782         IXMLDOMNode *This,
    783         BSTR queryString,
    784         IXMLDOMNodeList **resultList);
    785 
    786     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
    787         IXMLDOMNode *This,
    788         BSTR queryString,
    789         IXMLDOMNode **resultNode);
    790 
    791     HRESULT (STDMETHODCALLTYPE *get_parsed)(
    792         IXMLDOMNode *This,
    793         VARIANT_BOOL *isParsed);
    794 
    795     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
    796         IXMLDOMNode *This,
    797         BSTR *namespaceURI);
    798 
    799     HRESULT (STDMETHODCALLTYPE *get_prefix)(
    800         IXMLDOMNode *This,
    801         BSTR *prefixString);
    802 
    803     HRESULT (STDMETHODCALLTYPE *get_baseName)(
    804         IXMLDOMNode *This,
    805         BSTR *nameString);
    806 
    807     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
    808         IXMLDOMNode *This,
    809         IXMLDOMNode *stylesheet,
    810         VARIANT outputObject);
    811 
    812     END_INTERFACE
    813 } IXMLDOMNodeVtbl;
    814 
    815 interface IXMLDOMNode {
    816     CONST_VTBL IXMLDOMNodeVtbl* lpVtbl;
    817 };
    818 
    819 #ifdef COBJMACROS
    820 #ifndef WIDL_C_INLINE_WRAPPERS
    821 /*** IUnknown methods ***/
    822 #define IXMLDOMNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    823 #define IXMLDOMNode_AddRef(This) (This)->lpVtbl->AddRef(This)
    824 #define IXMLDOMNode_Release(This) (This)->lpVtbl->Release(This)
    825 /*** IDispatch methods ***/
    826 #define IXMLDOMNode_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    827 #define IXMLDOMNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    828 #define IXMLDOMNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    829 #define IXMLDOMNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    830 /*** IXMLDOMNode methods ***/
    831 #define IXMLDOMNode_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
    832 #define IXMLDOMNode_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
    833 #define IXMLDOMNode_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
    834 #define IXMLDOMNode_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
    835 #define IXMLDOMNode_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
    836 #define IXMLDOMNode_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
    837 #define IXMLDOMNode_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
    838 #define IXMLDOMNode_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
    839 #define IXMLDOMNode_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
    840 #define IXMLDOMNode_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
    841 #define IXMLDOMNode_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
    842 #define IXMLDOMNode_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
    843 #define IXMLDOMNode_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
    844 #define IXMLDOMNode_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
    845 #define IXMLDOMNode_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
    846 #define IXMLDOMNode_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
    847 #define IXMLDOMNode_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
    848 #define IXMLDOMNode_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
    849 #define IXMLDOMNode_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
    850 #define IXMLDOMNode_get_text(This,text) (This)->lpVtbl->get_text(This,text)
    851 #define IXMLDOMNode_put_text(This,text) (This)->lpVtbl->put_text(This,text)
    852 #define IXMLDOMNode_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
    853 #define IXMLDOMNode_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
    854 #define IXMLDOMNode_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
    855 #define IXMLDOMNode_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
    856 #define IXMLDOMNode_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
    857 #define IXMLDOMNode_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
    858 #define IXMLDOMNode_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
    859 #define IXMLDOMNode_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
    860 #define IXMLDOMNode_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
    861 #define IXMLDOMNode_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
    862 #define IXMLDOMNode_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
    863 #define IXMLDOMNode_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
    864 #define IXMLDOMNode_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
    865 #define IXMLDOMNode_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
    866 #define IXMLDOMNode_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
    867 #else
    868 /*** IUnknown methods ***/
    869 static inline HRESULT IXMLDOMNode_QueryInterface(IXMLDOMNode* This,REFIID riid,void **ppvObject) {
    870     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    871 }
    872 static inline ULONG IXMLDOMNode_AddRef(IXMLDOMNode* This) {
    873     return This->lpVtbl->AddRef(This);
    874 }
    875 static inline ULONG IXMLDOMNode_Release(IXMLDOMNode* This) {
    876     return This->lpVtbl->Release(This);
    877 }
    878 /*** IDispatch methods ***/
    879 static inline HRESULT IXMLDOMNode_GetTypeInfoCount(IXMLDOMNode* This,UINT *pctinfo) {
    880     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    881 }
    882 static inline HRESULT IXMLDOMNode_GetTypeInfo(IXMLDOMNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    883     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    884 }
    885 static inline HRESULT IXMLDOMNode_GetIDsOfNames(IXMLDOMNode* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    886     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    887 }
    888 static inline HRESULT IXMLDOMNode_Invoke(IXMLDOMNode* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    889     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    890 }
    891 /*** IXMLDOMNode methods ***/
    892 static inline HRESULT IXMLDOMNode_get_nodeName(IXMLDOMNode* This,BSTR *name) {
    893     return This->lpVtbl->get_nodeName(This,name);
    894 }
    895 static inline HRESULT IXMLDOMNode_get_nodeValue(IXMLDOMNode* This,VARIANT *value) {
    896     return This->lpVtbl->get_nodeValue(This,value);
    897 }
    898 static inline HRESULT IXMLDOMNode_put_nodeValue(IXMLDOMNode* This,VARIANT value) {
    899     return This->lpVtbl->put_nodeValue(This,value);
    900 }
    901 static inline HRESULT IXMLDOMNode_get_nodeType(IXMLDOMNode* This,DOMNodeType *type) {
    902     return This->lpVtbl->get_nodeType(This,type);
    903 }
    904 static inline HRESULT IXMLDOMNode_get_parentNode(IXMLDOMNode* This,IXMLDOMNode **parent) {
    905     return This->lpVtbl->get_parentNode(This,parent);
    906 }
    907 static inline HRESULT IXMLDOMNode_get_childNodes(IXMLDOMNode* This,IXMLDOMNodeList **childList) {
    908     return This->lpVtbl->get_childNodes(This,childList);
    909 }
    910 static inline HRESULT IXMLDOMNode_get_firstChild(IXMLDOMNode* This,IXMLDOMNode **firstChild) {
    911     return This->lpVtbl->get_firstChild(This,firstChild);
    912 }
    913 static inline HRESULT IXMLDOMNode_get_lastChild(IXMLDOMNode* This,IXMLDOMNode **lastChild) {
    914     return This->lpVtbl->get_lastChild(This,lastChild);
    915 }
    916 static inline HRESULT IXMLDOMNode_get_previousSibling(IXMLDOMNode* This,IXMLDOMNode **previousSibling) {
    917     return This->lpVtbl->get_previousSibling(This,previousSibling);
    918 }
    919 static inline HRESULT IXMLDOMNode_get_nextSibling(IXMLDOMNode* This,IXMLDOMNode **nextSibling) {
    920     return This->lpVtbl->get_nextSibling(This,nextSibling);
    921 }
    922 static inline HRESULT IXMLDOMNode_get_attributes(IXMLDOMNode* This,IXMLDOMNamedNodeMap **attributeMap) {
    923     return This->lpVtbl->get_attributes(This,attributeMap);
    924 }
    925 static inline HRESULT IXMLDOMNode_insertBefore(IXMLDOMNode* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
    926     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
    927 }
    928 static inline HRESULT IXMLDOMNode_replaceChild(IXMLDOMNode* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
    929     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
    930 }
    931 static inline HRESULT IXMLDOMNode_removeChild(IXMLDOMNode* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
    932     return This->lpVtbl->removeChild(This,childNode,oldChild);
    933 }
    934 static inline HRESULT IXMLDOMNode_appendChild(IXMLDOMNode* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
    935     return This->lpVtbl->appendChild(This,newChild,outNewChild);
    936 }
    937 static inline HRESULT IXMLDOMNode_hasChildNodes(IXMLDOMNode* This,VARIANT_BOOL *hasChild) {
    938     return This->lpVtbl->hasChildNodes(This,hasChild);
    939 }
    940 static inline HRESULT IXMLDOMNode_get_ownerDocument(IXMLDOMNode* This,IXMLDOMDocument **DOMDocument) {
    941     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
    942 }
    943 static inline HRESULT IXMLDOMNode_cloneNode(IXMLDOMNode* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
    944     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
    945 }
    946 static inline HRESULT IXMLDOMNode_get_nodeTypeString(IXMLDOMNode* This,BSTR *nodeType) {
    947     return This->lpVtbl->get_nodeTypeString(This,nodeType);
    948 }
    949 static inline HRESULT IXMLDOMNode_get_text(IXMLDOMNode* This,BSTR *text) {
    950     return This->lpVtbl->get_text(This,text);
    951 }
    952 static inline HRESULT IXMLDOMNode_put_text(IXMLDOMNode* This,BSTR text) {
    953     return This->lpVtbl->put_text(This,text);
    954 }
    955 static inline HRESULT IXMLDOMNode_get_specified(IXMLDOMNode* This,VARIANT_BOOL *isSpecified) {
    956     return This->lpVtbl->get_specified(This,isSpecified);
    957 }
    958 static inline HRESULT IXMLDOMNode_get_definition(IXMLDOMNode* This,IXMLDOMNode **definitionNode) {
    959     return This->lpVtbl->get_definition(This,definitionNode);
    960 }
    961 static inline HRESULT IXMLDOMNode_get_nodeTypedValue(IXMLDOMNode* This,VARIANT *typedValue) {
    962     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
    963 }
    964 static inline HRESULT IXMLDOMNode_put_nodeTypedValue(IXMLDOMNode* This,VARIANT typedValue) {
    965     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
    966 }
    967 static inline HRESULT IXMLDOMNode_get_dataType(IXMLDOMNode* This,VARIANT *dataTypeName) {
    968     return This->lpVtbl->get_dataType(This,dataTypeName);
    969 }
    970 static inline HRESULT IXMLDOMNode_put_dataType(IXMLDOMNode* This,BSTR dataTypeName) {
    971     return This->lpVtbl->put_dataType(This,dataTypeName);
    972 }
    973 static inline HRESULT IXMLDOMNode_get_xml(IXMLDOMNode* This,BSTR *xmlString) {
    974     return This->lpVtbl->get_xml(This,xmlString);
    975 }
    976 static inline HRESULT IXMLDOMNode_transformNode(IXMLDOMNode* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
    977     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
    978 }
    979 static inline HRESULT IXMLDOMNode_selectNodes(IXMLDOMNode* This,BSTR queryString,IXMLDOMNodeList **resultList) {
    980     return This->lpVtbl->selectNodes(This,queryString,resultList);
    981 }
    982 static inline HRESULT IXMLDOMNode_selectSingleNode(IXMLDOMNode* This,BSTR queryString,IXMLDOMNode **resultNode) {
    983     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
    984 }
    985 static inline HRESULT IXMLDOMNode_get_parsed(IXMLDOMNode* This,VARIANT_BOOL *isParsed) {
    986     return This->lpVtbl->get_parsed(This,isParsed);
    987 }
    988 static inline HRESULT IXMLDOMNode_get_namespaceURI(IXMLDOMNode* This,BSTR *namespaceURI) {
    989     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
    990 }
    991 static inline HRESULT IXMLDOMNode_get_prefix(IXMLDOMNode* This,BSTR *prefixString) {
    992     return This->lpVtbl->get_prefix(This,prefixString);
    993 }
    994 static inline HRESULT IXMLDOMNode_get_baseName(IXMLDOMNode* This,BSTR *nameString) {
    995     return This->lpVtbl->get_baseName(This,nameString);
    996 }
    997 static inline HRESULT IXMLDOMNode_transformNodeToObject(IXMLDOMNode* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
    998     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
    999 }
   1000 #endif
   1001 #endif
   1002 
   1003 #endif
   1004 
   1005 
   1006 #endif  /* __IXMLDOMNode_INTERFACE_DEFINED__ */
   1007 
   1008 /*****************************************************************************
   1009  * IXMLDOMDocument interface
   1010  */
   1011 #ifndef __IXMLDOMDocument_INTERFACE_DEFINED__
   1012 #define __IXMLDOMDocument_INTERFACE_DEFINED__
   1013 
   1014 DEFINE_GUID(IID_IXMLDOMDocument, 0x2933bf81, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   1015 #if defined(__cplusplus) && !defined(CINTERFACE)
   1016 MIDL_INTERFACE("2933bf81-7b36-11d2-b20e-00c04f983e60")
   1017 IXMLDOMDocument : public IXMLDOMNode
   1018 {
   1019     virtual HRESULT STDMETHODCALLTYPE get_doctype(
   1020         IXMLDOMDocumentType **documentType) = 0;
   1021 
   1022     virtual HRESULT STDMETHODCALLTYPE get_implementation(
   1023         IXMLDOMImplementation **impl) = 0;
   1024 
   1025     virtual HRESULT STDMETHODCALLTYPE get_documentElement(
   1026         IXMLDOMElement **DOMElement) = 0;
   1027 
   1028     virtual HRESULT STDMETHODCALLTYPE putref_documentElement(
   1029         IXMLDOMElement *DOMElement) = 0;
   1030 
   1031     virtual HRESULT STDMETHODCALLTYPE createElement(
   1032         BSTR tagname,
   1033         IXMLDOMElement **element) = 0;
   1034 
   1035     virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
   1036         IXMLDOMDocumentFragment **docFrag) = 0;
   1037 
   1038     virtual HRESULT STDMETHODCALLTYPE createTextNode(
   1039         BSTR data,
   1040         IXMLDOMText **text) = 0;
   1041 
   1042     virtual HRESULT STDMETHODCALLTYPE createComment(
   1043         BSTR data,
   1044         IXMLDOMComment **comment) = 0;
   1045 
   1046     virtual HRESULT STDMETHODCALLTYPE createCDATASection(
   1047         BSTR data,
   1048         IXMLDOMCDATASection **cdata) = 0;
   1049 
   1050     virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
   1051         BSTR target,
   1052         BSTR data,
   1053         IXMLDOMProcessingInstruction **pi) = 0;
   1054 
   1055     virtual HRESULT STDMETHODCALLTYPE createAttribute(
   1056         BSTR name,
   1057         IXMLDOMAttribute **attribute) = 0;
   1058 
   1059     virtual HRESULT STDMETHODCALLTYPE createEntityReference(
   1060         BSTR name,
   1061         IXMLDOMEntityReference **entityRef) = 0;
   1062 
   1063     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
   1064         BSTR tagName,
   1065         IXMLDOMNodeList **resultList) = 0;
   1066 
   1067     virtual HRESULT STDMETHODCALLTYPE createNode(
   1068         VARIANT Type,
   1069         BSTR name,
   1070         BSTR namespaceURI,
   1071         IXMLDOMNode **node) = 0;
   1072 
   1073     virtual HRESULT STDMETHODCALLTYPE nodeFromID(
   1074         BSTR idString,
   1075         IXMLDOMNode **node) = 0;
   1076 
   1077     virtual HRESULT STDMETHODCALLTYPE load(
   1078         VARIANT xmlSource,
   1079         VARIANT_BOOL *isSuccessful) = 0;
   1080 
   1081     virtual HRESULT STDMETHODCALLTYPE get_readyState(
   1082         LONG *value) = 0;
   1083 
   1084     virtual HRESULT STDMETHODCALLTYPE get_parseError(
   1085         IXMLDOMParseError **errorObj) = 0;
   1086 
   1087     virtual HRESULT STDMETHODCALLTYPE get_url(
   1088         BSTR *urlString) = 0;
   1089 
   1090     virtual HRESULT STDMETHODCALLTYPE get_async(
   1091         VARIANT_BOOL *isAsync) = 0;
   1092 
   1093     virtual HRESULT STDMETHODCALLTYPE put_async(
   1094         VARIANT_BOOL isAsync) = 0;
   1095 
   1096     virtual HRESULT STDMETHODCALLTYPE abort(
   1097         ) = 0;
   1098 
   1099     virtual HRESULT STDMETHODCALLTYPE loadXML(
   1100         BSTR bstrXML,
   1101         VARIANT_BOOL *isSuccessful) = 0;
   1102 
   1103     virtual HRESULT STDMETHODCALLTYPE save(
   1104         VARIANT destination) = 0;
   1105 
   1106     virtual HRESULT STDMETHODCALLTYPE get_validateOnParse(
   1107         VARIANT_BOOL *isValidating) = 0;
   1108 
   1109     virtual HRESULT STDMETHODCALLTYPE put_validateOnParse(
   1110         VARIANT_BOOL isValidating) = 0;
   1111 
   1112     virtual HRESULT STDMETHODCALLTYPE get_resolveExternals(
   1113         VARIANT_BOOL *isResolving) = 0;
   1114 
   1115     virtual HRESULT STDMETHODCALLTYPE put_resolveExternals(
   1116         VARIANT_BOOL isValidating) = 0;
   1117 
   1118     virtual HRESULT STDMETHODCALLTYPE get_preserveWhiteSpace(
   1119         VARIANT_BOOL *isPreserving) = 0;
   1120 
   1121     virtual HRESULT STDMETHODCALLTYPE put_preserveWhiteSpace(
   1122         VARIANT_BOOL isPreserving) = 0;
   1123 
   1124     virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
   1125         VARIANT readystatechangeSink) = 0;
   1126 
   1127     virtual HRESULT STDMETHODCALLTYPE put_ondataavailable(
   1128         VARIANT ondataavailableSink) = 0;
   1129 
   1130     virtual HRESULT STDMETHODCALLTYPE put_ontransformnode(
   1131         VARIANT ontransformnodeSink) = 0;
   1132 
   1133 };
   1134 #ifdef __CRT_UUID_DECL
   1135 __CRT_UUID_DECL(IXMLDOMDocument, 0x2933bf81, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   1136 #endif
   1137 #else
   1138 typedef struct IXMLDOMDocumentVtbl {
   1139     BEGIN_INTERFACE
   1140 
   1141     /*** IUnknown methods ***/
   1142     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1143         IXMLDOMDocument *This,
   1144         REFIID riid,
   1145         void **ppvObject);
   1146 
   1147     ULONG (STDMETHODCALLTYPE *AddRef)(
   1148         IXMLDOMDocument *This);
   1149 
   1150     ULONG (STDMETHODCALLTYPE *Release)(
   1151         IXMLDOMDocument *This);
   1152 
   1153     /*** IDispatch methods ***/
   1154     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1155         IXMLDOMDocument *This,
   1156         UINT *pctinfo);
   1157 
   1158     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1159         IXMLDOMDocument *This,
   1160         UINT iTInfo,
   1161         LCID lcid,
   1162         ITypeInfo **ppTInfo);
   1163 
   1164     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1165         IXMLDOMDocument *This,
   1166         REFIID riid,
   1167         LPOLESTR *rgszNames,
   1168         UINT cNames,
   1169         LCID lcid,
   1170         DISPID *rgDispId);
   1171 
   1172     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1173         IXMLDOMDocument *This,
   1174         DISPID dispIdMember,
   1175         REFIID riid,
   1176         LCID lcid,
   1177         WORD wFlags,
   1178         DISPPARAMS *pDispParams,
   1179         VARIANT *pVarResult,
   1180         EXCEPINFO *pExcepInfo,
   1181         UINT *puArgErr);
   1182 
   1183     /*** IXMLDOMNode methods ***/
   1184     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   1185         IXMLDOMDocument *This,
   1186         BSTR *name);
   1187 
   1188     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   1189         IXMLDOMDocument *This,
   1190         VARIANT *value);
   1191 
   1192     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   1193         IXMLDOMDocument *This,
   1194         VARIANT value);
   1195 
   1196     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   1197         IXMLDOMDocument *This,
   1198         DOMNodeType *type);
   1199 
   1200     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   1201         IXMLDOMDocument *This,
   1202         IXMLDOMNode **parent);
   1203 
   1204     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   1205         IXMLDOMDocument *This,
   1206         IXMLDOMNodeList **childList);
   1207 
   1208     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   1209         IXMLDOMDocument *This,
   1210         IXMLDOMNode **firstChild);
   1211 
   1212     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   1213         IXMLDOMDocument *This,
   1214         IXMLDOMNode **lastChild);
   1215 
   1216     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   1217         IXMLDOMDocument *This,
   1218         IXMLDOMNode **previousSibling);
   1219 
   1220     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   1221         IXMLDOMDocument *This,
   1222         IXMLDOMNode **nextSibling);
   1223 
   1224     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   1225         IXMLDOMDocument *This,
   1226         IXMLDOMNamedNodeMap **attributeMap);
   1227 
   1228     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   1229         IXMLDOMDocument *This,
   1230         IXMLDOMNode *newChild,
   1231         VARIANT refChild,
   1232         IXMLDOMNode **outNewChild);
   1233 
   1234     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   1235         IXMLDOMDocument *This,
   1236         IXMLDOMNode *newChild,
   1237         IXMLDOMNode *oldChild,
   1238         IXMLDOMNode **outOldChild);
   1239 
   1240     HRESULT (STDMETHODCALLTYPE *removeChild)(
   1241         IXMLDOMDocument *This,
   1242         IXMLDOMNode *childNode,
   1243         IXMLDOMNode **oldChild);
   1244 
   1245     HRESULT (STDMETHODCALLTYPE *appendChild)(
   1246         IXMLDOMDocument *This,
   1247         IXMLDOMNode *newChild,
   1248         IXMLDOMNode **outNewChild);
   1249 
   1250     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   1251         IXMLDOMDocument *This,
   1252         VARIANT_BOOL *hasChild);
   1253 
   1254     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   1255         IXMLDOMDocument *This,
   1256         IXMLDOMDocument **DOMDocument);
   1257 
   1258     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   1259         IXMLDOMDocument *This,
   1260         VARIANT_BOOL deep,
   1261         IXMLDOMNode **cloneRoot);
   1262 
   1263     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   1264         IXMLDOMDocument *This,
   1265         BSTR *nodeType);
   1266 
   1267     HRESULT (STDMETHODCALLTYPE *get_text)(
   1268         IXMLDOMDocument *This,
   1269         BSTR *text);
   1270 
   1271     HRESULT (STDMETHODCALLTYPE *put_text)(
   1272         IXMLDOMDocument *This,
   1273         BSTR text);
   1274 
   1275     HRESULT (STDMETHODCALLTYPE *get_specified)(
   1276         IXMLDOMDocument *This,
   1277         VARIANT_BOOL *isSpecified);
   1278 
   1279     HRESULT (STDMETHODCALLTYPE *get_definition)(
   1280         IXMLDOMDocument *This,
   1281         IXMLDOMNode **definitionNode);
   1282 
   1283     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   1284         IXMLDOMDocument *This,
   1285         VARIANT *typedValue);
   1286 
   1287     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   1288         IXMLDOMDocument *This,
   1289         VARIANT typedValue);
   1290 
   1291     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   1292         IXMLDOMDocument *This,
   1293         VARIANT *dataTypeName);
   1294 
   1295     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   1296         IXMLDOMDocument *This,
   1297         BSTR dataTypeName);
   1298 
   1299     HRESULT (STDMETHODCALLTYPE *get_xml)(
   1300         IXMLDOMDocument *This,
   1301         BSTR *xmlString);
   1302 
   1303     HRESULT (STDMETHODCALLTYPE *transformNode)(
   1304         IXMLDOMDocument *This,
   1305         IXMLDOMNode *styleSheet,
   1306         BSTR *xmlString);
   1307 
   1308     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   1309         IXMLDOMDocument *This,
   1310         BSTR queryString,
   1311         IXMLDOMNodeList **resultList);
   1312 
   1313     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   1314         IXMLDOMDocument *This,
   1315         BSTR queryString,
   1316         IXMLDOMNode **resultNode);
   1317 
   1318     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   1319         IXMLDOMDocument *This,
   1320         VARIANT_BOOL *isParsed);
   1321 
   1322     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   1323         IXMLDOMDocument *This,
   1324         BSTR *namespaceURI);
   1325 
   1326     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   1327         IXMLDOMDocument *This,
   1328         BSTR *prefixString);
   1329 
   1330     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   1331         IXMLDOMDocument *This,
   1332         BSTR *nameString);
   1333 
   1334     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   1335         IXMLDOMDocument *This,
   1336         IXMLDOMNode *stylesheet,
   1337         VARIANT outputObject);
   1338 
   1339     /*** IXMLDOMDocument methods ***/
   1340     HRESULT (STDMETHODCALLTYPE *get_doctype)(
   1341         IXMLDOMDocument *This,
   1342         IXMLDOMDocumentType **documentType);
   1343 
   1344     HRESULT (STDMETHODCALLTYPE *get_implementation)(
   1345         IXMLDOMDocument *This,
   1346         IXMLDOMImplementation **impl);
   1347 
   1348     HRESULT (STDMETHODCALLTYPE *get_documentElement)(
   1349         IXMLDOMDocument *This,
   1350         IXMLDOMElement **DOMElement);
   1351 
   1352     HRESULT (STDMETHODCALLTYPE *putref_documentElement)(
   1353         IXMLDOMDocument *This,
   1354         IXMLDOMElement *DOMElement);
   1355 
   1356     HRESULT (STDMETHODCALLTYPE *createElement)(
   1357         IXMLDOMDocument *This,
   1358         BSTR tagname,
   1359         IXMLDOMElement **element);
   1360 
   1361     HRESULT (STDMETHODCALLTYPE *createDocumentFragment)(
   1362         IXMLDOMDocument *This,
   1363         IXMLDOMDocumentFragment **docFrag);
   1364 
   1365     HRESULT (STDMETHODCALLTYPE *createTextNode)(
   1366         IXMLDOMDocument *This,
   1367         BSTR data,
   1368         IXMLDOMText **text);
   1369 
   1370     HRESULT (STDMETHODCALLTYPE *createComment)(
   1371         IXMLDOMDocument *This,
   1372         BSTR data,
   1373         IXMLDOMComment **comment);
   1374 
   1375     HRESULT (STDMETHODCALLTYPE *createCDATASection)(
   1376         IXMLDOMDocument *This,
   1377         BSTR data,
   1378         IXMLDOMCDATASection **cdata);
   1379 
   1380     HRESULT (STDMETHODCALLTYPE *createProcessingInstruction)(
   1381         IXMLDOMDocument *This,
   1382         BSTR target,
   1383         BSTR data,
   1384         IXMLDOMProcessingInstruction **pi);
   1385 
   1386     HRESULT (STDMETHODCALLTYPE *createAttribute)(
   1387         IXMLDOMDocument *This,
   1388         BSTR name,
   1389         IXMLDOMAttribute **attribute);
   1390 
   1391     HRESULT (STDMETHODCALLTYPE *createEntityReference)(
   1392         IXMLDOMDocument *This,
   1393         BSTR name,
   1394         IXMLDOMEntityReference **entityRef);
   1395 
   1396     HRESULT (STDMETHODCALLTYPE *getElementsByTagName)(
   1397         IXMLDOMDocument *This,
   1398         BSTR tagName,
   1399         IXMLDOMNodeList **resultList);
   1400 
   1401     HRESULT (STDMETHODCALLTYPE *createNode)(
   1402         IXMLDOMDocument *This,
   1403         VARIANT Type,
   1404         BSTR name,
   1405         BSTR namespaceURI,
   1406         IXMLDOMNode **node);
   1407 
   1408     HRESULT (STDMETHODCALLTYPE *nodeFromID)(
   1409         IXMLDOMDocument *This,
   1410         BSTR idString,
   1411         IXMLDOMNode **node);
   1412 
   1413     HRESULT (STDMETHODCALLTYPE *load)(
   1414         IXMLDOMDocument *This,
   1415         VARIANT xmlSource,
   1416         VARIANT_BOOL *isSuccessful);
   1417 
   1418     HRESULT (STDMETHODCALLTYPE *get_readyState)(
   1419         IXMLDOMDocument *This,
   1420         LONG *value);
   1421 
   1422     HRESULT (STDMETHODCALLTYPE *get_parseError)(
   1423         IXMLDOMDocument *This,
   1424         IXMLDOMParseError **errorObj);
   1425 
   1426     HRESULT (STDMETHODCALLTYPE *get_url)(
   1427         IXMLDOMDocument *This,
   1428         BSTR *urlString);
   1429 
   1430     HRESULT (STDMETHODCALLTYPE *get_async)(
   1431         IXMLDOMDocument *This,
   1432         VARIANT_BOOL *isAsync);
   1433 
   1434     HRESULT (STDMETHODCALLTYPE *put_async)(
   1435         IXMLDOMDocument *This,
   1436         VARIANT_BOOL isAsync);
   1437 
   1438     HRESULT (STDMETHODCALLTYPE *abort)(
   1439         IXMLDOMDocument *This);
   1440 
   1441     HRESULT (STDMETHODCALLTYPE *loadXML)(
   1442         IXMLDOMDocument *This,
   1443         BSTR bstrXML,
   1444         VARIANT_BOOL *isSuccessful);
   1445 
   1446     HRESULT (STDMETHODCALLTYPE *save)(
   1447         IXMLDOMDocument *This,
   1448         VARIANT destination);
   1449 
   1450     HRESULT (STDMETHODCALLTYPE *get_validateOnParse)(
   1451         IXMLDOMDocument *This,
   1452         VARIANT_BOOL *isValidating);
   1453 
   1454     HRESULT (STDMETHODCALLTYPE *put_validateOnParse)(
   1455         IXMLDOMDocument *This,
   1456         VARIANT_BOOL isValidating);
   1457 
   1458     HRESULT (STDMETHODCALLTYPE *get_resolveExternals)(
   1459         IXMLDOMDocument *This,
   1460         VARIANT_BOOL *isResolving);
   1461 
   1462     HRESULT (STDMETHODCALLTYPE *put_resolveExternals)(
   1463         IXMLDOMDocument *This,
   1464         VARIANT_BOOL isValidating);
   1465 
   1466     HRESULT (STDMETHODCALLTYPE *get_preserveWhiteSpace)(
   1467         IXMLDOMDocument *This,
   1468         VARIANT_BOOL *isPreserving);
   1469 
   1470     HRESULT (STDMETHODCALLTYPE *put_preserveWhiteSpace)(
   1471         IXMLDOMDocument *This,
   1472         VARIANT_BOOL isPreserving);
   1473 
   1474     HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
   1475         IXMLDOMDocument *This,
   1476         VARIANT readystatechangeSink);
   1477 
   1478     HRESULT (STDMETHODCALLTYPE *put_ondataavailable)(
   1479         IXMLDOMDocument *This,
   1480         VARIANT ondataavailableSink);
   1481 
   1482     HRESULT (STDMETHODCALLTYPE *put_ontransformnode)(
   1483         IXMLDOMDocument *This,
   1484         VARIANT ontransformnodeSink);
   1485 
   1486     END_INTERFACE
   1487 } IXMLDOMDocumentVtbl;
   1488 
   1489 interface IXMLDOMDocument {
   1490     CONST_VTBL IXMLDOMDocumentVtbl* lpVtbl;
   1491 };
   1492 
   1493 #ifdef COBJMACROS
   1494 #ifndef WIDL_C_INLINE_WRAPPERS
   1495 /*** IUnknown methods ***/
   1496 #define IXMLDOMDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1497 #define IXMLDOMDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
   1498 #define IXMLDOMDocument_Release(This) (This)->lpVtbl->Release(This)
   1499 /*** IDispatch methods ***/
   1500 #define IXMLDOMDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1501 #define IXMLDOMDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1502 #define IXMLDOMDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1503 #define IXMLDOMDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1504 /*** IXMLDOMNode methods ***/
   1505 #define IXMLDOMDocument_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   1506 #define IXMLDOMDocument_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   1507 #define IXMLDOMDocument_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   1508 #define IXMLDOMDocument_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   1509 #define IXMLDOMDocument_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   1510 #define IXMLDOMDocument_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   1511 #define IXMLDOMDocument_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   1512 #define IXMLDOMDocument_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   1513 #define IXMLDOMDocument_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   1514 #define IXMLDOMDocument_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   1515 #define IXMLDOMDocument_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   1516 #define IXMLDOMDocument_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   1517 #define IXMLDOMDocument_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   1518 #define IXMLDOMDocument_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   1519 #define IXMLDOMDocument_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   1520 #define IXMLDOMDocument_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   1521 #define IXMLDOMDocument_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   1522 #define IXMLDOMDocument_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   1523 #define IXMLDOMDocument_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   1524 #define IXMLDOMDocument_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   1525 #define IXMLDOMDocument_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   1526 #define IXMLDOMDocument_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   1527 #define IXMLDOMDocument_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   1528 #define IXMLDOMDocument_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   1529 #define IXMLDOMDocument_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   1530 #define IXMLDOMDocument_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   1531 #define IXMLDOMDocument_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   1532 #define IXMLDOMDocument_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   1533 #define IXMLDOMDocument_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   1534 #define IXMLDOMDocument_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   1535 #define IXMLDOMDocument_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   1536 #define IXMLDOMDocument_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   1537 #define IXMLDOMDocument_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   1538 #define IXMLDOMDocument_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   1539 #define IXMLDOMDocument_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   1540 #define IXMLDOMDocument_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   1541 /*** IXMLDOMDocument methods ***/
   1542 #define IXMLDOMDocument_get_doctype(This,documentType) (This)->lpVtbl->get_doctype(This,documentType)
   1543 #define IXMLDOMDocument_get_implementation(This,impl) (This)->lpVtbl->get_implementation(This,impl)
   1544 #define IXMLDOMDocument_get_documentElement(This,DOMElement) (This)->lpVtbl->get_documentElement(This,DOMElement)
   1545 #define IXMLDOMDocument_putref_documentElement(This,DOMElement) (This)->lpVtbl->putref_documentElement(This,DOMElement)
   1546 #define IXMLDOMDocument_createElement(This,tagname,element) (This)->lpVtbl->createElement(This,tagname,element)
   1547 #define IXMLDOMDocument_createDocumentFragment(This,docFrag) (This)->lpVtbl->createDocumentFragment(This,docFrag)
   1548 #define IXMLDOMDocument_createTextNode(This,data,text) (This)->lpVtbl->createTextNode(This,data,text)
   1549 #define IXMLDOMDocument_createComment(This,data,comment) (This)->lpVtbl->createComment(This,data,comment)
   1550 #define IXMLDOMDocument_createCDATASection(This,data,cdata) (This)->lpVtbl->createCDATASection(This,data,cdata)
   1551 #define IXMLDOMDocument_createProcessingInstruction(This,target,data,pi) (This)->lpVtbl->createProcessingInstruction(This,target,data,pi)
   1552 #define IXMLDOMDocument_createAttribute(This,name,attribute) (This)->lpVtbl->createAttribute(This,name,attribute)
   1553 #define IXMLDOMDocument_createEntityReference(This,name,entityRef) (This)->lpVtbl->createEntityReference(This,name,entityRef)
   1554 #define IXMLDOMDocument_getElementsByTagName(This,tagName,resultList) (This)->lpVtbl->getElementsByTagName(This,tagName,resultList)
   1555 #define IXMLDOMDocument_createNode(This,Type,name,namespaceURI,node) (This)->lpVtbl->createNode(This,Type,name,namespaceURI,node)
   1556 #define IXMLDOMDocument_nodeFromID(This,idString,node) (This)->lpVtbl->nodeFromID(This,idString,node)
   1557 #define IXMLDOMDocument_load(This,xmlSource,isSuccessful) (This)->lpVtbl->load(This,xmlSource,isSuccessful)
   1558 #define IXMLDOMDocument_get_readyState(This,value) (This)->lpVtbl->get_readyState(This,value)
   1559 #define IXMLDOMDocument_get_parseError(This,errorObj) (This)->lpVtbl->get_parseError(This,errorObj)
   1560 #define IXMLDOMDocument_get_url(This,urlString) (This)->lpVtbl->get_url(This,urlString)
   1561 #define IXMLDOMDocument_get_async(This,isAsync) (This)->lpVtbl->get_async(This,isAsync)
   1562 #define IXMLDOMDocument_put_async(This,isAsync) (This)->lpVtbl->put_async(This,isAsync)
   1563 #define IXMLDOMDocument_abort(This) (This)->lpVtbl->abort(This)
   1564 #define IXMLDOMDocument_loadXML(This,bstrXML,isSuccessful) (This)->lpVtbl->loadXML(This,bstrXML,isSuccessful)
   1565 #define IXMLDOMDocument_save(This,destination) (This)->lpVtbl->save(This,destination)
   1566 #define IXMLDOMDocument_get_validateOnParse(This,isValidating) (This)->lpVtbl->get_validateOnParse(This,isValidating)
   1567 #define IXMLDOMDocument_put_validateOnParse(This,isValidating) (This)->lpVtbl->put_validateOnParse(This,isValidating)
   1568 #define IXMLDOMDocument_get_resolveExternals(This,isResolving) (This)->lpVtbl->get_resolveExternals(This,isResolving)
   1569 #define IXMLDOMDocument_put_resolveExternals(This,isValidating) (This)->lpVtbl->put_resolveExternals(This,isValidating)
   1570 #define IXMLDOMDocument_get_preserveWhiteSpace(This,isPreserving) (This)->lpVtbl->get_preserveWhiteSpace(This,isPreserving)
   1571 #define IXMLDOMDocument_put_preserveWhiteSpace(This,isPreserving) (This)->lpVtbl->put_preserveWhiteSpace(This,isPreserving)
   1572 #define IXMLDOMDocument_put_onreadystatechange(This,readystatechangeSink) (This)->lpVtbl->put_onreadystatechange(This,readystatechangeSink)
   1573 #define IXMLDOMDocument_put_ondataavailable(This,ondataavailableSink) (This)->lpVtbl->put_ondataavailable(This,ondataavailableSink)
   1574 #define IXMLDOMDocument_put_ontransformnode(This,ontransformnodeSink) (This)->lpVtbl->put_ontransformnode(This,ontransformnodeSink)
   1575 #else
   1576 /*** IUnknown methods ***/
   1577 static inline HRESULT IXMLDOMDocument_QueryInterface(IXMLDOMDocument* This,REFIID riid,void **ppvObject) {
   1578     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1579 }
   1580 static inline ULONG IXMLDOMDocument_AddRef(IXMLDOMDocument* This) {
   1581     return This->lpVtbl->AddRef(This);
   1582 }
   1583 static inline ULONG IXMLDOMDocument_Release(IXMLDOMDocument* This) {
   1584     return This->lpVtbl->Release(This);
   1585 }
   1586 /*** IDispatch methods ***/
   1587 static inline HRESULT IXMLDOMDocument_GetTypeInfoCount(IXMLDOMDocument* This,UINT *pctinfo) {
   1588     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1589 }
   1590 static inline HRESULT IXMLDOMDocument_GetTypeInfo(IXMLDOMDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1591     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1592 }
   1593 static inline HRESULT IXMLDOMDocument_GetIDsOfNames(IXMLDOMDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1594     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1595 }
   1596 static inline HRESULT IXMLDOMDocument_Invoke(IXMLDOMDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1597     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1598 }
   1599 /*** IXMLDOMNode methods ***/
   1600 static inline HRESULT IXMLDOMDocument_get_nodeName(IXMLDOMDocument* This,BSTR *name) {
   1601     return This->lpVtbl->get_nodeName(This,name);
   1602 }
   1603 static inline HRESULT IXMLDOMDocument_get_nodeValue(IXMLDOMDocument* This,VARIANT *value) {
   1604     return This->lpVtbl->get_nodeValue(This,value);
   1605 }
   1606 static inline HRESULT IXMLDOMDocument_put_nodeValue(IXMLDOMDocument* This,VARIANT value) {
   1607     return This->lpVtbl->put_nodeValue(This,value);
   1608 }
   1609 static inline HRESULT IXMLDOMDocument_get_nodeType(IXMLDOMDocument* This,DOMNodeType *type) {
   1610     return This->lpVtbl->get_nodeType(This,type);
   1611 }
   1612 static inline HRESULT IXMLDOMDocument_get_parentNode(IXMLDOMDocument* This,IXMLDOMNode **parent) {
   1613     return This->lpVtbl->get_parentNode(This,parent);
   1614 }
   1615 static inline HRESULT IXMLDOMDocument_get_childNodes(IXMLDOMDocument* This,IXMLDOMNodeList **childList) {
   1616     return This->lpVtbl->get_childNodes(This,childList);
   1617 }
   1618 static inline HRESULT IXMLDOMDocument_get_firstChild(IXMLDOMDocument* This,IXMLDOMNode **firstChild) {
   1619     return This->lpVtbl->get_firstChild(This,firstChild);
   1620 }
   1621 static inline HRESULT IXMLDOMDocument_get_lastChild(IXMLDOMDocument* This,IXMLDOMNode **lastChild) {
   1622     return This->lpVtbl->get_lastChild(This,lastChild);
   1623 }
   1624 static inline HRESULT IXMLDOMDocument_get_previousSibling(IXMLDOMDocument* This,IXMLDOMNode **previousSibling) {
   1625     return This->lpVtbl->get_previousSibling(This,previousSibling);
   1626 }
   1627 static inline HRESULT IXMLDOMDocument_get_nextSibling(IXMLDOMDocument* This,IXMLDOMNode **nextSibling) {
   1628     return This->lpVtbl->get_nextSibling(This,nextSibling);
   1629 }
   1630 static inline HRESULT IXMLDOMDocument_get_attributes(IXMLDOMDocument* This,IXMLDOMNamedNodeMap **attributeMap) {
   1631     return This->lpVtbl->get_attributes(This,attributeMap);
   1632 }
   1633 static inline HRESULT IXMLDOMDocument_insertBefore(IXMLDOMDocument* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   1634     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   1635 }
   1636 static inline HRESULT IXMLDOMDocument_replaceChild(IXMLDOMDocument* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   1637     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   1638 }
   1639 static inline HRESULT IXMLDOMDocument_removeChild(IXMLDOMDocument* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   1640     return This->lpVtbl->removeChild(This,childNode,oldChild);
   1641 }
   1642 static inline HRESULT IXMLDOMDocument_appendChild(IXMLDOMDocument* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   1643     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   1644 }
   1645 static inline HRESULT IXMLDOMDocument_hasChildNodes(IXMLDOMDocument* This,VARIANT_BOOL *hasChild) {
   1646     return This->lpVtbl->hasChildNodes(This,hasChild);
   1647 }
   1648 static inline HRESULT IXMLDOMDocument_get_ownerDocument(IXMLDOMDocument* This,IXMLDOMDocument **DOMDocument) {
   1649     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   1650 }
   1651 static inline HRESULT IXMLDOMDocument_cloneNode(IXMLDOMDocument* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   1652     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   1653 }
   1654 static inline HRESULT IXMLDOMDocument_get_nodeTypeString(IXMLDOMDocument* This,BSTR *nodeType) {
   1655     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   1656 }
   1657 static inline HRESULT IXMLDOMDocument_get_text(IXMLDOMDocument* This,BSTR *text) {
   1658     return This->lpVtbl->get_text(This,text);
   1659 }
   1660 static inline HRESULT IXMLDOMDocument_put_text(IXMLDOMDocument* This,BSTR text) {
   1661     return This->lpVtbl->put_text(This,text);
   1662 }
   1663 static inline HRESULT IXMLDOMDocument_get_specified(IXMLDOMDocument* This,VARIANT_BOOL *isSpecified) {
   1664     return This->lpVtbl->get_specified(This,isSpecified);
   1665 }
   1666 static inline HRESULT IXMLDOMDocument_get_definition(IXMLDOMDocument* This,IXMLDOMNode **definitionNode) {
   1667     return This->lpVtbl->get_definition(This,definitionNode);
   1668 }
   1669 static inline HRESULT IXMLDOMDocument_get_nodeTypedValue(IXMLDOMDocument* This,VARIANT *typedValue) {
   1670     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   1671 }
   1672 static inline HRESULT IXMLDOMDocument_put_nodeTypedValue(IXMLDOMDocument* This,VARIANT typedValue) {
   1673     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   1674 }
   1675 static inline HRESULT IXMLDOMDocument_get_dataType(IXMLDOMDocument* This,VARIANT *dataTypeName) {
   1676     return This->lpVtbl->get_dataType(This,dataTypeName);
   1677 }
   1678 static inline HRESULT IXMLDOMDocument_put_dataType(IXMLDOMDocument* This,BSTR dataTypeName) {
   1679     return This->lpVtbl->put_dataType(This,dataTypeName);
   1680 }
   1681 static inline HRESULT IXMLDOMDocument_get_xml(IXMLDOMDocument* This,BSTR *xmlString) {
   1682     return This->lpVtbl->get_xml(This,xmlString);
   1683 }
   1684 static inline HRESULT IXMLDOMDocument_transformNode(IXMLDOMDocument* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   1685     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   1686 }
   1687 static inline HRESULT IXMLDOMDocument_selectNodes(IXMLDOMDocument* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   1688     return This->lpVtbl->selectNodes(This,queryString,resultList);
   1689 }
   1690 static inline HRESULT IXMLDOMDocument_selectSingleNode(IXMLDOMDocument* This,BSTR queryString,IXMLDOMNode **resultNode) {
   1691     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   1692 }
   1693 static inline HRESULT IXMLDOMDocument_get_parsed(IXMLDOMDocument* This,VARIANT_BOOL *isParsed) {
   1694     return This->lpVtbl->get_parsed(This,isParsed);
   1695 }
   1696 static inline HRESULT IXMLDOMDocument_get_namespaceURI(IXMLDOMDocument* This,BSTR *namespaceURI) {
   1697     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   1698 }
   1699 static inline HRESULT IXMLDOMDocument_get_prefix(IXMLDOMDocument* This,BSTR *prefixString) {
   1700     return This->lpVtbl->get_prefix(This,prefixString);
   1701 }
   1702 static inline HRESULT IXMLDOMDocument_get_baseName(IXMLDOMDocument* This,BSTR *nameString) {
   1703     return This->lpVtbl->get_baseName(This,nameString);
   1704 }
   1705 static inline HRESULT IXMLDOMDocument_transformNodeToObject(IXMLDOMDocument* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   1706     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   1707 }
   1708 /*** IXMLDOMDocument methods ***/
   1709 static inline HRESULT IXMLDOMDocument_get_doctype(IXMLDOMDocument* This,IXMLDOMDocumentType **documentType) {
   1710     return This->lpVtbl->get_doctype(This,documentType);
   1711 }
   1712 static inline HRESULT IXMLDOMDocument_get_implementation(IXMLDOMDocument* This,IXMLDOMImplementation **impl) {
   1713     return This->lpVtbl->get_implementation(This,impl);
   1714 }
   1715 static inline HRESULT IXMLDOMDocument_get_documentElement(IXMLDOMDocument* This,IXMLDOMElement **DOMElement) {
   1716     return This->lpVtbl->get_documentElement(This,DOMElement);
   1717 }
   1718 static inline HRESULT IXMLDOMDocument_putref_documentElement(IXMLDOMDocument* This,IXMLDOMElement *DOMElement) {
   1719     return This->lpVtbl->putref_documentElement(This,DOMElement);
   1720 }
   1721 static inline HRESULT IXMLDOMDocument_createElement(IXMLDOMDocument* This,BSTR tagname,IXMLDOMElement **element) {
   1722     return This->lpVtbl->createElement(This,tagname,element);
   1723 }
   1724 static inline HRESULT IXMLDOMDocument_createDocumentFragment(IXMLDOMDocument* This,IXMLDOMDocumentFragment **docFrag) {
   1725     return This->lpVtbl->createDocumentFragment(This,docFrag);
   1726 }
   1727 static inline HRESULT IXMLDOMDocument_createTextNode(IXMLDOMDocument* This,BSTR data,IXMLDOMText **text) {
   1728     return This->lpVtbl->createTextNode(This,data,text);
   1729 }
   1730 static inline HRESULT IXMLDOMDocument_createComment(IXMLDOMDocument* This,BSTR data,IXMLDOMComment **comment) {
   1731     return This->lpVtbl->createComment(This,data,comment);
   1732 }
   1733 static inline HRESULT IXMLDOMDocument_createCDATASection(IXMLDOMDocument* This,BSTR data,IXMLDOMCDATASection **cdata) {
   1734     return This->lpVtbl->createCDATASection(This,data,cdata);
   1735 }
   1736 static inline HRESULT IXMLDOMDocument_createProcessingInstruction(IXMLDOMDocument* This,BSTR target,BSTR data,IXMLDOMProcessingInstruction **pi) {
   1737     return This->lpVtbl->createProcessingInstruction(This,target,data,pi);
   1738 }
   1739 static inline HRESULT IXMLDOMDocument_createAttribute(IXMLDOMDocument* This,BSTR name,IXMLDOMAttribute **attribute) {
   1740     return This->lpVtbl->createAttribute(This,name,attribute);
   1741 }
   1742 static inline HRESULT IXMLDOMDocument_createEntityReference(IXMLDOMDocument* This,BSTR name,IXMLDOMEntityReference **entityRef) {
   1743     return This->lpVtbl->createEntityReference(This,name,entityRef);
   1744 }
   1745 static inline HRESULT IXMLDOMDocument_getElementsByTagName(IXMLDOMDocument* This,BSTR tagName,IXMLDOMNodeList **resultList) {
   1746     return This->lpVtbl->getElementsByTagName(This,tagName,resultList);
   1747 }
   1748 static inline HRESULT IXMLDOMDocument_createNode(IXMLDOMDocument* This,VARIANT Type,BSTR name,BSTR namespaceURI,IXMLDOMNode **node) {
   1749     return This->lpVtbl->createNode(This,Type,name,namespaceURI,node);
   1750 }
   1751 static inline HRESULT IXMLDOMDocument_nodeFromID(IXMLDOMDocument* This,BSTR idString,IXMLDOMNode **node) {
   1752     return This->lpVtbl->nodeFromID(This,idString,node);
   1753 }
   1754 static inline HRESULT IXMLDOMDocument_load(IXMLDOMDocument* This,VARIANT xmlSource,VARIANT_BOOL *isSuccessful) {
   1755     return This->lpVtbl->load(This,xmlSource,isSuccessful);
   1756 }
   1757 static inline HRESULT IXMLDOMDocument_get_readyState(IXMLDOMDocument* This,LONG *value) {
   1758     return This->lpVtbl->get_readyState(This,value);
   1759 }
   1760 static inline HRESULT IXMLDOMDocument_get_parseError(IXMLDOMDocument* This,IXMLDOMParseError **errorObj) {
   1761     return This->lpVtbl->get_parseError(This,errorObj);
   1762 }
   1763 static inline HRESULT IXMLDOMDocument_get_url(IXMLDOMDocument* This,BSTR *urlString) {
   1764     return This->lpVtbl->get_url(This,urlString);
   1765 }
   1766 static inline HRESULT IXMLDOMDocument_get_async(IXMLDOMDocument* This,VARIANT_BOOL *isAsync) {
   1767     return This->lpVtbl->get_async(This,isAsync);
   1768 }
   1769 static inline HRESULT IXMLDOMDocument_put_async(IXMLDOMDocument* This,VARIANT_BOOL isAsync) {
   1770     return This->lpVtbl->put_async(This,isAsync);
   1771 }
   1772 static inline HRESULT IXMLDOMDocument_abort(IXMLDOMDocument* This) {
   1773     return This->lpVtbl->abort(This);
   1774 }
   1775 static inline HRESULT IXMLDOMDocument_loadXML(IXMLDOMDocument* This,BSTR bstrXML,VARIANT_BOOL *isSuccessful) {
   1776     return This->lpVtbl->loadXML(This,bstrXML,isSuccessful);
   1777 }
   1778 static inline HRESULT IXMLDOMDocument_save(IXMLDOMDocument* This,VARIANT destination) {
   1779     return This->lpVtbl->save(This,destination);
   1780 }
   1781 static inline HRESULT IXMLDOMDocument_get_validateOnParse(IXMLDOMDocument* This,VARIANT_BOOL *isValidating) {
   1782     return This->lpVtbl->get_validateOnParse(This,isValidating);
   1783 }
   1784 static inline HRESULT IXMLDOMDocument_put_validateOnParse(IXMLDOMDocument* This,VARIANT_BOOL isValidating) {
   1785     return This->lpVtbl->put_validateOnParse(This,isValidating);
   1786 }
   1787 static inline HRESULT IXMLDOMDocument_get_resolveExternals(IXMLDOMDocument* This,VARIANT_BOOL *isResolving) {
   1788     return This->lpVtbl->get_resolveExternals(This,isResolving);
   1789 }
   1790 static inline HRESULT IXMLDOMDocument_put_resolveExternals(IXMLDOMDocument* This,VARIANT_BOOL isValidating) {
   1791     return This->lpVtbl->put_resolveExternals(This,isValidating);
   1792 }
   1793 static inline HRESULT IXMLDOMDocument_get_preserveWhiteSpace(IXMLDOMDocument* This,VARIANT_BOOL *isPreserving) {
   1794     return This->lpVtbl->get_preserveWhiteSpace(This,isPreserving);
   1795 }
   1796 static inline HRESULT IXMLDOMDocument_put_preserveWhiteSpace(IXMLDOMDocument* This,VARIANT_BOOL isPreserving) {
   1797     return This->lpVtbl->put_preserveWhiteSpace(This,isPreserving);
   1798 }
   1799 static inline HRESULT IXMLDOMDocument_put_onreadystatechange(IXMLDOMDocument* This,VARIANT readystatechangeSink) {
   1800     return This->lpVtbl->put_onreadystatechange(This,readystatechangeSink);
   1801 }
   1802 static inline HRESULT IXMLDOMDocument_put_ondataavailable(IXMLDOMDocument* This,VARIANT ondataavailableSink) {
   1803     return This->lpVtbl->put_ondataavailable(This,ondataavailableSink);
   1804 }
   1805 static inline HRESULT IXMLDOMDocument_put_ontransformnode(IXMLDOMDocument* This,VARIANT ontransformnodeSink) {
   1806     return This->lpVtbl->put_ontransformnode(This,ontransformnodeSink);
   1807 }
   1808 #endif
   1809 #endif
   1810 
   1811 #endif
   1812 
   1813 
   1814 #endif  /* __IXMLDOMDocument_INTERFACE_DEFINED__ */
   1815 
   1816 /*****************************************************************************
   1817  * IXMLDOMNodeList interface
   1818  */
   1819 #ifndef __IXMLDOMNodeList_INTERFACE_DEFINED__
   1820 #define __IXMLDOMNodeList_INTERFACE_DEFINED__
   1821 
   1822 DEFINE_GUID(IID_IXMLDOMNodeList, 0x2933bf82, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   1823 #if defined(__cplusplus) && !defined(CINTERFACE)
   1824 MIDL_INTERFACE("2933bf82-7b36-11d2-b20e-00c04f983e60")
   1825 IXMLDOMNodeList : public IDispatch
   1826 {
   1827     virtual HRESULT STDMETHODCALLTYPE get_item(
   1828         LONG index,
   1829         IXMLDOMNode **listItem) = 0;
   1830 
   1831     virtual HRESULT STDMETHODCALLTYPE get_length(
   1832         LONG *listLength) = 0;
   1833 
   1834     virtual HRESULT STDMETHODCALLTYPE nextNode(
   1835         IXMLDOMNode **nextItem) = 0;
   1836 
   1837     virtual HRESULT STDMETHODCALLTYPE reset(
   1838         ) = 0;
   1839 
   1840     virtual HRESULT STDMETHODCALLTYPE _newEnum(
   1841         IUnknown **ppUnk) = 0;
   1842 
   1843 };
   1844 #ifdef __CRT_UUID_DECL
   1845 __CRT_UUID_DECL(IXMLDOMNodeList, 0x2933bf82, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   1846 #endif
   1847 #else
   1848 typedef struct IXMLDOMNodeListVtbl {
   1849     BEGIN_INTERFACE
   1850 
   1851     /*** IUnknown methods ***/
   1852     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1853         IXMLDOMNodeList *This,
   1854         REFIID riid,
   1855         void **ppvObject);
   1856 
   1857     ULONG (STDMETHODCALLTYPE *AddRef)(
   1858         IXMLDOMNodeList *This);
   1859 
   1860     ULONG (STDMETHODCALLTYPE *Release)(
   1861         IXMLDOMNodeList *This);
   1862 
   1863     /*** IDispatch methods ***/
   1864     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1865         IXMLDOMNodeList *This,
   1866         UINT *pctinfo);
   1867 
   1868     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1869         IXMLDOMNodeList *This,
   1870         UINT iTInfo,
   1871         LCID lcid,
   1872         ITypeInfo **ppTInfo);
   1873 
   1874     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1875         IXMLDOMNodeList *This,
   1876         REFIID riid,
   1877         LPOLESTR *rgszNames,
   1878         UINT cNames,
   1879         LCID lcid,
   1880         DISPID *rgDispId);
   1881 
   1882     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1883         IXMLDOMNodeList *This,
   1884         DISPID dispIdMember,
   1885         REFIID riid,
   1886         LCID lcid,
   1887         WORD wFlags,
   1888         DISPPARAMS *pDispParams,
   1889         VARIANT *pVarResult,
   1890         EXCEPINFO *pExcepInfo,
   1891         UINT *puArgErr);
   1892 
   1893     /*** IXMLDOMNodeList methods ***/
   1894     HRESULT (STDMETHODCALLTYPE *get_item)(
   1895         IXMLDOMNodeList *This,
   1896         LONG index,
   1897         IXMLDOMNode **listItem);
   1898 
   1899     HRESULT (STDMETHODCALLTYPE *get_length)(
   1900         IXMLDOMNodeList *This,
   1901         LONG *listLength);
   1902 
   1903     HRESULT (STDMETHODCALLTYPE *nextNode)(
   1904         IXMLDOMNodeList *This,
   1905         IXMLDOMNode **nextItem);
   1906 
   1907     HRESULT (STDMETHODCALLTYPE *reset)(
   1908         IXMLDOMNodeList *This);
   1909 
   1910     HRESULT (STDMETHODCALLTYPE *_newEnum)(
   1911         IXMLDOMNodeList *This,
   1912         IUnknown **ppUnk);
   1913 
   1914     END_INTERFACE
   1915 } IXMLDOMNodeListVtbl;
   1916 
   1917 interface IXMLDOMNodeList {
   1918     CONST_VTBL IXMLDOMNodeListVtbl* lpVtbl;
   1919 };
   1920 
   1921 #ifdef COBJMACROS
   1922 #ifndef WIDL_C_INLINE_WRAPPERS
   1923 /*** IUnknown methods ***/
   1924 #define IXMLDOMNodeList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1925 #define IXMLDOMNodeList_AddRef(This) (This)->lpVtbl->AddRef(This)
   1926 #define IXMLDOMNodeList_Release(This) (This)->lpVtbl->Release(This)
   1927 /*** IDispatch methods ***/
   1928 #define IXMLDOMNodeList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1929 #define IXMLDOMNodeList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1930 #define IXMLDOMNodeList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1931 #define IXMLDOMNodeList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1932 /*** IXMLDOMNodeList methods ***/
   1933 #define IXMLDOMNodeList_get_item(This,index,listItem) (This)->lpVtbl->get_item(This,index,listItem)
   1934 #define IXMLDOMNodeList_get_length(This,listLength) (This)->lpVtbl->get_length(This,listLength)
   1935 #define IXMLDOMNodeList_nextNode(This,nextItem) (This)->lpVtbl->nextNode(This,nextItem)
   1936 #define IXMLDOMNodeList_reset(This) (This)->lpVtbl->reset(This)
   1937 #define IXMLDOMNodeList__newEnum(This,ppUnk) (This)->lpVtbl->_newEnum(This,ppUnk)
   1938 #else
   1939 /*** IUnknown methods ***/
   1940 static inline HRESULT IXMLDOMNodeList_QueryInterface(IXMLDOMNodeList* This,REFIID riid,void **ppvObject) {
   1941     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1942 }
   1943 static inline ULONG IXMLDOMNodeList_AddRef(IXMLDOMNodeList* This) {
   1944     return This->lpVtbl->AddRef(This);
   1945 }
   1946 static inline ULONG IXMLDOMNodeList_Release(IXMLDOMNodeList* This) {
   1947     return This->lpVtbl->Release(This);
   1948 }
   1949 /*** IDispatch methods ***/
   1950 static inline HRESULT IXMLDOMNodeList_GetTypeInfoCount(IXMLDOMNodeList* This,UINT *pctinfo) {
   1951     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1952 }
   1953 static inline HRESULT IXMLDOMNodeList_GetTypeInfo(IXMLDOMNodeList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1954     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1955 }
   1956 static inline HRESULT IXMLDOMNodeList_GetIDsOfNames(IXMLDOMNodeList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1957     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1958 }
   1959 static inline HRESULT IXMLDOMNodeList_Invoke(IXMLDOMNodeList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1960     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1961 }
   1962 /*** IXMLDOMNodeList methods ***/
   1963 static inline HRESULT IXMLDOMNodeList_get_item(IXMLDOMNodeList* This,LONG index,IXMLDOMNode **listItem) {
   1964     return This->lpVtbl->get_item(This,index,listItem);
   1965 }
   1966 static inline HRESULT IXMLDOMNodeList_get_length(IXMLDOMNodeList* This,LONG *listLength) {
   1967     return This->lpVtbl->get_length(This,listLength);
   1968 }
   1969 static inline HRESULT IXMLDOMNodeList_nextNode(IXMLDOMNodeList* This,IXMLDOMNode **nextItem) {
   1970     return This->lpVtbl->nextNode(This,nextItem);
   1971 }
   1972 static inline HRESULT IXMLDOMNodeList_reset(IXMLDOMNodeList* This) {
   1973     return This->lpVtbl->reset(This);
   1974 }
   1975 static inline HRESULT IXMLDOMNodeList__newEnum(IXMLDOMNodeList* This,IUnknown **ppUnk) {
   1976     return This->lpVtbl->_newEnum(This,ppUnk);
   1977 }
   1978 #endif
   1979 #endif
   1980 
   1981 #endif
   1982 
   1983 
   1984 #endif  /* __IXMLDOMNodeList_INTERFACE_DEFINED__ */
   1985 
   1986 /*****************************************************************************
   1987  * IXMLDOMNamedNodeMap interface
   1988  */
   1989 #ifndef __IXMLDOMNamedNodeMap_INTERFACE_DEFINED__
   1990 #define __IXMLDOMNamedNodeMap_INTERFACE_DEFINED__
   1991 
   1992 DEFINE_GUID(IID_IXMLDOMNamedNodeMap, 0x2933bf83, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   1993 #if defined(__cplusplus) && !defined(CINTERFACE)
   1994 MIDL_INTERFACE("2933bf83-7b36-11d2-b20e-00c04f983e60")
   1995 IXMLDOMNamedNodeMap : public IDispatch
   1996 {
   1997     virtual HRESULT STDMETHODCALLTYPE getNamedItem(
   1998         BSTR name,
   1999         IXMLDOMNode **namedItem) = 0;
   2000 
   2001     virtual HRESULT STDMETHODCALLTYPE setNamedItem(
   2002         IXMLDOMNode *newItem,
   2003         IXMLDOMNode **namedItem) = 0;
   2004 
   2005     virtual HRESULT STDMETHODCALLTYPE removeNamedItem(
   2006         BSTR name,
   2007         IXMLDOMNode **namedItem) = 0;
   2008 
   2009     virtual HRESULT STDMETHODCALLTYPE get_item(
   2010         LONG index,
   2011         IXMLDOMNode **listItem) = 0;
   2012 
   2013     virtual HRESULT STDMETHODCALLTYPE get_length(
   2014         LONG *listLength) = 0;
   2015 
   2016     virtual HRESULT STDMETHODCALLTYPE getQualifiedItem(
   2017         BSTR baseName,
   2018         BSTR namespaceURI,
   2019         IXMLDOMNode **qualifiedItem) = 0;
   2020 
   2021     virtual HRESULT STDMETHODCALLTYPE removeQualifiedItem(
   2022         BSTR baseName,
   2023         BSTR namespaceURI,
   2024         IXMLDOMNode **qualifiedItem) = 0;
   2025 
   2026     virtual HRESULT STDMETHODCALLTYPE nextNode(
   2027         IXMLDOMNode **nextItem) = 0;
   2028 
   2029     virtual HRESULT STDMETHODCALLTYPE reset(
   2030         ) = 0;
   2031 
   2032     virtual HRESULT STDMETHODCALLTYPE _newEnum(
   2033         IUnknown **ppUnk) = 0;
   2034 
   2035 };
   2036 #ifdef __CRT_UUID_DECL
   2037 __CRT_UUID_DECL(IXMLDOMNamedNodeMap, 0x2933bf83, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   2038 #endif
   2039 #else
   2040 typedef struct IXMLDOMNamedNodeMapVtbl {
   2041     BEGIN_INTERFACE
   2042 
   2043     /*** IUnknown methods ***/
   2044     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2045         IXMLDOMNamedNodeMap *This,
   2046         REFIID riid,
   2047         void **ppvObject);
   2048 
   2049     ULONG (STDMETHODCALLTYPE *AddRef)(
   2050         IXMLDOMNamedNodeMap *This);
   2051 
   2052     ULONG (STDMETHODCALLTYPE *Release)(
   2053         IXMLDOMNamedNodeMap *This);
   2054 
   2055     /*** IDispatch methods ***/
   2056     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2057         IXMLDOMNamedNodeMap *This,
   2058         UINT *pctinfo);
   2059 
   2060     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2061         IXMLDOMNamedNodeMap *This,
   2062         UINT iTInfo,
   2063         LCID lcid,
   2064         ITypeInfo **ppTInfo);
   2065 
   2066     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2067         IXMLDOMNamedNodeMap *This,
   2068         REFIID riid,
   2069         LPOLESTR *rgszNames,
   2070         UINT cNames,
   2071         LCID lcid,
   2072         DISPID *rgDispId);
   2073 
   2074     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2075         IXMLDOMNamedNodeMap *This,
   2076         DISPID dispIdMember,
   2077         REFIID riid,
   2078         LCID lcid,
   2079         WORD wFlags,
   2080         DISPPARAMS *pDispParams,
   2081         VARIANT *pVarResult,
   2082         EXCEPINFO *pExcepInfo,
   2083         UINT *puArgErr);
   2084 
   2085     /*** IXMLDOMNamedNodeMap methods ***/
   2086     HRESULT (STDMETHODCALLTYPE *getNamedItem)(
   2087         IXMLDOMNamedNodeMap *This,
   2088         BSTR name,
   2089         IXMLDOMNode **namedItem);
   2090 
   2091     HRESULT (STDMETHODCALLTYPE *setNamedItem)(
   2092         IXMLDOMNamedNodeMap *This,
   2093         IXMLDOMNode *newItem,
   2094         IXMLDOMNode **namedItem);
   2095 
   2096     HRESULT (STDMETHODCALLTYPE *removeNamedItem)(
   2097         IXMLDOMNamedNodeMap *This,
   2098         BSTR name,
   2099         IXMLDOMNode **namedItem);
   2100 
   2101     HRESULT (STDMETHODCALLTYPE *get_item)(
   2102         IXMLDOMNamedNodeMap *This,
   2103         LONG index,
   2104         IXMLDOMNode **listItem);
   2105 
   2106     HRESULT (STDMETHODCALLTYPE *get_length)(
   2107         IXMLDOMNamedNodeMap *This,
   2108         LONG *listLength);
   2109 
   2110     HRESULT (STDMETHODCALLTYPE *getQualifiedItem)(
   2111         IXMLDOMNamedNodeMap *This,
   2112         BSTR baseName,
   2113         BSTR namespaceURI,
   2114         IXMLDOMNode **qualifiedItem);
   2115 
   2116     HRESULT (STDMETHODCALLTYPE *removeQualifiedItem)(
   2117         IXMLDOMNamedNodeMap *This,
   2118         BSTR baseName,
   2119         BSTR namespaceURI,
   2120         IXMLDOMNode **qualifiedItem);
   2121 
   2122     HRESULT (STDMETHODCALLTYPE *nextNode)(
   2123         IXMLDOMNamedNodeMap *This,
   2124         IXMLDOMNode **nextItem);
   2125 
   2126     HRESULT (STDMETHODCALLTYPE *reset)(
   2127         IXMLDOMNamedNodeMap *This);
   2128 
   2129     HRESULT (STDMETHODCALLTYPE *_newEnum)(
   2130         IXMLDOMNamedNodeMap *This,
   2131         IUnknown **ppUnk);
   2132 
   2133     END_INTERFACE
   2134 } IXMLDOMNamedNodeMapVtbl;
   2135 
   2136 interface IXMLDOMNamedNodeMap {
   2137     CONST_VTBL IXMLDOMNamedNodeMapVtbl* lpVtbl;
   2138 };
   2139 
   2140 #ifdef COBJMACROS
   2141 #ifndef WIDL_C_INLINE_WRAPPERS
   2142 /*** IUnknown methods ***/
   2143 #define IXMLDOMNamedNodeMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2144 #define IXMLDOMNamedNodeMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   2145 #define IXMLDOMNamedNodeMap_Release(This) (This)->lpVtbl->Release(This)
   2146 /*** IDispatch methods ***/
   2147 #define IXMLDOMNamedNodeMap_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2148 #define IXMLDOMNamedNodeMap_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2149 #define IXMLDOMNamedNodeMap_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2150 #define IXMLDOMNamedNodeMap_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2151 /*** IXMLDOMNamedNodeMap methods ***/
   2152 #define IXMLDOMNamedNodeMap_getNamedItem(This,name,namedItem) (This)->lpVtbl->getNamedItem(This,name,namedItem)
   2153 #define IXMLDOMNamedNodeMap_setNamedItem(This,newItem,namedItem) (This)->lpVtbl->setNamedItem(This,newItem,namedItem)
   2154 #define IXMLDOMNamedNodeMap_removeNamedItem(This,name,namedItem) (This)->lpVtbl->removeNamedItem(This,name,namedItem)
   2155 #define IXMLDOMNamedNodeMap_get_item(This,index,listItem) (This)->lpVtbl->get_item(This,index,listItem)
   2156 #define IXMLDOMNamedNodeMap_get_length(This,listLength) (This)->lpVtbl->get_length(This,listLength)
   2157 #define IXMLDOMNamedNodeMap_getQualifiedItem(This,baseName,namespaceURI,qualifiedItem) (This)->lpVtbl->getQualifiedItem(This,baseName,namespaceURI,qualifiedItem)
   2158 #define IXMLDOMNamedNodeMap_removeQualifiedItem(This,baseName,namespaceURI,qualifiedItem) (This)->lpVtbl->removeQualifiedItem(This,baseName,namespaceURI,qualifiedItem)
   2159 #define IXMLDOMNamedNodeMap_nextNode(This,nextItem) (This)->lpVtbl->nextNode(This,nextItem)
   2160 #define IXMLDOMNamedNodeMap_reset(This) (This)->lpVtbl->reset(This)
   2161 #define IXMLDOMNamedNodeMap__newEnum(This,ppUnk) (This)->lpVtbl->_newEnum(This,ppUnk)
   2162 #else
   2163 /*** IUnknown methods ***/
   2164 static inline HRESULT IXMLDOMNamedNodeMap_QueryInterface(IXMLDOMNamedNodeMap* This,REFIID riid,void **ppvObject) {
   2165     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2166 }
   2167 static inline ULONG IXMLDOMNamedNodeMap_AddRef(IXMLDOMNamedNodeMap* This) {
   2168     return This->lpVtbl->AddRef(This);
   2169 }
   2170 static inline ULONG IXMLDOMNamedNodeMap_Release(IXMLDOMNamedNodeMap* This) {
   2171     return This->lpVtbl->Release(This);
   2172 }
   2173 /*** IDispatch methods ***/
   2174 static inline HRESULT IXMLDOMNamedNodeMap_GetTypeInfoCount(IXMLDOMNamedNodeMap* This,UINT *pctinfo) {
   2175     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2176 }
   2177 static inline HRESULT IXMLDOMNamedNodeMap_GetTypeInfo(IXMLDOMNamedNodeMap* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2178     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2179 }
   2180 static inline HRESULT IXMLDOMNamedNodeMap_GetIDsOfNames(IXMLDOMNamedNodeMap* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2181     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2182 }
   2183 static inline HRESULT IXMLDOMNamedNodeMap_Invoke(IXMLDOMNamedNodeMap* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2184     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2185 }
   2186 /*** IXMLDOMNamedNodeMap methods ***/
   2187 static inline HRESULT IXMLDOMNamedNodeMap_getNamedItem(IXMLDOMNamedNodeMap* This,BSTR name,IXMLDOMNode **namedItem) {
   2188     return This->lpVtbl->getNamedItem(This,name,namedItem);
   2189 }
   2190 static inline HRESULT IXMLDOMNamedNodeMap_setNamedItem(IXMLDOMNamedNodeMap* This,IXMLDOMNode *newItem,IXMLDOMNode **namedItem) {
   2191     return This->lpVtbl->setNamedItem(This,newItem,namedItem);
   2192 }
   2193 static inline HRESULT IXMLDOMNamedNodeMap_removeNamedItem(IXMLDOMNamedNodeMap* This,BSTR name,IXMLDOMNode **namedItem) {
   2194     return This->lpVtbl->removeNamedItem(This,name,namedItem);
   2195 }
   2196 static inline HRESULT IXMLDOMNamedNodeMap_get_item(IXMLDOMNamedNodeMap* This,LONG index,IXMLDOMNode **listItem) {
   2197     return This->lpVtbl->get_item(This,index,listItem);
   2198 }
   2199 static inline HRESULT IXMLDOMNamedNodeMap_get_length(IXMLDOMNamedNodeMap* This,LONG *listLength) {
   2200     return This->lpVtbl->get_length(This,listLength);
   2201 }
   2202 static inline HRESULT IXMLDOMNamedNodeMap_getQualifiedItem(IXMLDOMNamedNodeMap* This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem) {
   2203     return This->lpVtbl->getQualifiedItem(This,baseName,namespaceURI,qualifiedItem);
   2204 }
   2205 static inline HRESULT IXMLDOMNamedNodeMap_removeQualifiedItem(IXMLDOMNamedNodeMap* This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem) {
   2206     return This->lpVtbl->removeQualifiedItem(This,baseName,namespaceURI,qualifiedItem);
   2207 }
   2208 static inline HRESULT IXMLDOMNamedNodeMap_nextNode(IXMLDOMNamedNodeMap* This,IXMLDOMNode **nextItem) {
   2209     return This->lpVtbl->nextNode(This,nextItem);
   2210 }
   2211 static inline HRESULT IXMLDOMNamedNodeMap_reset(IXMLDOMNamedNodeMap* This) {
   2212     return This->lpVtbl->reset(This);
   2213 }
   2214 static inline HRESULT IXMLDOMNamedNodeMap__newEnum(IXMLDOMNamedNodeMap* This,IUnknown **ppUnk) {
   2215     return This->lpVtbl->_newEnum(This,ppUnk);
   2216 }
   2217 #endif
   2218 #endif
   2219 
   2220 #endif
   2221 
   2222 
   2223 #endif  /* __IXMLDOMNamedNodeMap_INTERFACE_DEFINED__ */
   2224 
   2225 /*****************************************************************************
   2226  * IXMLDOMDocumentFragment interface
   2227  */
   2228 #ifndef __IXMLDOMDocumentFragment_INTERFACE_DEFINED__
   2229 #define __IXMLDOMDocumentFragment_INTERFACE_DEFINED__
   2230 
   2231 DEFINE_GUID(IID_IXMLDOMDocumentFragment, 0x3efaa413, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82);
   2232 #if defined(__cplusplus) && !defined(CINTERFACE)
   2233 MIDL_INTERFACE("3efaa413-272f-11d2-836f-0000f87a7782")
   2234 IXMLDOMDocumentFragment : public IXMLDOMNode
   2235 {
   2236 };
   2237 #ifdef __CRT_UUID_DECL
   2238 __CRT_UUID_DECL(IXMLDOMDocumentFragment, 0x3efaa413, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82)
   2239 #endif
   2240 #else
   2241 typedef struct IXMLDOMDocumentFragmentVtbl {
   2242     BEGIN_INTERFACE
   2243 
   2244     /*** IUnknown methods ***/
   2245     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2246         IXMLDOMDocumentFragment *This,
   2247         REFIID riid,
   2248         void **ppvObject);
   2249 
   2250     ULONG (STDMETHODCALLTYPE *AddRef)(
   2251         IXMLDOMDocumentFragment *This);
   2252 
   2253     ULONG (STDMETHODCALLTYPE *Release)(
   2254         IXMLDOMDocumentFragment *This);
   2255 
   2256     /*** IDispatch methods ***/
   2257     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2258         IXMLDOMDocumentFragment *This,
   2259         UINT *pctinfo);
   2260 
   2261     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2262         IXMLDOMDocumentFragment *This,
   2263         UINT iTInfo,
   2264         LCID lcid,
   2265         ITypeInfo **ppTInfo);
   2266 
   2267     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2268         IXMLDOMDocumentFragment *This,
   2269         REFIID riid,
   2270         LPOLESTR *rgszNames,
   2271         UINT cNames,
   2272         LCID lcid,
   2273         DISPID *rgDispId);
   2274 
   2275     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2276         IXMLDOMDocumentFragment *This,
   2277         DISPID dispIdMember,
   2278         REFIID riid,
   2279         LCID lcid,
   2280         WORD wFlags,
   2281         DISPPARAMS *pDispParams,
   2282         VARIANT *pVarResult,
   2283         EXCEPINFO *pExcepInfo,
   2284         UINT *puArgErr);
   2285 
   2286     /*** IXMLDOMNode methods ***/
   2287     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   2288         IXMLDOMDocumentFragment *This,
   2289         BSTR *name);
   2290 
   2291     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   2292         IXMLDOMDocumentFragment *This,
   2293         VARIANT *value);
   2294 
   2295     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   2296         IXMLDOMDocumentFragment *This,
   2297         VARIANT value);
   2298 
   2299     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   2300         IXMLDOMDocumentFragment *This,
   2301         DOMNodeType *type);
   2302 
   2303     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   2304         IXMLDOMDocumentFragment *This,
   2305         IXMLDOMNode **parent);
   2306 
   2307     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   2308         IXMLDOMDocumentFragment *This,
   2309         IXMLDOMNodeList **childList);
   2310 
   2311     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   2312         IXMLDOMDocumentFragment *This,
   2313         IXMLDOMNode **firstChild);
   2314 
   2315     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   2316         IXMLDOMDocumentFragment *This,
   2317         IXMLDOMNode **lastChild);
   2318 
   2319     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   2320         IXMLDOMDocumentFragment *This,
   2321         IXMLDOMNode **previousSibling);
   2322 
   2323     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   2324         IXMLDOMDocumentFragment *This,
   2325         IXMLDOMNode **nextSibling);
   2326 
   2327     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   2328         IXMLDOMDocumentFragment *This,
   2329         IXMLDOMNamedNodeMap **attributeMap);
   2330 
   2331     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   2332         IXMLDOMDocumentFragment *This,
   2333         IXMLDOMNode *newChild,
   2334         VARIANT refChild,
   2335         IXMLDOMNode **outNewChild);
   2336 
   2337     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   2338         IXMLDOMDocumentFragment *This,
   2339         IXMLDOMNode *newChild,
   2340         IXMLDOMNode *oldChild,
   2341         IXMLDOMNode **outOldChild);
   2342 
   2343     HRESULT (STDMETHODCALLTYPE *removeChild)(
   2344         IXMLDOMDocumentFragment *This,
   2345         IXMLDOMNode *childNode,
   2346         IXMLDOMNode **oldChild);
   2347 
   2348     HRESULT (STDMETHODCALLTYPE *appendChild)(
   2349         IXMLDOMDocumentFragment *This,
   2350         IXMLDOMNode *newChild,
   2351         IXMLDOMNode **outNewChild);
   2352 
   2353     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   2354         IXMLDOMDocumentFragment *This,
   2355         VARIANT_BOOL *hasChild);
   2356 
   2357     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   2358         IXMLDOMDocumentFragment *This,
   2359         IXMLDOMDocument **DOMDocument);
   2360 
   2361     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   2362         IXMLDOMDocumentFragment *This,
   2363         VARIANT_BOOL deep,
   2364         IXMLDOMNode **cloneRoot);
   2365 
   2366     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   2367         IXMLDOMDocumentFragment *This,
   2368         BSTR *nodeType);
   2369 
   2370     HRESULT (STDMETHODCALLTYPE *get_text)(
   2371         IXMLDOMDocumentFragment *This,
   2372         BSTR *text);
   2373 
   2374     HRESULT (STDMETHODCALLTYPE *put_text)(
   2375         IXMLDOMDocumentFragment *This,
   2376         BSTR text);
   2377 
   2378     HRESULT (STDMETHODCALLTYPE *get_specified)(
   2379         IXMLDOMDocumentFragment *This,
   2380         VARIANT_BOOL *isSpecified);
   2381 
   2382     HRESULT (STDMETHODCALLTYPE *get_definition)(
   2383         IXMLDOMDocumentFragment *This,
   2384         IXMLDOMNode **definitionNode);
   2385 
   2386     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   2387         IXMLDOMDocumentFragment *This,
   2388         VARIANT *typedValue);
   2389 
   2390     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   2391         IXMLDOMDocumentFragment *This,
   2392         VARIANT typedValue);
   2393 
   2394     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   2395         IXMLDOMDocumentFragment *This,
   2396         VARIANT *dataTypeName);
   2397 
   2398     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   2399         IXMLDOMDocumentFragment *This,
   2400         BSTR dataTypeName);
   2401 
   2402     HRESULT (STDMETHODCALLTYPE *get_xml)(
   2403         IXMLDOMDocumentFragment *This,
   2404         BSTR *xmlString);
   2405 
   2406     HRESULT (STDMETHODCALLTYPE *transformNode)(
   2407         IXMLDOMDocumentFragment *This,
   2408         IXMLDOMNode *styleSheet,
   2409         BSTR *xmlString);
   2410 
   2411     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   2412         IXMLDOMDocumentFragment *This,
   2413         BSTR queryString,
   2414         IXMLDOMNodeList **resultList);
   2415 
   2416     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   2417         IXMLDOMDocumentFragment *This,
   2418         BSTR queryString,
   2419         IXMLDOMNode **resultNode);
   2420 
   2421     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   2422         IXMLDOMDocumentFragment *This,
   2423         VARIANT_BOOL *isParsed);
   2424 
   2425     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   2426         IXMLDOMDocumentFragment *This,
   2427         BSTR *namespaceURI);
   2428 
   2429     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   2430         IXMLDOMDocumentFragment *This,
   2431         BSTR *prefixString);
   2432 
   2433     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   2434         IXMLDOMDocumentFragment *This,
   2435         BSTR *nameString);
   2436 
   2437     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   2438         IXMLDOMDocumentFragment *This,
   2439         IXMLDOMNode *stylesheet,
   2440         VARIANT outputObject);
   2441 
   2442     END_INTERFACE
   2443 } IXMLDOMDocumentFragmentVtbl;
   2444 
   2445 interface IXMLDOMDocumentFragment {
   2446     CONST_VTBL IXMLDOMDocumentFragmentVtbl* lpVtbl;
   2447 };
   2448 
   2449 #ifdef COBJMACROS
   2450 #ifndef WIDL_C_INLINE_WRAPPERS
   2451 /*** IUnknown methods ***/
   2452 #define IXMLDOMDocumentFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2453 #define IXMLDOMDocumentFragment_AddRef(This) (This)->lpVtbl->AddRef(This)
   2454 #define IXMLDOMDocumentFragment_Release(This) (This)->lpVtbl->Release(This)
   2455 /*** IDispatch methods ***/
   2456 #define IXMLDOMDocumentFragment_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2457 #define IXMLDOMDocumentFragment_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2458 #define IXMLDOMDocumentFragment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2459 #define IXMLDOMDocumentFragment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2460 /*** IXMLDOMNode methods ***/
   2461 #define IXMLDOMDocumentFragment_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   2462 #define IXMLDOMDocumentFragment_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   2463 #define IXMLDOMDocumentFragment_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   2464 #define IXMLDOMDocumentFragment_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   2465 #define IXMLDOMDocumentFragment_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   2466 #define IXMLDOMDocumentFragment_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   2467 #define IXMLDOMDocumentFragment_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   2468 #define IXMLDOMDocumentFragment_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   2469 #define IXMLDOMDocumentFragment_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   2470 #define IXMLDOMDocumentFragment_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   2471 #define IXMLDOMDocumentFragment_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   2472 #define IXMLDOMDocumentFragment_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   2473 #define IXMLDOMDocumentFragment_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   2474 #define IXMLDOMDocumentFragment_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   2475 #define IXMLDOMDocumentFragment_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   2476 #define IXMLDOMDocumentFragment_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   2477 #define IXMLDOMDocumentFragment_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   2478 #define IXMLDOMDocumentFragment_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   2479 #define IXMLDOMDocumentFragment_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   2480 #define IXMLDOMDocumentFragment_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   2481 #define IXMLDOMDocumentFragment_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   2482 #define IXMLDOMDocumentFragment_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   2483 #define IXMLDOMDocumentFragment_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   2484 #define IXMLDOMDocumentFragment_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   2485 #define IXMLDOMDocumentFragment_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   2486 #define IXMLDOMDocumentFragment_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   2487 #define IXMLDOMDocumentFragment_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   2488 #define IXMLDOMDocumentFragment_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   2489 #define IXMLDOMDocumentFragment_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   2490 #define IXMLDOMDocumentFragment_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   2491 #define IXMLDOMDocumentFragment_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   2492 #define IXMLDOMDocumentFragment_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   2493 #define IXMLDOMDocumentFragment_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   2494 #define IXMLDOMDocumentFragment_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   2495 #define IXMLDOMDocumentFragment_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   2496 #define IXMLDOMDocumentFragment_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   2497 #else
   2498 /*** IUnknown methods ***/
   2499 static inline HRESULT IXMLDOMDocumentFragment_QueryInterface(IXMLDOMDocumentFragment* This,REFIID riid,void **ppvObject) {
   2500     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2501 }
   2502 static inline ULONG IXMLDOMDocumentFragment_AddRef(IXMLDOMDocumentFragment* This) {
   2503     return This->lpVtbl->AddRef(This);
   2504 }
   2505 static inline ULONG IXMLDOMDocumentFragment_Release(IXMLDOMDocumentFragment* This) {
   2506     return This->lpVtbl->Release(This);
   2507 }
   2508 /*** IDispatch methods ***/
   2509 static inline HRESULT IXMLDOMDocumentFragment_GetTypeInfoCount(IXMLDOMDocumentFragment* This,UINT *pctinfo) {
   2510     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2511 }
   2512 static inline HRESULT IXMLDOMDocumentFragment_GetTypeInfo(IXMLDOMDocumentFragment* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2513     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2514 }
   2515 static inline HRESULT IXMLDOMDocumentFragment_GetIDsOfNames(IXMLDOMDocumentFragment* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2516     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2517 }
   2518 static inline HRESULT IXMLDOMDocumentFragment_Invoke(IXMLDOMDocumentFragment* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2519     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2520 }
   2521 /*** IXMLDOMNode methods ***/
   2522 static inline HRESULT IXMLDOMDocumentFragment_get_nodeName(IXMLDOMDocumentFragment* This,BSTR *name) {
   2523     return This->lpVtbl->get_nodeName(This,name);
   2524 }
   2525 static inline HRESULT IXMLDOMDocumentFragment_get_nodeValue(IXMLDOMDocumentFragment* This,VARIANT *value) {
   2526     return This->lpVtbl->get_nodeValue(This,value);
   2527 }
   2528 static inline HRESULT IXMLDOMDocumentFragment_put_nodeValue(IXMLDOMDocumentFragment* This,VARIANT value) {
   2529     return This->lpVtbl->put_nodeValue(This,value);
   2530 }
   2531 static inline HRESULT IXMLDOMDocumentFragment_get_nodeType(IXMLDOMDocumentFragment* This,DOMNodeType *type) {
   2532     return This->lpVtbl->get_nodeType(This,type);
   2533 }
   2534 static inline HRESULT IXMLDOMDocumentFragment_get_parentNode(IXMLDOMDocumentFragment* This,IXMLDOMNode **parent) {
   2535     return This->lpVtbl->get_parentNode(This,parent);
   2536 }
   2537 static inline HRESULT IXMLDOMDocumentFragment_get_childNodes(IXMLDOMDocumentFragment* This,IXMLDOMNodeList **childList) {
   2538     return This->lpVtbl->get_childNodes(This,childList);
   2539 }
   2540 static inline HRESULT IXMLDOMDocumentFragment_get_firstChild(IXMLDOMDocumentFragment* This,IXMLDOMNode **firstChild) {
   2541     return This->lpVtbl->get_firstChild(This,firstChild);
   2542 }
   2543 static inline HRESULT IXMLDOMDocumentFragment_get_lastChild(IXMLDOMDocumentFragment* This,IXMLDOMNode **lastChild) {
   2544     return This->lpVtbl->get_lastChild(This,lastChild);
   2545 }
   2546 static inline HRESULT IXMLDOMDocumentFragment_get_previousSibling(IXMLDOMDocumentFragment* This,IXMLDOMNode **previousSibling) {
   2547     return This->lpVtbl->get_previousSibling(This,previousSibling);
   2548 }
   2549 static inline HRESULT IXMLDOMDocumentFragment_get_nextSibling(IXMLDOMDocumentFragment* This,IXMLDOMNode **nextSibling) {
   2550     return This->lpVtbl->get_nextSibling(This,nextSibling);
   2551 }
   2552 static inline HRESULT IXMLDOMDocumentFragment_get_attributes(IXMLDOMDocumentFragment* This,IXMLDOMNamedNodeMap **attributeMap) {
   2553     return This->lpVtbl->get_attributes(This,attributeMap);
   2554 }
   2555 static inline HRESULT IXMLDOMDocumentFragment_insertBefore(IXMLDOMDocumentFragment* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   2556     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   2557 }
   2558 static inline HRESULT IXMLDOMDocumentFragment_replaceChild(IXMLDOMDocumentFragment* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   2559     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   2560 }
   2561 static inline HRESULT IXMLDOMDocumentFragment_removeChild(IXMLDOMDocumentFragment* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   2562     return This->lpVtbl->removeChild(This,childNode,oldChild);
   2563 }
   2564 static inline HRESULT IXMLDOMDocumentFragment_appendChild(IXMLDOMDocumentFragment* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   2565     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   2566 }
   2567 static inline HRESULT IXMLDOMDocumentFragment_hasChildNodes(IXMLDOMDocumentFragment* This,VARIANT_BOOL *hasChild) {
   2568     return This->lpVtbl->hasChildNodes(This,hasChild);
   2569 }
   2570 static inline HRESULT IXMLDOMDocumentFragment_get_ownerDocument(IXMLDOMDocumentFragment* This,IXMLDOMDocument **DOMDocument) {
   2571     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   2572 }
   2573 static inline HRESULT IXMLDOMDocumentFragment_cloneNode(IXMLDOMDocumentFragment* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   2574     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   2575 }
   2576 static inline HRESULT IXMLDOMDocumentFragment_get_nodeTypeString(IXMLDOMDocumentFragment* This,BSTR *nodeType) {
   2577     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   2578 }
   2579 static inline HRESULT IXMLDOMDocumentFragment_get_text(IXMLDOMDocumentFragment* This,BSTR *text) {
   2580     return This->lpVtbl->get_text(This,text);
   2581 }
   2582 static inline HRESULT IXMLDOMDocumentFragment_put_text(IXMLDOMDocumentFragment* This,BSTR text) {
   2583     return This->lpVtbl->put_text(This,text);
   2584 }
   2585 static inline HRESULT IXMLDOMDocumentFragment_get_specified(IXMLDOMDocumentFragment* This,VARIANT_BOOL *isSpecified) {
   2586     return This->lpVtbl->get_specified(This,isSpecified);
   2587 }
   2588 static inline HRESULT IXMLDOMDocumentFragment_get_definition(IXMLDOMDocumentFragment* This,IXMLDOMNode **definitionNode) {
   2589     return This->lpVtbl->get_definition(This,definitionNode);
   2590 }
   2591 static inline HRESULT IXMLDOMDocumentFragment_get_nodeTypedValue(IXMLDOMDocumentFragment* This,VARIANT *typedValue) {
   2592     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   2593 }
   2594 static inline HRESULT IXMLDOMDocumentFragment_put_nodeTypedValue(IXMLDOMDocumentFragment* This,VARIANT typedValue) {
   2595     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   2596 }
   2597 static inline HRESULT IXMLDOMDocumentFragment_get_dataType(IXMLDOMDocumentFragment* This,VARIANT *dataTypeName) {
   2598     return This->lpVtbl->get_dataType(This,dataTypeName);
   2599 }
   2600 static inline HRESULT IXMLDOMDocumentFragment_put_dataType(IXMLDOMDocumentFragment* This,BSTR dataTypeName) {
   2601     return This->lpVtbl->put_dataType(This,dataTypeName);
   2602 }
   2603 static inline HRESULT IXMLDOMDocumentFragment_get_xml(IXMLDOMDocumentFragment* This,BSTR *xmlString) {
   2604     return This->lpVtbl->get_xml(This,xmlString);
   2605 }
   2606 static inline HRESULT IXMLDOMDocumentFragment_transformNode(IXMLDOMDocumentFragment* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   2607     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   2608 }
   2609 static inline HRESULT IXMLDOMDocumentFragment_selectNodes(IXMLDOMDocumentFragment* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   2610     return This->lpVtbl->selectNodes(This,queryString,resultList);
   2611 }
   2612 static inline HRESULT IXMLDOMDocumentFragment_selectSingleNode(IXMLDOMDocumentFragment* This,BSTR queryString,IXMLDOMNode **resultNode) {
   2613     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   2614 }
   2615 static inline HRESULT IXMLDOMDocumentFragment_get_parsed(IXMLDOMDocumentFragment* This,VARIANT_BOOL *isParsed) {
   2616     return This->lpVtbl->get_parsed(This,isParsed);
   2617 }
   2618 static inline HRESULT IXMLDOMDocumentFragment_get_namespaceURI(IXMLDOMDocumentFragment* This,BSTR *namespaceURI) {
   2619     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   2620 }
   2621 static inline HRESULT IXMLDOMDocumentFragment_get_prefix(IXMLDOMDocumentFragment* This,BSTR *prefixString) {
   2622     return This->lpVtbl->get_prefix(This,prefixString);
   2623 }
   2624 static inline HRESULT IXMLDOMDocumentFragment_get_baseName(IXMLDOMDocumentFragment* This,BSTR *nameString) {
   2625     return This->lpVtbl->get_baseName(This,nameString);
   2626 }
   2627 static inline HRESULT IXMLDOMDocumentFragment_transformNodeToObject(IXMLDOMDocumentFragment* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   2628     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   2629 }
   2630 #endif
   2631 #endif
   2632 
   2633 #endif
   2634 
   2635 
   2636 #endif  /* __IXMLDOMDocumentFragment_INTERFACE_DEFINED__ */
   2637 
   2638 /*****************************************************************************
   2639  * IXMLDOMCharacterData interface
   2640  */
   2641 #ifndef __IXMLDOMCharacterData_INTERFACE_DEFINED__
   2642 #define __IXMLDOMCharacterData_INTERFACE_DEFINED__
   2643 
   2644 DEFINE_GUID(IID_IXMLDOMCharacterData, 0x2933bf84, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   2645 #if defined(__cplusplus) && !defined(CINTERFACE)
   2646 MIDL_INTERFACE("2933bf84-7b36-11d2-b20e-00c04f983e60")
   2647 IXMLDOMCharacterData : public IXMLDOMNode
   2648 {
   2649     virtual HRESULT STDMETHODCALLTYPE get_data(
   2650         BSTR *data) = 0;
   2651 
   2652     virtual HRESULT STDMETHODCALLTYPE put_data(
   2653         BSTR data) = 0;
   2654 
   2655     virtual HRESULT STDMETHODCALLTYPE get_length(
   2656         LONG *dataLength) = 0;
   2657 
   2658     virtual HRESULT STDMETHODCALLTYPE substringData(
   2659         LONG offset,
   2660         LONG count,
   2661         BSTR *data) = 0;
   2662 
   2663     virtual HRESULT STDMETHODCALLTYPE appendData(
   2664         BSTR data) = 0;
   2665 
   2666     virtual HRESULT STDMETHODCALLTYPE insertData(
   2667         LONG offset,
   2668         BSTR data) = 0;
   2669 
   2670     virtual HRESULT STDMETHODCALLTYPE deleteData(
   2671         LONG offset,
   2672         LONG count) = 0;
   2673 
   2674     virtual HRESULT STDMETHODCALLTYPE replaceData(
   2675         LONG offset,
   2676         LONG count,
   2677         BSTR data) = 0;
   2678 
   2679 };
   2680 #ifdef __CRT_UUID_DECL
   2681 __CRT_UUID_DECL(IXMLDOMCharacterData, 0x2933bf84, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   2682 #endif
   2683 #else
   2684 typedef struct IXMLDOMCharacterDataVtbl {
   2685     BEGIN_INTERFACE
   2686 
   2687     /*** IUnknown methods ***/
   2688     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2689         IXMLDOMCharacterData *This,
   2690         REFIID riid,
   2691         void **ppvObject);
   2692 
   2693     ULONG (STDMETHODCALLTYPE *AddRef)(
   2694         IXMLDOMCharacterData *This);
   2695 
   2696     ULONG (STDMETHODCALLTYPE *Release)(
   2697         IXMLDOMCharacterData *This);
   2698 
   2699     /*** IDispatch methods ***/
   2700     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2701         IXMLDOMCharacterData *This,
   2702         UINT *pctinfo);
   2703 
   2704     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2705         IXMLDOMCharacterData *This,
   2706         UINT iTInfo,
   2707         LCID lcid,
   2708         ITypeInfo **ppTInfo);
   2709 
   2710     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2711         IXMLDOMCharacterData *This,
   2712         REFIID riid,
   2713         LPOLESTR *rgszNames,
   2714         UINT cNames,
   2715         LCID lcid,
   2716         DISPID *rgDispId);
   2717 
   2718     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2719         IXMLDOMCharacterData *This,
   2720         DISPID dispIdMember,
   2721         REFIID riid,
   2722         LCID lcid,
   2723         WORD wFlags,
   2724         DISPPARAMS *pDispParams,
   2725         VARIANT *pVarResult,
   2726         EXCEPINFO *pExcepInfo,
   2727         UINT *puArgErr);
   2728 
   2729     /*** IXMLDOMNode methods ***/
   2730     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   2731         IXMLDOMCharacterData *This,
   2732         BSTR *name);
   2733 
   2734     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   2735         IXMLDOMCharacterData *This,
   2736         VARIANT *value);
   2737 
   2738     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   2739         IXMLDOMCharacterData *This,
   2740         VARIANT value);
   2741 
   2742     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   2743         IXMLDOMCharacterData *This,
   2744         DOMNodeType *type);
   2745 
   2746     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   2747         IXMLDOMCharacterData *This,
   2748         IXMLDOMNode **parent);
   2749 
   2750     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   2751         IXMLDOMCharacterData *This,
   2752         IXMLDOMNodeList **childList);
   2753 
   2754     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   2755         IXMLDOMCharacterData *This,
   2756         IXMLDOMNode **firstChild);
   2757 
   2758     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   2759         IXMLDOMCharacterData *This,
   2760         IXMLDOMNode **lastChild);
   2761 
   2762     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   2763         IXMLDOMCharacterData *This,
   2764         IXMLDOMNode **previousSibling);
   2765 
   2766     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   2767         IXMLDOMCharacterData *This,
   2768         IXMLDOMNode **nextSibling);
   2769 
   2770     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   2771         IXMLDOMCharacterData *This,
   2772         IXMLDOMNamedNodeMap **attributeMap);
   2773 
   2774     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   2775         IXMLDOMCharacterData *This,
   2776         IXMLDOMNode *newChild,
   2777         VARIANT refChild,
   2778         IXMLDOMNode **outNewChild);
   2779 
   2780     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   2781         IXMLDOMCharacterData *This,
   2782         IXMLDOMNode *newChild,
   2783         IXMLDOMNode *oldChild,
   2784         IXMLDOMNode **outOldChild);
   2785 
   2786     HRESULT (STDMETHODCALLTYPE *removeChild)(
   2787         IXMLDOMCharacterData *This,
   2788         IXMLDOMNode *childNode,
   2789         IXMLDOMNode **oldChild);
   2790 
   2791     HRESULT (STDMETHODCALLTYPE *appendChild)(
   2792         IXMLDOMCharacterData *This,
   2793         IXMLDOMNode *newChild,
   2794         IXMLDOMNode **outNewChild);
   2795 
   2796     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   2797         IXMLDOMCharacterData *This,
   2798         VARIANT_BOOL *hasChild);
   2799 
   2800     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   2801         IXMLDOMCharacterData *This,
   2802         IXMLDOMDocument **DOMDocument);
   2803 
   2804     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   2805         IXMLDOMCharacterData *This,
   2806         VARIANT_BOOL deep,
   2807         IXMLDOMNode **cloneRoot);
   2808 
   2809     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   2810         IXMLDOMCharacterData *This,
   2811         BSTR *nodeType);
   2812 
   2813     HRESULT (STDMETHODCALLTYPE *get_text)(
   2814         IXMLDOMCharacterData *This,
   2815         BSTR *text);
   2816 
   2817     HRESULT (STDMETHODCALLTYPE *put_text)(
   2818         IXMLDOMCharacterData *This,
   2819         BSTR text);
   2820 
   2821     HRESULT (STDMETHODCALLTYPE *get_specified)(
   2822         IXMLDOMCharacterData *This,
   2823         VARIANT_BOOL *isSpecified);
   2824 
   2825     HRESULT (STDMETHODCALLTYPE *get_definition)(
   2826         IXMLDOMCharacterData *This,
   2827         IXMLDOMNode **definitionNode);
   2828 
   2829     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   2830         IXMLDOMCharacterData *This,
   2831         VARIANT *typedValue);
   2832 
   2833     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   2834         IXMLDOMCharacterData *This,
   2835         VARIANT typedValue);
   2836 
   2837     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   2838         IXMLDOMCharacterData *This,
   2839         VARIANT *dataTypeName);
   2840 
   2841     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   2842         IXMLDOMCharacterData *This,
   2843         BSTR dataTypeName);
   2844 
   2845     HRESULT (STDMETHODCALLTYPE *get_xml)(
   2846         IXMLDOMCharacterData *This,
   2847         BSTR *xmlString);
   2848 
   2849     HRESULT (STDMETHODCALLTYPE *transformNode)(
   2850         IXMLDOMCharacterData *This,
   2851         IXMLDOMNode *styleSheet,
   2852         BSTR *xmlString);
   2853 
   2854     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   2855         IXMLDOMCharacterData *This,
   2856         BSTR queryString,
   2857         IXMLDOMNodeList **resultList);
   2858 
   2859     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   2860         IXMLDOMCharacterData *This,
   2861         BSTR queryString,
   2862         IXMLDOMNode **resultNode);
   2863 
   2864     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   2865         IXMLDOMCharacterData *This,
   2866         VARIANT_BOOL *isParsed);
   2867 
   2868     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   2869         IXMLDOMCharacterData *This,
   2870         BSTR *namespaceURI);
   2871 
   2872     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   2873         IXMLDOMCharacterData *This,
   2874         BSTR *prefixString);
   2875 
   2876     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   2877         IXMLDOMCharacterData *This,
   2878         BSTR *nameString);
   2879 
   2880     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   2881         IXMLDOMCharacterData *This,
   2882         IXMLDOMNode *stylesheet,
   2883         VARIANT outputObject);
   2884 
   2885     /*** IXMLDOMCharacterData methods ***/
   2886     HRESULT (STDMETHODCALLTYPE *get_data)(
   2887         IXMLDOMCharacterData *This,
   2888         BSTR *data);
   2889 
   2890     HRESULT (STDMETHODCALLTYPE *put_data)(
   2891         IXMLDOMCharacterData *This,
   2892         BSTR data);
   2893 
   2894     HRESULT (STDMETHODCALLTYPE *get_length)(
   2895         IXMLDOMCharacterData *This,
   2896         LONG *dataLength);
   2897 
   2898     HRESULT (STDMETHODCALLTYPE *substringData)(
   2899         IXMLDOMCharacterData *This,
   2900         LONG offset,
   2901         LONG count,
   2902         BSTR *data);
   2903 
   2904     HRESULT (STDMETHODCALLTYPE *appendData)(
   2905         IXMLDOMCharacterData *This,
   2906         BSTR data);
   2907 
   2908     HRESULT (STDMETHODCALLTYPE *insertData)(
   2909         IXMLDOMCharacterData *This,
   2910         LONG offset,
   2911         BSTR data);
   2912 
   2913     HRESULT (STDMETHODCALLTYPE *deleteData)(
   2914         IXMLDOMCharacterData *This,
   2915         LONG offset,
   2916         LONG count);
   2917 
   2918     HRESULT (STDMETHODCALLTYPE *replaceData)(
   2919         IXMLDOMCharacterData *This,
   2920         LONG offset,
   2921         LONG count,
   2922         BSTR data);
   2923 
   2924     END_INTERFACE
   2925 } IXMLDOMCharacterDataVtbl;
   2926 
   2927 interface IXMLDOMCharacterData {
   2928     CONST_VTBL IXMLDOMCharacterDataVtbl* lpVtbl;
   2929 };
   2930 
   2931 #ifdef COBJMACROS
   2932 #ifndef WIDL_C_INLINE_WRAPPERS
   2933 /*** IUnknown methods ***/
   2934 #define IXMLDOMCharacterData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2935 #define IXMLDOMCharacterData_AddRef(This) (This)->lpVtbl->AddRef(This)
   2936 #define IXMLDOMCharacterData_Release(This) (This)->lpVtbl->Release(This)
   2937 /*** IDispatch methods ***/
   2938 #define IXMLDOMCharacterData_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2939 #define IXMLDOMCharacterData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2940 #define IXMLDOMCharacterData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2941 #define IXMLDOMCharacterData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2942 /*** IXMLDOMNode methods ***/
   2943 #define IXMLDOMCharacterData_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   2944 #define IXMLDOMCharacterData_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   2945 #define IXMLDOMCharacterData_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   2946 #define IXMLDOMCharacterData_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   2947 #define IXMLDOMCharacterData_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   2948 #define IXMLDOMCharacterData_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   2949 #define IXMLDOMCharacterData_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   2950 #define IXMLDOMCharacterData_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   2951 #define IXMLDOMCharacterData_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   2952 #define IXMLDOMCharacterData_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   2953 #define IXMLDOMCharacterData_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   2954 #define IXMLDOMCharacterData_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   2955 #define IXMLDOMCharacterData_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   2956 #define IXMLDOMCharacterData_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   2957 #define IXMLDOMCharacterData_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   2958 #define IXMLDOMCharacterData_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   2959 #define IXMLDOMCharacterData_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   2960 #define IXMLDOMCharacterData_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   2961 #define IXMLDOMCharacterData_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   2962 #define IXMLDOMCharacterData_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   2963 #define IXMLDOMCharacterData_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   2964 #define IXMLDOMCharacterData_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   2965 #define IXMLDOMCharacterData_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   2966 #define IXMLDOMCharacterData_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   2967 #define IXMLDOMCharacterData_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   2968 #define IXMLDOMCharacterData_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   2969 #define IXMLDOMCharacterData_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   2970 #define IXMLDOMCharacterData_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   2971 #define IXMLDOMCharacterData_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   2972 #define IXMLDOMCharacterData_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   2973 #define IXMLDOMCharacterData_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   2974 #define IXMLDOMCharacterData_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   2975 #define IXMLDOMCharacterData_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   2976 #define IXMLDOMCharacterData_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   2977 #define IXMLDOMCharacterData_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   2978 #define IXMLDOMCharacterData_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   2979 /*** IXMLDOMCharacterData methods ***/
   2980 #define IXMLDOMCharacterData_get_data(This,data) (This)->lpVtbl->get_data(This,data)
   2981 #define IXMLDOMCharacterData_put_data(This,data) (This)->lpVtbl->put_data(This,data)
   2982 #define IXMLDOMCharacterData_get_length(This,dataLength) (This)->lpVtbl->get_length(This,dataLength)
   2983 #define IXMLDOMCharacterData_substringData(This,offset,count,data) (This)->lpVtbl->substringData(This,offset,count,data)
   2984 #define IXMLDOMCharacterData_appendData(This,data) (This)->lpVtbl->appendData(This,data)
   2985 #define IXMLDOMCharacterData_insertData(This,offset,data) (This)->lpVtbl->insertData(This,offset,data)
   2986 #define IXMLDOMCharacterData_deleteData(This,offset,count) (This)->lpVtbl->deleteData(This,offset,count)
   2987 #define IXMLDOMCharacterData_replaceData(This,offset,count,data) (This)->lpVtbl->replaceData(This,offset,count,data)
   2988 #else
   2989 /*** IUnknown methods ***/
   2990 static inline HRESULT IXMLDOMCharacterData_QueryInterface(IXMLDOMCharacterData* This,REFIID riid,void **ppvObject) {
   2991     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2992 }
   2993 static inline ULONG IXMLDOMCharacterData_AddRef(IXMLDOMCharacterData* This) {
   2994     return This->lpVtbl->AddRef(This);
   2995 }
   2996 static inline ULONG IXMLDOMCharacterData_Release(IXMLDOMCharacterData* This) {
   2997     return This->lpVtbl->Release(This);
   2998 }
   2999 /*** IDispatch methods ***/
   3000 static inline HRESULT IXMLDOMCharacterData_GetTypeInfoCount(IXMLDOMCharacterData* This,UINT *pctinfo) {
   3001     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3002 }
   3003 static inline HRESULT IXMLDOMCharacterData_GetTypeInfo(IXMLDOMCharacterData* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3004     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3005 }
   3006 static inline HRESULT IXMLDOMCharacterData_GetIDsOfNames(IXMLDOMCharacterData* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3007     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3008 }
   3009 static inline HRESULT IXMLDOMCharacterData_Invoke(IXMLDOMCharacterData* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3010     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3011 }
   3012 /*** IXMLDOMNode methods ***/
   3013 static inline HRESULT IXMLDOMCharacterData_get_nodeName(IXMLDOMCharacterData* This,BSTR *name) {
   3014     return This->lpVtbl->get_nodeName(This,name);
   3015 }
   3016 static inline HRESULT IXMLDOMCharacterData_get_nodeValue(IXMLDOMCharacterData* This,VARIANT *value) {
   3017     return This->lpVtbl->get_nodeValue(This,value);
   3018 }
   3019 static inline HRESULT IXMLDOMCharacterData_put_nodeValue(IXMLDOMCharacterData* This,VARIANT value) {
   3020     return This->lpVtbl->put_nodeValue(This,value);
   3021 }
   3022 static inline HRESULT IXMLDOMCharacterData_get_nodeType(IXMLDOMCharacterData* This,DOMNodeType *type) {
   3023     return This->lpVtbl->get_nodeType(This,type);
   3024 }
   3025 static inline HRESULT IXMLDOMCharacterData_get_parentNode(IXMLDOMCharacterData* This,IXMLDOMNode **parent) {
   3026     return This->lpVtbl->get_parentNode(This,parent);
   3027 }
   3028 static inline HRESULT IXMLDOMCharacterData_get_childNodes(IXMLDOMCharacterData* This,IXMLDOMNodeList **childList) {
   3029     return This->lpVtbl->get_childNodes(This,childList);
   3030 }
   3031 static inline HRESULT IXMLDOMCharacterData_get_firstChild(IXMLDOMCharacterData* This,IXMLDOMNode **firstChild) {
   3032     return This->lpVtbl->get_firstChild(This,firstChild);
   3033 }
   3034 static inline HRESULT IXMLDOMCharacterData_get_lastChild(IXMLDOMCharacterData* This,IXMLDOMNode **lastChild) {
   3035     return This->lpVtbl->get_lastChild(This,lastChild);
   3036 }
   3037 static inline HRESULT IXMLDOMCharacterData_get_previousSibling(IXMLDOMCharacterData* This,IXMLDOMNode **previousSibling) {
   3038     return This->lpVtbl->get_previousSibling(This,previousSibling);
   3039 }
   3040 static inline HRESULT IXMLDOMCharacterData_get_nextSibling(IXMLDOMCharacterData* This,IXMLDOMNode **nextSibling) {
   3041     return This->lpVtbl->get_nextSibling(This,nextSibling);
   3042 }
   3043 static inline HRESULT IXMLDOMCharacterData_get_attributes(IXMLDOMCharacterData* This,IXMLDOMNamedNodeMap **attributeMap) {
   3044     return This->lpVtbl->get_attributes(This,attributeMap);
   3045 }
   3046 static inline HRESULT IXMLDOMCharacterData_insertBefore(IXMLDOMCharacterData* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   3047     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   3048 }
   3049 static inline HRESULT IXMLDOMCharacterData_replaceChild(IXMLDOMCharacterData* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   3050     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   3051 }
   3052 static inline HRESULT IXMLDOMCharacterData_removeChild(IXMLDOMCharacterData* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   3053     return This->lpVtbl->removeChild(This,childNode,oldChild);
   3054 }
   3055 static inline HRESULT IXMLDOMCharacterData_appendChild(IXMLDOMCharacterData* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   3056     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   3057 }
   3058 static inline HRESULT IXMLDOMCharacterData_hasChildNodes(IXMLDOMCharacterData* This,VARIANT_BOOL *hasChild) {
   3059     return This->lpVtbl->hasChildNodes(This,hasChild);
   3060 }
   3061 static inline HRESULT IXMLDOMCharacterData_get_ownerDocument(IXMLDOMCharacterData* This,IXMLDOMDocument **DOMDocument) {
   3062     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   3063 }
   3064 static inline HRESULT IXMLDOMCharacterData_cloneNode(IXMLDOMCharacterData* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   3065     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   3066 }
   3067 static inline HRESULT IXMLDOMCharacterData_get_nodeTypeString(IXMLDOMCharacterData* This,BSTR *nodeType) {
   3068     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   3069 }
   3070 static inline HRESULT IXMLDOMCharacterData_get_text(IXMLDOMCharacterData* This,BSTR *text) {
   3071     return This->lpVtbl->get_text(This,text);
   3072 }
   3073 static inline HRESULT IXMLDOMCharacterData_put_text(IXMLDOMCharacterData* This,BSTR text) {
   3074     return This->lpVtbl->put_text(This,text);
   3075 }
   3076 static inline HRESULT IXMLDOMCharacterData_get_specified(IXMLDOMCharacterData* This,VARIANT_BOOL *isSpecified) {
   3077     return This->lpVtbl->get_specified(This,isSpecified);
   3078 }
   3079 static inline HRESULT IXMLDOMCharacterData_get_definition(IXMLDOMCharacterData* This,IXMLDOMNode **definitionNode) {
   3080     return This->lpVtbl->get_definition(This,definitionNode);
   3081 }
   3082 static inline HRESULT IXMLDOMCharacterData_get_nodeTypedValue(IXMLDOMCharacterData* This,VARIANT *typedValue) {
   3083     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   3084 }
   3085 static inline HRESULT IXMLDOMCharacterData_put_nodeTypedValue(IXMLDOMCharacterData* This,VARIANT typedValue) {
   3086     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   3087 }
   3088 static inline HRESULT IXMLDOMCharacterData_get_dataType(IXMLDOMCharacterData* This,VARIANT *dataTypeName) {
   3089     return This->lpVtbl->get_dataType(This,dataTypeName);
   3090 }
   3091 static inline HRESULT IXMLDOMCharacterData_put_dataType(IXMLDOMCharacterData* This,BSTR dataTypeName) {
   3092     return This->lpVtbl->put_dataType(This,dataTypeName);
   3093 }
   3094 static inline HRESULT IXMLDOMCharacterData_get_xml(IXMLDOMCharacterData* This,BSTR *xmlString) {
   3095     return This->lpVtbl->get_xml(This,xmlString);
   3096 }
   3097 static inline HRESULT IXMLDOMCharacterData_transformNode(IXMLDOMCharacterData* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   3098     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   3099 }
   3100 static inline HRESULT IXMLDOMCharacterData_selectNodes(IXMLDOMCharacterData* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   3101     return This->lpVtbl->selectNodes(This,queryString,resultList);
   3102 }
   3103 static inline HRESULT IXMLDOMCharacterData_selectSingleNode(IXMLDOMCharacterData* This,BSTR queryString,IXMLDOMNode **resultNode) {
   3104     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   3105 }
   3106 static inline HRESULT IXMLDOMCharacterData_get_parsed(IXMLDOMCharacterData* This,VARIANT_BOOL *isParsed) {
   3107     return This->lpVtbl->get_parsed(This,isParsed);
   3108 }
   3109 static inline HRESULT IXMLDOMCharacterData_get_namespaceURI(IXMLDOMCharacterData* This,BSTR *namespaceURI) {
   3110     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   3111 }
   3112 static inline HRESULT IXMLDOMCharacterData_get_prefix(IXMLDOMCharacterData* This,BSTR *prefixString) {
   3113     return This->lpVtbl->get_prefix(This,prefixString);
   3114 }
   3115 static inline HRESULT IXMLDOMCharacterData_get_baseName(IXMLDOMCharacterData* This,BSTR *nameString) {
   3116     return This->lpVtbl->get_baseName(This,nameString);
   3117 }
   3118 static inline HRESULT IXMLDOMCharacterData_transformNodeToObject(IXMLDOMCharacterData* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   3119     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   3120 }
   3121 /*** IXMLDOMCharacterData methods ***/
   3122 static inline HRESULT IXMLDOMCharacterData_get_data(IXMLDOMCharacterData* This,BSTR *data) {
   3123     return This->lpVtbl->get_data(This,data);
   3124 }
   3125 static inline HRESULT IXMLDOMCharacterData_put_data(IXMLDOMCharacterData* This,BSTR data) {
   3126     return This->lpVtbl->put_data(This,data);
   3127 }
   3128 static inline HRESULT IXMLDOMCharacterData_get_length(IXMLDOMCharacterData* This,LONG *dataLength) {
   3129     return This->lpVtbl->get_length(This,dataLength);
   3130 }
   3131 static inline HRESULT IXMLDOMCharacterData_substringData(IXMLDOMCharacterData* This,LONG offset,LONG count,BSTR *data) {
   3132     return This->lpVtbl->substringData(This,offset,count,data);
   3133 }
   3134 static inline HRESULT IXMLDOMCharacterData_appendData(IXMLDOMCharacterData* This,BSTR data) {
   3135     return This->lpVtbl->appendData(This,data);
   3136 }
   3137 static inline HRESULT IXMLDOMCharacterData_insertData(IXMLDOMCharacterData* This,LONG offset,BSTR data) {
   3138     return This->lpVtbl->insertData(This,offset,data);
   3139 }
   3140 static inline HRESULT IXMLDOMCharacterData_deleteData(IXMLDOMCharacterData* This,LONG offset,LONG count) {
   3141     return This->lpVtbl->deleteData(This,offset,count);
   3142 }
   3143 static inline HRESULT IXMLDOMCharacterData_replaceData(IXMLDOMCharacterData* This,LONG offset,LONG count,BSTR data) {
   3144     return This->lpVtbl->replaceData(This,offset,count,data);
   3145 }
   3146 #endif
   3147 #endif
   3148 
   3149 #endif
   3150 
   3151 
   3152 #endif  /* __IXMLDOMCharacterData_INTERFACE_DEFINED__ */
   3153 
   3154 /*****************************************************************************
   3155  * IXMLDOMAttribute interface
   3156  */
   3157 #ifndef __IXMLDOMAttribute_INTERFACE_DEFINED__
   3158 #define __IXMLDOMAttribute_INTERFACE_DEFINED__
   3159 
   3160 DEFINE_GUID(IID_IXMLDOMAttribute, 0x2933bf85, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   3161 #if defined(__cplusplus) && !defined(CINTERFACE)
   3162 MIDL_INTERFACE("2933bf85-7b36-11d2-b20e-00c04f983e60")
   3163 IXMLDOMAttribute : public IXMLDOMNode
   3164 {
   3165     virtual HRESULT STDMETHODCALLTYPE get_name(
   3166         BSTR *attributeName) = 0;
   3167 
   3168     virtual HRESULT STDMETHODCALLTYPE get_value(
   3169         VARIANT *attributeValue) = 0;
   3170 
   3171     virtual HRESULT STDMETHODCALLTYPE put_value(
   3172         VARIANT attributeValue) = 0;
   3173 
   3174 };
   3175 #ifdef __CRT_UUID_DECL
   3176 __CRT_UUID_DECL(IXMLDOMAttribute, 0x2933bf85, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   3177 #endif
   3178 #else
   3179 typedef struct IXMLDOMAttributeVtbl {
   3180     BEGIN_INTERFACE
   3181 
   3182     /*** IUnknown methods ***/
   3183     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3184         IXMLDOMAttribute *This,
   3185         REFIID riid,
   3186         void **ppvObject);
   3187 
   3188     ULONG (STDMETHODCALLTYPE *AddRef)(
   3189         IXMLDOMAttribute *This);
   3190 
   3191     ULONG (STDMETHODCALLTYPE *Release)(
   3192         IXMLDOMAttribute *This);
   3193 
   3194     /*** IDispatch methods ***/
   3195     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3196         IXMLDOMAttribute *This,
   3197         UINT *pctinfo);
   3198 
   3199     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3200         IXMLDOMAttribute *This,
   3201         UINT iTInfo,
   3202         LCID lcid,
   3203         ITypeInfo **ppTInfo);
   3204 
   3205     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3206         IXMLDOMAttribute *This,
   3207         REFIID riid,
   3208         LPOLESTR *rgszNames,
   3209         UINT cNames,
   3210         LCID lcid,
   3211         DISPID *rgDispId);
   3212 
   3213     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3214         IXMLDOMAttribute *This,
   3215         DISPID dispIdMember,
   3216         REFIID riid,
   3217         LCID lcid,
   3218         WORD wFlags,
   3219         DISPPARAMS *pDispParams,
   3220         VARIANT *pVarResult,
   3221         EXCEPINFO *pExcepInfo,
   3222         UINT *puArgErr);
   3223 
   3224     /*** IXMLDOMNode methods ***/
   3225     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   3226         IXMLDOMAttribute *This,
   3227         BSTR *name);
   3228 
   3229     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   3230         IXMLDOMAttribute *This,
   3231         VARIANT *value);
   3232 
   3233     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   3234         IXMLDOMAttribute *This,
   3235         VARIANT value);
   3236 
   3237     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   3238         IXMLDOMAttribute *This,
   3239         DOMNodeType *type);
   3240 
   3241     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   3242         IXMLDOMAttribute *This,
   3243         IXMLDOMNode **parent);
   3244 
   3245     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   3246         IXMLDOMAttribute *This,
   3247         IXMLDOMNodeList **childList);
   3248 
   3249     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   3250         IXMLDOMAttribute *This,
   3251         IXMLDOMNode **firstChild);
   3252 
   3253     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   3254         IXMLDOMAttribute *This,
   3255         IXMLDOMNode **lastChild);
   3256 
   3257     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   3258         IXMLDOMAttribute *This,
   3259         IXMLDOMNode **previousSibling);
   3260 
   3261     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   3262         IXMLDOMAttribute *This,
   3263         IXMLDOMNode **nextSibling);
   3264 
   3265     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   3266         IXMLDOMAttribute *This,
   3267         IXMLDOMNamedNodeMap **attributeMap);
   3268 
   3269     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   3270         IXMLDOMAttribute *This,
   3271         IXMLDOMNode *newChild,
   3272         VARIANT refChild,
   3273         IXMLDOMNode **outNewChild);
   3274 
   3275     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   3276         IXMLDOMAttribute *This,
   3277         IXMLDOMNode *newChild,
   3278         IXMLDOMNode *oldChild,
   3279         IXMLDOMNode **outOldChild);
   3280 
   3281     HRESULT (STDMETHODCALLTYPE *removeChild)(
   3282         IXMLDOMAttribute *This,
   3283         IXMLDOMNode *childNode,
   3284         IXMLDOMNode **oldChild);
   3285 
   3286     HRESULT (STDMETHODCALLTYPE *appendChild)(
   3287         IXMLDOMAttribute *This,
   3288         IXMLDOMNode *newChild,
   3289         IXMLDOMNode **outNewChild);
   3290 
   3291     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   3292         IXMLDOMAttribute *This,
   3293         VARIANT_BOOL *hasChild);
   3294 
   3295     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   3296         IXMLDOMAttribute *This,
   3297         IXMLDOMDocument **DOMDocument);
   3298 
   3299     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   3300         IXMLDOMAttribute *This,
   3301         VARIANT_BOOL deep,
   3302         IXMLDOMNode **cloneRoot);
   3303 
   3304     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   3305         IXMLDOMAttribute *This,
   3306         BSTR *nodeType);
   3307 
   3308     HRESULT (STDMETHODCALLTYPE *get_text)(
   3309         IXMLDOMAttribute *This,
   3310         BSTR *text);
   3311 
   3312     HRESULT (STDMETHODCALLTYPE *put_text)(
   3313         IXMLDOMAttribute *This,
   3314         BSTR text);
   3315 
   3316     HRESULT (STDMETHODCALLTYPE *get_specified)(
   3317         IXMLDOMAttribute *This,
   3318         VARIANT_BOOL *isSpecified);
   3319 
   3320     HRESULT (STDMETHODCALLTYPE *get_definition)(
   3321         IXMLDOMAttribute *This,
   3322         IXMLDOMNode **definitionNode);
   3323 
   3324     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   3325         IXMLDOMAttribute *This,
   3326         VARIANT *typedValue);
   3327 
   3328     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   3329         IXMLDOMAttribute *This,
   3330         VARIANT typedValue);
   3331 
   3332     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   3333         IXMLDOMAttribute *This,
   3334         VARIANT *dataTypeName);
   3335 
   3336     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   3337         IXMLDOMAttribute *This,
   3338         BSTR dataTypeName);
   3339 
   3340     HRESULT (STDMETHODCALLTYPE *get_xml)(
   3341         IXMLDOMAttribute *This,
   3342         BSTR *xmlString);
   3343 
   3344     HRESULT (STDMETHODCALLTYPE *transformNode)(
   3345         IXMLDOMAttribute *This,
   3346         IXMLDOMNode *styleSheet,
   3347         BSTR *xmlString);
   3348 
   3349     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   3350         IXMLDOMAttribute *This,
   3351         BSTR queryString,
   3352         IXMLDOMNodeList **resultList);
   3353 
   3354     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   3355         IXMLDOMAttribute *This,
   3356         BSTR queryString,
   3357         IXMLDOMNode **resultNode);
   3358 
   3359     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   3360         IXMLDOMAttribute *This,
   3361         VARIANT_BOOL *isParsed);
   3362 
   3363     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   3364         IXMLDOMAttribute *This,
   3365         BSTR *namespaceURI);
   3366 
   3367     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   3368         IXMLDOMAttribute *This,
   3369         BSTR *prefixString);
   3370 
   3371     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   3372         IXMLDOMAttribute *This,
   3373         BSTR *nameString);
   3374 
   3375     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   3376         IXMLDOMAttribute *This,
   3377         IXMLDOMNode *stylesheet,
   3378         VARIANT outputObject);
   3379 
   3380     /*** IXMLDOMAttribute methods ***/
   3381     HRESULT (STDMETHODCALLTYPE *get_name)(
   3382         IXMLDOMAttribute *This,
   3383         BSTR *attributeName);
   3384 
   3385     HRESULT (STDMETHODCALLTYPE *get_value)(
   3386         IXMLDOMAttribute *This,
   3387         VARIANT *attributeValue);
   3388 
   3389     HRESULT (STDMETHODCALLTYPE *put_value)(
   3390         IXMLDOMAttribute *This,
   3391         VARIANT attributeValue);
   3392 
   3393     END_INTERFACE
   3394 } IXMLDOMAttributeVtbl;
   3395 
   3396 interface IXMLDOMAttribute {
   3397     CONST_VTBL IXMLDOMAttributeVtbl* lpVtbl;
   3398 };
   3399 
   3400 #ifdef COBJMACROS
   3401 #ifndef WIDL_C_INLINE_WRAPPERS
   3402 /*** IUnknown methods ***/
   3403 #define IXMLDOMAttribute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3404 #define IXMLDOMAttribute_AddRef(This) (This)->lpVtbl->AddRef(This)
   3405 #define IXMLDOMAttribute_Release(This) (This)->lpVtbl->Release(This)
   3406 /*** IDispatch methods ***/
   3407 #define IXMLDOMAttribute_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3408 #define IXMLDOMAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3409 #define IXMLDOMAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3410 #define IXMLDOMAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3411 /*** IXMLDOMNode methods ***/
   3412 #define IXMLDOMAttribute_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   3413 #define IXMLDOMAttribute_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   3414 #define IXMLDOMAttribute_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   3415 #define IXMLDOMAttribute_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   3416 #define IXMLDOMAttribute_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   3417 #define IXMLDOMAttribute_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   3418 #define IXMLDOMAttribute_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   3419 #define IXMLDOMAttribute_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   3420 #define IXMLDOMAttribute_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   3421 #define IXMLDOMAttribute_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   3422 #define IXMLDOMAttribute_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   3423 #define IXMLDOMAttribute_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   3424 #define IXMLDOMAttribute_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   3425 #define IXMLDOMAttribute_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   3426 #define IXMLDOMAttribute_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   3427 #define IXMLDOMAttribute_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   3428 #define IXMLDOMAttribute_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   3429 #define IXMLDOMAttribute_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   3430 #define IXMLDOMAttribute_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   3431 #define IXMLDOMAttribute_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   3432 #define IXMLDOMAttribute_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   3433 #define IXMLDOMAttribute_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   3434 #define IXMLDOMAttribute_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   3435 #define IXMLDOMAttribute_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   3436 #define IXMLDOMAttribute_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   3437 #define IXMLDOMAttribute_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   3438 #define IXMLDOMAttribute_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   3439 #define IXMLDOMAttribute_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   3440 #define IXMLDOMAttribute_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   3441 #define IXMLDOMAttribute_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   3442 #define IXMLDOMAttribute_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   3443 #define IXMLDOMAttribute_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   3444 #define IXMLDOMAttribute_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   3445 #define IXMLDOMAttribute_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   3446 #define IXMLDOMAttribute_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   3447 #define IXMLDOMAttribute_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   3448 /*** IXMLDOMAttribute methods ***/
   3449 #define IXMLDOMAttribute_get_name(This,attributeName) (This)->lpVtbl->get_name(This,attributeName)
   3450 #define IXMLDOMAttribute_get_value(This,attributeValue) (This)->lpVtbl->get_value(This,attributeValue)
   3451 #define IXMLDOMAttribute_put_value(This,attributeValue) (This)->lpVtbl->put_value(This,attributeValue)
   3452 #else
   3453 /*** IUnknown methods ***/
   3454 static inline HRESULT IXMLDOMAttribute_QueryInterface(IXMLDOMAttribute* This,REFIID riid,void **ppvObject) {
   3455     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3456 }
   3457 static inline ULONG IXMLDOMAttribute_AddRef(IXMLDOMAttribute* This) {
   3458     return This->lpVtbl->AddRef(This);
   3459 }
   3460 static inline ULONG IXMLDOMAttribute_Release(IXMLDOMAttribute* This) {
   3461     return This->lpVtbl->Release(This);
   3462 }
   3463 /*** IDispatch methods ***/
   3464 static inline HRESULT IXMLDOMAttribute_GetTypeInfoCount(IXMLDOMAttribute* This,UINT *pctinfo) {
   3465     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3466 }
   3467 static inline HRESULT IXMLDOMAttribute_GetTypeInfo(IXMLDOMAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3468     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3469 }
   3470 static inline HRESULT IXMLDOMAttribute_GetIDsOfNames(IXMLDOMAttribute* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3471     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3472 }
   3473 static inline HRESULT IXMLDOMAttribute_Invoke(IXMLDOMAttribute* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3474     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3475 }
   3476 /*** IXMLDOMNode methods ***/
   3477 static inline HRESULT IXMLDOMAttribute_get_nodeName(IXMLDOMAttribute* This,BSTR *name) {
   3478     return This->lpVtbl->get_nodeName(This,name);
   3479 }
   3480 static inline HRESULT IXMLDOMAttribute_get_nodeValue(IXMLDOMAttribute* This,VARIANT *value) {
   3481     return This->lpVtbl->get_nodeValue(This,value);
   3482 }
   3483 static inline HRESULT IXMLDOMAttribute_put_nodeValue(IXMLDOMAttribute* This,VARIANT value) {
   3484     return This->lpVtbl->put_nodeValue(This,value);
   3485 }
   3486 static inline HRESULT IXMLDOMAttribute_get_nodeType(IXMLDOMAttribute* This,DOMNodeType *type) {
   3487     return This->lpVtbl->get_nodeType(This,type);
   3488 }
   3489 static inline HRESULT IXMLDOMAttribute_get_parentNode(IXMLDOMAttribute* This,IXMLDOMNode **parent) {
   3490     return This->lpVtbl->get_parentNode(This,parent);
   3491 }
   3492 static inline HRESULT IXMLDOMAttribute_get_childNodes(IXMLDOMAttribute* This,IXMLDOMNodeList **childList) {
   3493     return This->lpVtbl->get_childNodes(This,childList);
   3494 }
   3495 static inline HRESULT IXMLDOMAttribute_get_firstChild(IXMLDOMAttribute* This,IXMLDOMNode **firstChild) {
   3496     return This->lpVtbl->get_firstChild(This,firstChild);
   3497 }
   3498 static inline HRESULT IXMLDOMAttribute_get_lastChild(IXMLDOMAttribute* This,IXMLDOMNode **lastChild) {
   3499     return This->lpVtbl->get_lastChild(This,lastChild);
   3500 }
   3501 static inline HRESULT IXMLDOMAttribute_get_previousSibling(IXMLDOMAttribute* This,IXMLDOMNode **previousSibling) {
   3502     return This->lpVtbl->get_previousSibling(This,previousSibling);
   3503 }
   3504 static inline HRESULT IXMLDOMAttribute_get_nextSibling(IXMLDOMAttribute* This,IXMLDOMNode **nextSibling) {
   3505     return This->lpVtbl->get_nextSibling(This,nextSibling);
   3506 }
   3507 static inline HRESULT IXMLDOMAttribute_get_attributes(IXMLDOMAttribute* This,IXMLDOMNamedNodeMap **attributeMap) {
   3508     return This->lpVtbl->get_attributes(This,attributeMap);
   3509 }
   3510 static inline HRESULT IXMLDOMAttribute_insertBefore(IXMLDOMAttribute* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   3511     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   3512 }
   3513 static inline HRESULT IXMLDOMAttribute_replaceChild(IXMLDOMAttribute* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   3514     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   3515 }
   3516 static inline HRESULT IXMLDOMAttribute_removeChild(IXMLDOMAttribute* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   3517     return This->lpVtbl->removeChild(This,childNode,oldChild);
   3518 }
   3519 static inline HRESULT IXMLDOMAttribute_appendChild(IXMLDOMAttribute* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   3520     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   3521 }
   3522 static inline HRESULT IXMLDOMAttribute_hasChildNodes(IXMLDOMAttribute* This,VARIANT_BOOL *hasChild) {
   3523     return This->lpVtbl->hasChildNodes(This,hasChild);
   3524 }
   3525 static inline HRESULT IXMLDOMAttribute_get_ownerDocument(IXMLDOMAttribute* This,IXMLDOMDocument **DOMDocument) {
   3526     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   3527 }
   3528 static inline HRESULT IXMLDOMAttribute_cloneNode(IXMLDOMAttribute* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   3529     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   3530 }
   3531 static inline HRESULT IXMLDOMAttribute_get_nodeTypeString(IXMLDOMAttribute* This,BSTR *nodeType) {
   3532     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   3533 }
   3534 static inline HRESULT IXMLDOMAttribute_get_text(IXMLDOMAttribute* This,BSTR *text) {
   3535     return This->lpVtbl->get_text(This,text);
   3536 }
   3537 static inline HRESULT IXMLDOMAttribute_put_text(IXMLDOMAttribute* This,BSTR text) {
   3538     return This->lpVtbl->put_text(This,text);
   3539 }
   3540 static inline HRESULT IXMLDOMAttribute_get_specified(IXMLDOMAttribute* This,VARIANT_BOOL *isSpecified) {
   3541     return This->lpVtbl->get_specified(This,isSpecified);
   3542 }
   3543 static inline HRESULT IXMLDOMAttribute_get_definition(IXMLDOMAttribute* This,IXMLDOMNode **definitionNode) {
   3544     return This->lpVtbl->get_definition(This,definitionNode);
   3545 }
   3546 static inline HRESULT IXMLDOMAttribute_get_nodeTypedValue(IXMLDOMAttribute* This,VARIANT *typedValue) {
   3547     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   3548 }
   3549 static inline HRESULT IXMLDOMAttribute_put_nodeTypedValue(IXMLDOMAttribute* This,VARIANT typedValue) {
   3550     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   3551 }
   3552 static inline HRESULT IXMLDOMAttribute_get_dataType(IXMLDOMAttribute* This,VARIANT *dataTypeName) {
   3553     return This->lpVtbl->get_dataType(This,dataTypeName);
   3554 }
   3555 static inline HRESULT IXMLDOMAttribute_put_dataType(IXMLDOMAttribute* This,BSTR dataTypeName) {
   3556     return This->lpVtbl->put_dataType(This,dataTypeName);
   3557 }
   3558 static inline HRESULT IXMLDOMAttribute_get_xml(IXMLDOMAttribute* This,BSTR *xmlString) {
   3559     return This->lpVtbl->get_xml(This,xmlString);
   3560 }
   3561 static inline HRESULT IXMLDOMAttribute_transformNode(IXMLDOMAttribute* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   3562     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   3563 }
   3564 static inline HRESULT IXMLDOMAttribute_selectNodes(IXMLDOMAttribute* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   3565     return This->lpVtbl->selectNodes(This,queryString,resultList);
   3566 }
   3567 static inline HRESULT IXMLDOMAttribute_selectSingleNode(IXMLDOMAttribute* This,BSTR queryString,IXMLDOMNode **resultNode) {
   3568     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   3569 }
   3570 static inline HRESULT IXMLDOMAttribute_get_parsed(IXMLDOMAttribute* This,VARIANT_BOOL *isParsed) {
   3571     return This->lpVtbl->get_parsed(This,isParsed);
   3572 }
   3573 static inline HRESULT IXMLDOMAttribute_get_namespaceURI(IXMLDOMAttribute* This,BSTR *namespaceURI) {
   3574     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   3575 }
   3576 static inline HRESULT IXMLDOMAttribute_get_prefix(IXMLDOMAttribute* This,BSTR *prefixString) {
   3577     return This->lpVtbl->get_prefix(This,prefixString);
   3578 }
   3579 static inline HRESULT IXMLDOMAttribute_get_baseName(IXMLDOMAttribute* This,BSTR *nameString) {
   3580     return This->lpVtbl->get_baseName(This,nameString);
   3581 }
   3582 static inline HRESULT IXMLDOMAttribute_transformNodeToObject(IXMLDOMAttribute* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   3583     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   3584 }
   3585 /*** IXMLDOMAttribute methods ***/
   3586 static inline HRESULT IXMLDOMAttribute_get_name(IXMLDOMAttribute* This,BSTR *attributeName) {
   3587     return This->lpVtbl->get_name(This,attributeName);
   3588 }
   3589 static inline HRESULT IXMLDOMAttribute_get_value(IXMLDOMAttribute* This,VARIANT *attributeValue) {
   3590     return This->lpVtbl->get_value(This,attributeValue);
   3591 }
   3592 static inline HRESULT IXMLDOMAttribute_put_value(IXMLDOMAttribute* This,VARIANT attributeValue) {
   3593     return This->lpVtbl->put_value(This,attributeValue);
   3594 }
   3595 #endif
   3596 #endif
   3597 
   3598 #endif
   3599 
   3600 
   3601 #endif  /* __IXMLDOMAttribute_INTERFACE_DEFINED__ */
   3602 
   3603 /*****************************************************************************
   3604  * IXMLDOMElement interface
   3605  */
   3606 #ifndef __IXMLDOMElement_INTERFACE_DEFINED__
   3607 #define __IXMLDOMElement_INTERFACE_DEFINED__
   3608 
   3609 DEFINE_GUID(IID_IXMLDOMElement, 0x2933bf86, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   3610 #if defined(__cplusplus) && !defined(CINTERFACE)
   3611 MIDL_INTERFACE("2933bf86-7b36-11d2-b20e-00c04f983e60")
   3612 IXMLDOMElement : public IXMLDOMNode
   3613 {
   3614     virtual HRESULT STDMETHODCALLTYPE get_tagName(
   3615         BSTR *tagName) = 0;
   3616 
   3617     virtual HRESULT STDMETHODCALLTYPE getAttribute(
   3618         BSTR name,
   3619         VARIANT *value) = 0;
   3620 
   3621     virtual HRESULT STDMETHODCALLTYPE setAttribute(
   3622         BSTR name,
   3623         VARIANT value) = 0;
   3624 
   3625     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
   3626         BSTR name) = 0;
   3627 
   3628     virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
   3629         BSTR name,
   3630         IXMLDOMAttribute **attributeNode) = 0;
   3631 
   3632     virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
   3633         IXMLDOMAttribute *DOMAttribute,
   3634         IXMLDOMAttribute **attributeNode) = 0;
   3635 
   3636     virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
   3637         IXMLDOMAttribute *DOMAttribute,
   3638         IXMLDOMAttribute **attributeNode) = 0;
   3639 
   3640     virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
   3641         BSTR tagName,
   3642         IXMLDOMNodeList **resultList) = 0;
   3643 
   3644     virtual HRESULT STDMETHODCALLTYPE normalize(
   3645         ) = 0;
   3646 
   3647 };
   3648 #ifdef __CRT_UUID_DECL
   3649 __CRT_UUID_DECL(IXMLDOMElement, 0x2933bf86, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   3650 #endif
   3651 #else
   3652 typedef struct IXMLDOMElementVtbl {
   3653     BEGIN_INTERFACE
   3654 
   3655     /*** IUnknown methods ***/
   3656     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3657         IXMLDOMElement *This,
   3658         REFIID riid,
   3659         void **ppvObject);
   3660 
   3661     ULONG (STDMETHODCALLTYPE *AddRef)(
   3662         IXMLDOMElement *This);
   3663 
   3664     ULONG (STDMETHODCALLTYPE *Release)(
   3665         IXMLDOMElement *This);
   3666 
   3667     /*** IDispatch methods ***/
   3668     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3669         IXMLDOMElement *This,
   3670         UINT *pctinfo);
   3671 
   3672     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3673         IXMLDOMElement *This,
   3674         UINT iTInfo,
   3675         LCID lcid,
   3676         ITypeInfo **ppTInfo);
   3677 
   3678     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3679         IXMLDOMElement *This,
   3680         REFIID riid,
   3681         LPOLESTR *rgszNames,
   3682         UINT cNames,
   3683         LCID lcid,
   3684         DISPID *rgDispId);
   3685 
   3686     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3687         IXMLDOMElement *This,
   3688         DISPID dispIdMember,
   3689         REFIID riid,
   3690         LCID lcid,
   3691         WORD wFlags,
   3692         DISPPARAMS *pDispParams,
   3693         VARIANT *pVarResult,
   3694         EXCEPINFO *pExcepInfo,
   3695         UINT *puArgErr);
   3696 
   3697     /*** IXMLDOMNode methods ***/
   3698     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   3699         IXMLDOMElement *This,
   3700         BSTR *name);
   3701 
   3702     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   3703         IXMLDOMElement *This,
   3704         VARIANT *value);
   3705 
   3706     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   3707         IXMLDOMElement *This,
   3708         VARIANT value);
   3709 
   3710     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   3711         IXMLDOMElement *This,
   3712         DOMNodeType *type);
   3713 
   3714     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   3715         IXMLDOMElement *This,
   3716         IXMLDOMNode **parent);
   3717 
   3718     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   3719         IXMLDOMElement *This,
   3720         IXMLDOMNodeList **childList);
   3721 
   3722     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   3723         IXMLDOMElement *This,
   3724         IXMLDOMNode **firstChild);
   3725 
   3726     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   3727         IXMLDOMElement *This,
   3728         IXMLDOMNode **lastChild);
   3729 
   3730     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   3731         IXMLDOMElement *This,
   3732         IXMLDOMNode **previousSibling);
   3733 
   3734     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   3735         IXMLDOMElement *This,
   3736         IXMLDOMNode **nextSibling);
   3737 
   3738     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   3739         IXMLDOMElement *This,
   3740         IXMLDOMNamedNodeMap **attributeMap);
   3741 
   3742     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   3743         IXMLDOMElement *This,
   3744         IXMLDOMNode *newChild,
   3745         VARIANT refChild,
   3746         IXMLDOMNode **outNewChild);
   3747 
   3748     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   3749         IXMLDOMElement *This,
   3750         IXMLDOMNode *newChild,
   3751         IXMLDOMNode *oldChild,
   3752         IXMLDOMNode **outOldChild);
   3753 
   3754     HRESULT (STDMETHODCALLTYPE *removeChild)(
   3755         IXMLDOMElement *This,
   3756         IXMLDOMNode *childNode,
   3757         IXMLDOMNode **oldChild);
   3758 
   3759     HRESULT (STDMETHODCALLTYPE *appendChild)(
   3760         IXMLDOMElement *This,
   3761         IXMLDOMNode *newChild,
   3762         IXMLDOMNode **outNewChild);
   3763 
   3764     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   3765         IXMLDOMElement *This,
   3766         VARIANT_BOOL *hasChild);
   3767 
   3768     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   3769         IXMLDOMElement *This,
   3770         IXMLDOMDocument **DOMDocument);
   3771 
   3772     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   3773         IXMLDOMElement *This,
   3774         VARIANT_BOOL deep,
   3775         IXMLDOMNode **cloneRoot);
   3776 
   3777     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   3778         IXMLDOMElement *This,
   3779         BSTR *nodeType);
   3780 
   3781     HRESULT (STDMETHODCALLTYPE *get_text)(
   3782         IXMLDOMElement *This,
   3783         BSTR *text);
   3784 
   3785     HRESULT (STDMETHODCALLTYPE *put_text)(
   3786         IXMLDOMElement *This,
   3787         BSTR text);
   3788 
   3789     HRESULT (STDMETHODCALLTYPE *get_specified)(
   3790         IXMLDOMElement *This,
   3791         VARIANT_BOOL *isSpecified);
   3792 
   3793     HRESULT (STDMETHODCALLTYPE *get_definition)(
   3794         IXMLDOMElement *This,
   3795         IXMLDOMNode **definitionNode);
   3796 
   3797     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   3798         IXMLDOMElement *This,
   3799         VARIANT *typedValue);
   3800 
   3801     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   3802         IXMLDOMElement *This,
   3803         VARIANT typedValue);
   3804 
   3805     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   3806         IXMLDOMElement *This,
   3807         VARIANT *dataTypeName);
   3808 
   3809     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   3810         IXMLDOMElement *This,
   3811         BSTR dataTypeName);
   3812 
   3813     HRESULT (STDMETHODCALLTYPE *get_xml)(
   3814         IXMLDOMElement *This,
   3815         BSTR *xmlString);
   3816 
   3817     HRESULT (STDMETHODCALLTYPE *transformNode)(
   3818         IXMLDOMElement *This,
   3819         IXMLDOMNode *styleSheet,
   3820         BSTR *xmlString);
   3821 
   3822     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   3823         IXMLDOMElement *This,
   3824         BSTR queryString,
   3825         IXMLDOMNodeList **resultList);
   3826 
   3827     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   3828         IXMLDOMElement *This,
   3829         BSTR queryString,
   3830         IXMLDOMNode **resultNode);
   3831 
   3832     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   3833         IXMLDOMElement *This,
   3834         VARIANT_BOOL *isParsed);
   3835 
   3836     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   3837         IXMLDOMElement *This,
   3838         BSTR *namespaceURI);
   3839 
   3840     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   3841         IXMLDOMElement *This,
   3842         BSTR *prefixString);
   3843 
   3844     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   3845         IXMLDOMElement *This,
   3846         BSTR *nameString);
   3847 
   3848     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   3849         IXMLDOMElement *This,
   3850         IXMLDOMNode *stylesheet,
   3851         VARIANT outputObject);
   3852 
   3853     /*** IXMLDOMElement methods ***/
   3854     HRESULT (STDMETHODCALLTYPE *get_tagName)(
   3855         IXMLDOMElement *This,
   3856         BSTR *tagName);
   3857 
   3858     HRESULT (STDMETHODCALLTYPE *getAttribute)(
   3859         IXMLDOMElement *This,
   3860         BSTR name,
   3861         VARIANT *value);
   3862 
   3863     HRESULT (STDMETHODCALLTYPE *setAttribute)(
   3864         IXMLDOMElement *This,
   3865         BSTR name,
   3866         VARIANT value);
   3867 
   3868     HRESULT (STDMETHODCALLTYPE *removeAttribute)(
   3869         IXMLDOMElement *This,
   3870         BSTR name);
   3871 
   3872     HRESULT (STDMETHODCALLTYPE *getAttributeNode)(
   3873         IXMLDOMElement *This,
   3874         BSTR name,
   3875         IXMLDOMAttribute **attributeNode);
   3876 
   3877     HRESULT (STDMETHODCALLTYPE *setAttributeNode)(
   3878         IXMLDOMElement *This,
   3879         IXMLDOMAttribute *DOMAttribute,
   3880         IXMLDOMAttribute **attributeNode);
   3881 
   3882     HRESULT (STDMETHODCALLTYPE *removeAttributeNode)(
   3883         IXMLDOMElement *This,
   3884         IXMLDOMAttribute *DOMAttribute,
   3885         IXMLDOMAttribute **attributeNode);
   3886 
   3887     HRESULT (STDMETHODCALLTYPE *getElementsByTagName)(
   3888         IXMLDOMElement *This,
   3889         BSTR tagName,
   3890         IXMLDOMNodeList **resultList);
   3891 
   3892     HRESULT (STDMETHODCALLTYPE *normalize)(
   3893         IXMLDOMElement *This);
   3894 
   3895     END_INTERFACE
   3896 } IXMLDOMElementVtbl;
   3897 
   3898 interface IXMLDOMElement {
   3899     CONST_VTBL IXMLDOMElementVtbl* lpVtbl;
   3900 };
   3901 
   3902 #ifdef COBJMACROS
   3903 #ifndef WIDL_C_INLINE_WRAPPERS
   3904 /*** IUnknown methods ***/
   3905 #define IXMLDOMElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3906 #define IXMLDOMElement_AddRef(This) (This)->lpVtbl->AddRef(This)
   3907 #define IXMLDOMElement_Release(This) (This)->lpVtbl->Release(This)
   3908 /*** IDispatch methods ***/
   3909 #define IXMLDOMElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3910 #define IXMLDOMElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3911 #define IXMLDOMElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3912 #define IXMLDOMElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3913 /*** IXMLDOMNode methods ***/
   3914 #define IXMLDOMElement_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   3915 #define IXMLDOMElement_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   3916 #define IXMLDOMElement_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   3917 #define IXMLDOMElement_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   3918 #define IXMLDOMElement_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   3919 #define IXMLDOMElement_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   3920 #define IXMLDOMElement_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   3921 #define IXMLDOMElement_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   3922 #define IXMLDOMElement_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   3923 #define IXMLDOMElement_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   3924 #define IXMLDOMElement_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   3925 #define IXMLDOMElement_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   3926 #define IXMLDOMElement_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   3927 #define IXMLDOMElement_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   3928 #define IXMLDOMElement_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   3929 #define IXMLDOMElement_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   3930 #define IXMLDOMElement_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   3931 #define IXMLDOMElement_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   3932 #define IXMLDOMElement_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   3933 #define IXMLDOMElement_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   3934 #define IXMLDOMElement_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   3935 #define IXMLDOMElement_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   3936 #define IXMLDOMElement_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   3937 #define IXMLDOMElement_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   3938 #define IXMLDOMElement_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   3939 #define IXMLDOMElement_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   3940 #define IXMLDOMElement_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   3941 #define IXMLDOMElement_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   3942 #define IXMLDOMElement_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   3943 #define IXMLDOMElement_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   3944 #define IXMLDOMElement_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   3945 #define IXMLDOMElement_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   3946 #define IXMLDOMElement_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   3947 #define IXMLDOMElement_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   3948 #define IXMLDOMElement_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   3949 #define IXMLDOMElement_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   3950 /*** IXMLDOMElement methods ***/
   3951 #define IXMLDOMElement_get_tagName(This,tagName) (This)->lpVtbl->get_tagName(This,tagName)
   3952 #define IXMLDOMElement_getAttribute(This,name,value) (This)->lpVtbl->getAttribute(This,name,value)
   3953 #define IXMLDOMElement_setAttribute(This,name,value) (This)->lpVtbl->setAttribute(This,name,value)
   3954 #define IXMLDOMElement_removeAttribute(This,name) (This)->lpVtbl->removeAttribute(This,name)
   3955 #define IXMLDOMElement_getAttributeNode(This,name,attributeNode) (This)->lpVtbl->getAttributeNode(This,name,attributeNode)
   3956 #define IXMLDOMElement_setAttributeNode(This,DOMAttribute,attributeNode) (This)->lpVtbl->setAttributeNode(This,DOMAttribute,attributeNode)
   3957 #define IXMLDOMElement_removeAttributeNode(This,DOMAttribute,attributeNode) (This)->lpVtbl->removeAttributeNode(This,DOMAttribute,attributeNode)
   3958 #define IXMLDOMElement_getElementsByTagName(This,tagName,resultList) (This)->lpVtbl->getElementsByTagName(This,tagName,resultList)
   3959 #define IXMLDOMElement_normalize(This) (This)->lpVtbl->normalize(This)
   3960 #else
   3961 /*** IUnknown methods ***/
   3962 static inline HRESULT IXMLDOMElement_QueryInterface(IXMLDOMElement* This,REFIID riid,void **ppvObject) {
   3963     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3964 }
   3965 static inline ULONG IXMLDOMElement_AddRef(IXMLDOMElement* This) {
   3966     return This->lpVtbl->AddRef(This);
   3967 }
   3968 static inline ULONG IXMLDOMElement_Release(IXMLDOMElement* This) {
   3969     return This->lpVtbl->Release(This);
   3970 }
   3971 /*** IDispatch methods ***/
   3972 static inline HRESULT IXMLDOMElement_GetTypeInfoCount(IXMLDOMElement* This,UINT *pctinfo) {
   3973     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3974 }
   3975 static inline HRESULT IXMLDOMElement_GetTypeInfo(IXMLDOMElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3976     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3977 }
   3978 static inline HRESULT IXMLDOMElement_GetIDsOfNames(IXMLDOMElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3979     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3980 }
   3981 static inline HRESULT IXMLDOMElement_Invoke(IXMLDOMElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3982     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3983 }
   3984 /*** IXMLDOMNode methods ***/
   3985 static inline HRESULT IXMLDOMElement_get_nodeName(IXMLDOMElement* This,BSTR *name) {
   3986     return This->lpVtbl->get_nodeName(This,name);
   3987 }
   3988 static inline HRESULT IXMLDOMElement_get_nodeValue(IXMLDOMElement* This,VARIANT *value) {
   3989     return This->lpVtbl->get_nodeValue(This,value);
   3990 }
   3991 static inline HRESULT IXMLDOMElement_put_nodeValue(IXMLDOMElement* This,VARIANT value) {
   3992     return This->lpVtbl->put_nodeValue(This,value);
   3993 }
   3994 static inline HRESULT IXMLDOMElement_get_nodeType(IXMLDOMElement* This,DOMNodeType *type) {
   3995     return This->lpVtbl->get_nodeType(This,type);
   3996 }
   3997 static inline HRESULT IXMLDOMElement_get_parentNode(IXMLDOMElement* This,IXMLDOMNode **parent) {
   3998     return This->lpVtbl->get_parentNode(This,parent);
   3999 }
   4000 static inline HRESULT IXMLDOMElement_get_childNodes(IXMLDOMElement* This,IXMLDOMNodeList **childList) {
   4001     return This->lpVtbl->get_childNodes(This,childList);
   4002 }
   4003 static inline HRESULT IXMLDOMElement_get_firstChild(IXMLDOMElement* This,IXMLDOMNode **firstChild) {
   4004     return This->lpVtbl->get_firstChild(This,firstChild);
   4005 }
   4006 static inline HRESULT IXMLDOMElement_get_lastChild(IXMLDOMElement* This,IXMLDOMNode **lastChild) {
   4007     return This->lpVtbl->get_lastChild(This,lastChild);
   4008 }
   4009 static inline HRESULT IXMLDOMElement_get_previousSibling(IXMLDOMElement* This,IXMLDOMNode **previousSibling) {
   4010     return This->lpVtbl->get_previousSibling(This,previousSibling);
   4011 }
   4012 static inline HRESULT IXMLDOMElement_get_nextSibling(IXMLDOMElement* This,IXMLDOMNode **nextSibling) {
   4013     return This->lpVtbl->get_nextSibling(This,nextSibling);
   4014 }
   4015 static inline HRESULT IXMLDOMElement_get_attributes(IXMLDOMElement* This,IXMLDOMNamedNodeMap **attributeMap) {
   4016     return This->lpVtbl->get_attributes(This,attributeMap);
   4017 }
   4018 static inline HRESULT IXMLDOMElement_insertBefore(IXMLDOMElement* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   4019     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   4020 }
   4021 static inline HRESULT IXMLDOMElement_replaceChild(IXMLDOMElement* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   4022     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   4023 }
   4024 static inline HRESULT IXMLDOMElement_removeChild(IXMLDOMElement* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   4025     return This->lpVtbl->removeChild(This,childNode,oldChild);
   4026 }
   4027 static inline HRESULT IXMLDOMElement_appendChild(IXMLDOMElement* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   4028     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   4029 }
   4030 static inline HRESULT IXMLDOMElement_hasChildNodes(IXMLDOMElement* This,VARIANT_BOOL *hasChild) {
   4031     return This->lpVtbl->hasChildNodes(This,hasChild);
   4032 }
   4033 static inline HRESULT IXMLDOMElement_get_ownerDocument(IXMLDOMElement* This,IXMLDOMDocument **DOMDocument) {
   4034     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   4035 }
   4036 static inline HRESULT IXMLDOMElement_cloneNode(IXMLDOMElement* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   4037     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   4038 }
   4039 static inline HRESULT IXMLDOMElement_get_nodeTypeString(IXMLDOMElement* This,BSTR *nodeType) {
   4040     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   4041 }
   4042 static inline HRESULT IXMLDOMElement_get_text(IXMLDOMElement* This,BSTR *text) {
   4043     return This->lpVtbl->get_text(This,text);
   4044 }
   4045 static inline HRESULT IXMLDOMElement_put_text(IXMLDOMElement* This,BSTR text) {
   4046     return This->lpVtbl->put_text(This,text);
   4047 }
   4048 static inline HRESULT IXMLDOMElement_get_specified(IXMLDOMElement* This,VARIANT_BOOL *isSpecified) {
   4049     return This->lpVtbl->get_specified(This,isSpecified);
   4050 }
   4051 static inline HRESULT IXMLDOMElement_get_definition(IXMLDOMElement* This,IXMLDOMNode **definitionNode) {
   4052     return This->lpVtbl->get_definition(This,definitionNode);
   4053 }
   4054 static inline HRESULT IXMLDOMElement_get_nodeTypedValue(IXMLDOMElement* This,VARIANT *typedValue) {
   4055     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   4056 }
   4057 static inline HRESULT IXMLDOMElement_put_nodeTypedValue(IXMLDOMElement* This,VARIANT typedValue) {
   4058     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   4059 }
   4060 static inline HRESULT IXMLDOMElement_get_dataType(IXMLDOMElement* This,VARIANT *dataTypeName) {
   4061     return This->lpVtbl->get_dataType(This,dataTypeName);
   4062 }
   4063 static inline HRESULT IXMLDOMElement_put_dataType(IXMLDOMElement* This,BSTR dataTypeName) {
   4064     return This->lpVtbl->put_dataType(This,dataTypeName);
   4065 }
   4066 static inline HRESULT IXMLDOMElement_get_xml(IXMLDOMElement* This,BSTR *xmlString) {
   4067     return This->lpVtbl->get_xml(This,xmlString);
   4068 }
   4069 static inline HRESULT IXMLDOMElement_transformNode(IXMLDOMElement* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   4070     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   4071 }
   4072 static inline HRESULT IXMLDOMElement_selectNodes(IXMLDOMElement* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   4073     return This->lpVtbl->selectNodes(This,queryString,resultList);
   4074 }
   4075 static inline HRESULT IXMLDOMElement_selectSingleNode(IXMLDOMElement* This,BSTR queryString,IXMLDOMNode **resultNode) {
   4076     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   4077 }
   4078 static inline HRESULT IXMLDOMElement_get_parsed(IXMLDOMElement* This,VARIANT_BOOL *isParsed) {
   4079     return This->lpVtbl->get_parsed(This,isParsed);
   4080 }
   4081 static inline HRESULT IXMLDOMElement_get_namespaceURI(IXMLDOMElement* This,BSTR *namespaceURI) {
   4082     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   4083 }
   4084 static inline HRESULT IXMLDOMElement_get_prefix(IXMLDOMElement* This,BSTR *prefixString) {
   4085     return This->lpVtbl->get_prefix(This,prefixString);
   4086 }
   4087 static inline HRESULT IXMLDOMElement_get_baseName(IXMLDOMElement* This,BSTR *nameString) {
   4088     return This->lpVtbl->get_baseName(This,nameString);
   4089 }
   4090 static inline HRESULT IXMLDOMElement_transformNodeToObject(IXMLDOMElement* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   4091     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   4092 }
   4093 /*** IXMLDOMElement methods ***/
   4094 static inline HRESULT IXMLDOMElement_get_tagName(IXMLDOMElement* This,BSTR *tagName) {
   4095     return This->lpVtbl->get_tagName(This,tagName);
   4096 }
   4097 static inline HRESULT IXMLDOMElement_getAttribute(IXMLDOMElement* This,BSTR name,VARIANT *value) {
   4098     return This->lpVtbl->getAttribute(This,name,value);
   4099 }
   4100 static inline HRESULT IXMLDOMElement_setAttribute(IXMLDOMElement* This,BSTR name,VARIANT value) {
   4101     return This->lpVtbl->setAttribute(This,name,value);
   4102 }
   4103 static inline HRESULT IXMLDOMElement_removeAttribute(IXMLDOMElement* This,BSTR name) {
   4104     return This->lpVtbl->removeAttribute(This,name);
   4105 }
   4106 static inline HRESULT IXMLDOMElement_getAttributeNode(IXMLDOMElement* This,BSTR name,IXMLDOMAttribute **attributeNode) {
   4107     return This->lpVtbl->getAttributeNode(This,name,attributeNode);
   4108 }
   4109 static inline HRESULT IXMLDOMElement_setAttributeNode(IXMLDOMElement* This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode) {
   4110     return This->lpVtbl->setAttributeNode(This,DOMAttribute,attributeNode);
   4111 }
   4112 static inline HRESULT IXMLDOMElement_removeAttributeNode(IXMLDOMElement* This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode) {
   4113     return This->lpVtbl->removeAttributeNode(This,DOMAttribute,attributeNode);
   4114 }
   4115 static inline HRESULT IXMLDOMElement_getElementsByTagName(IXMLDOMElement* This,BSTR tagName,IXMLDOMNodeList **resultList) {
   4116     return This->lpVtbl->getElementsByTagName(This,tagName,resultList);
   4117 }
   4118 static inline HRESULT IXMLDOMElement_normalize(IXMLDOMElement* This) {
   4119     return This->lpVtbl->normalize(This);
   4120 }
   4121 #endif
   4122 #endif
   4123 
   4124 #endif
   4125 
   4126 
   4127 #endif  /* __IXMLDOMElement_INTERFACE_DEFINED__ */
   4128 
   4129 /*****************************************************************************
   4130  * IXMLDOMText interface
   4131  */
   4132 #ifndef __IXMLDOMText_INTERFACE_DEFINED__
   4133 #define __IXMLDOMText_INTERFACE_DEFINED__
   4134 
   4135 DEFINE_GUID(IID_IXMLDOMText, 0x2933bf87, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   4136 #if defined(__cplusplus) && !defined(CINTERFACE)
   4137 MIDL_INTERFACE("2933bf87-7b36-11d2-b20e-00c04f983e60")
   4138 IXMLDOMText : public IXMLDOMCharacterData
   4139 {
   4140     virtual HRESULT STDMETHODCALLTYPE splitText(
   4141         LONG offset,
   4142         IXMLDOMText **rightHandTextNode) = 0;
   4143 
   4144 };
   4145 #ifdef __CRT_UUID_DECL
   4146 __CRT_UUID_DECL(IXMLDOMText, 0x2933bf87, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   4147 #endif
   4148 #else
   4149 typedef struct IXMLDOMTextVtbl {
   4150     BEGIN_INTERFACE
   4151 
   4152     /*** IUnknown methods ***/
   4153     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4154         IXMLDOMText *This,
   4155         REFIID riid,
   4156         void **ppvObject);
   4157 
   4158     ULONG (STDMETHODCALLTYPE *AddRef)(
   4159         IXMLDOMText *This);
   4160 
   4161     ULONG (STDMETHODCALLTYPE *Release)(
   4162         IXMLDOMText *This);
   4163 
   4164     /*** IDispatch methods ***/
   4165     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4166         IXMLDOMText *This,
   4167         UINT *pctinfo);
   4168 
   4169     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4170         IXMLDOMText *This,
   4171         UINT iTInfo,
   4172         LCID lcid,
   4173         ITypeInfo **ppTInfo);
   4174 
   4175     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4176         IXMLDOMText *This,
   4177         REFIID riid,
   4178         LPOLESTR *rgszNames,
   4179         UINT cNames,
   4180         LCID lcid,
   4181         DISPID *rgDispId);
   4182 
   4183     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4184         IXMLDOMText *This,
   4185         DISPID dispIdMember,
   4186         REFIID riid,
   4187         LCID lcid,
   4188         WORD wFlags,
   4189         DISPPARAMS *pDispParams,
   4190         VARIANT *pVarResult,
   4191         EXCEPINFO *pExcepInfo,
   4192         UINT *puArgErr);
   4193 
   4194     /*** IXMLDOMNode methods ***/
   4195     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   4196         IXMLDOMText *This,
   4197         BSTR *name);
   4198 
   4199     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   4200         IXMLDOMText *This,
   4201         VARIANT *value);
   4202 
   4203     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   4204         IXMLDOMText *This,
   4205         VARIANT value);
   4206 
   4207     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   4208         IXMLDOMText *This,
   4209         DOMNodeType *type);
   4210 
   4211     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   4212         IXMLDOMText *This,
   4213         IXMLDOMNode **parent);
   4214 
   4215     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   4216         IXMLDOMText *This,
   4217         IXMLDOMNodeList **childList);
   4218 
   4219     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   4220         IXMLDOMText *This,
   4221         IXMLDOMNode **firstChild);
   4222 
   4223     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   4224         IXMLDOMText *This,
   4225         IXMLDOMNode **lastChild);
   4226 
   4227     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   4228         IXMLDOMText *This,
   4229         IXMLDOMNode **previousSibling);
   4230 
   4231     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   4232         IXMLDOMText *This,
   4233         IXMLDOMNode **nextSibling);
   4234 
   4235     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   4236         IXMLDOMText *This,
   4237         IXMLDOMNamedNodeMap **attributeMap);
   4238 
   4239     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   4240         IXMLDOMText *This,
   4241         IXMLDOMNode *newChild,
   4242         VARIANT refChild,
   4243         IXMLDOMNode **outNewChild);
   4244 
   4245     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   4246         IXMLDOMText *This,
   4247         IXMLDOMNode *newChild,
   4248         IXMLDOMNode *oldChild,
   4249         IXMLDOMNode **outOldChild);
   4250 
   4251     HRESULT (STDMETHODCALLTYPE *removeChild)(
   4252         IXMLDOMText *This,
   4253         IXMLDOMNode *childNode,
   4254         IXMLDOMNode **oldChild);
   4255 
   4256     HRESULT (STDMETHODCALLTYPE *appendChild)(
   4257         IXMLDOMText *This,
   4258         IXMLDOMNode *newChild,
   4259         IXMLDOMNode **outNewChild);
   4260 
   4261     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   4262         IXMLDOMText *This,
   4263         VARIANT_BOOL *hasChild);
   4264 
   4265     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   4266         IXMLDOMText *This,
   4267         IXMLDOMDocument **DOMDocument);
   4268 
   4269     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   4270         IXMLDOMText *This,
   4271         VARIANT_BOOL deep,
   4272         IXMLDOMNode **cloneRoot);
   4273 
   4274     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   4275         IXMLDOMText *This,
   4276         BSTR *nodeType);
   4277 
   4278     HRESULT (STDMETHODCALLTYPE *get_text)(
   4279         IXMLDOMText *This,
   4280         BSTR *text);
   4281 
   4282     HRESULT (STDMETHODCALLTYPE *put_text)(
   4283         IXMLDOMText *This,
   4284         BSTR text);
   4285 
   4286     HRESULT (STDMETHODCALLTYPE *get_specified)(
   4287         IXMLDOMText *This,
   4288         VARIANT_BOOL *isSpecified);
   4289 
   4290     HRESULT (STDMETHODCALLTYPE *get_definition)(
   4291         IXMLDOMText *This,
   4292         IXMLDOMNode **definitionNode);
   4293 
   4294     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   4295         IXMLDOMText *This,
   4296         VARIANT *typedValue);
   4297 
   4298     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   4299         IXMLDOMText *This,
   4300         VARIANT typedValue);
   4301 
   4302     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   4303         IXMLDOMText *This,
   4304         VARIANT *dataTypeName);
   4305 
   4306     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   4307         IXMLDOMText *This,
   4308         BSTR dataTypeName);
   4309 
   4310     HRESULT (STDMETHODCALLTYPE *get_xml)(
   4311         IXMLDOMText *This,
   4312         BSTR *xmlString);
   4313 
   4314     HRESULT (STDMETHODCALLTYPE *transformNode)(
   4315         IXMLDOMText *This,
   4316         IXMLDOMNode *styleSheet,
   4317         BSTR *xmlString);
   4318 
   4319     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   4320         IXMLDOMText *This,
   4321         BSTR queryString,
   4322         IXMLDOMNodeList **resultList);
   4323 
   4324     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   4325         IXMLDOMText *This,
   4326         BSTR queryString,
   4327         IXMLDOMNode **resultNode);
   4328 
   4329     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   4330         IXMLDOMText *This,
   4331         VARIANT_BOOL *isParsed);
   4332 
   4333     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   4334         IXMLDOMText *This,
   4335         BSTR *namespaceURI);
   4336 
   4337     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   4338         IXMLDOMText *This,
   4339         BSTR *prefixString);
   4340 
   4341     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   4342         IXMLDOMText *This,
   4343         BSTR *nameString);
   4344 
   4345     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   4346         IXMLDOMText *This,
   4347         IXMLDOMNode *stylesheet,
   4348         VARIANT outputObject);
   4349 
   4350     /*** IXMLDOMCharacterData methods ***/
   4351     HRESULT (STDMETHODCALLTYPE *get_data)(
   4352         IXMLDOMText *This,
   4353         BSTR *data);
   4354 
   4355     HRESULT (STDMETHODCALLTYPE *put_data)(
   4356         IXMLDOMText *This,
   4357         BSTR data);
   4358 
   4359     HRESULT (STDMETHODCALLTYPE *get_length)(
   4360         IXMLDOMText *This,
   4361         LONG *dataLength);
   4362 
   4363     HRESULT (STDMETHODCALLTYPE *substringData)(
   4364         IXMLDOMText *This,
   4365         LONG offset,
   4366         LONG count,
   4367         BSTR *data);
   4368 
   4369     HRESULT (STDMETHODCALLTYPE *appendData)(
   4370         IXMLDOMText *This,
   4371         BSTR data);
   4372 
   4373     HRESULT (STDMETHODCALLTYPE *insertData)(
   4374         IXMLDOMText *This,
   4375         LONG offset,
   4376         BSTR data);
   4377 
   4378     HRESULT (STDMETHODCALLTYPE *deleteData)(
   4379         IXMLDOMText *This,
   4380         LONG offset,
   4381         LONG count);
   4382 
   4383     HRESULT (STDMETHODCALLTYPE *replaceData)(
   4384         IXMLDOMText *This,
   4385         LONG offset,
   4386         LONG count,
   4387         BSTR data);
   4388 
   4389     /*** IXMLDOMText methods ***/
   4390     HRESULT (STDMETHODCALLTYPE *splitText)(
   4391         IXMLDOMText *This,
   4392         LONG offset,
   4393         IXMLDOMText **rightHandTextNode);
   4394 
   4395     END_INTERFACE
   4396 } IXMLDOMTextVtbl;
   4397 
   4398 interface IXMLDOMText {
   4399     CONST_VTBL IXMLDOMTextVtbl* lpVtbl;
   4400 };
   4401 
   4402 #ifdef COBJMACROS
   4403 #ifndef WIDL_C_INLINE_WRAPPERS
   4404 /*** IUnknown methods ***/
   4405 #define IXMLDOMText_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4406 #define IXMLDOMText_AddRef(This) (This)->lpVtbl->AddRef(This)
   4407 #define IXMLDOMText_Release(This) (This)->lpVtbl->Release(This)
   4408 /*** IDispatch methods ***/
   4409 #define IXMLDOMText_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4410 #define IXMLDOMText_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4411 #define IXMLDOMText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4412 #define IXMLDOMText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4413 /*** IXMLDOMNode methods ***/
   4414 #define IXMLDOMText_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   4415 #define IXMLDOMText_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   4416 #define IXMLDOMText_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   4417 #define IXMLDOMText_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   4418 #define IXMLDOMText_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   4419 #define IXMLDOMText_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   4420 #define IXMLDOMText_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   4421 #define IXMLDOMText_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   4422 #define IXMLDOMText_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   4423 #define IXMLDOMText_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   4424 #define IXMLDOMText_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   4425 #define IXMLDOMText_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   4426 #define IXMLDOMText_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   4427 #define IXMLDOMText_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   4428 #define IXMLDOMText_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   4429 #define IXMLDOMText_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   4430 #define IXMLDOMText_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   4431 #define IXMLDOMText_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   4432 #define IXMLDOMText_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   4433 #define IXMLDOMText_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   4434 #define IXMLDOMText_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   4435 #define IXMLDOMText_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   4436 #define IXMLDOMText_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   4437 #define IXMLDOMText_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   4438 #define IXMLDOMText_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   4439 #define IXMLDOMText_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   4440 #define IXMLDOMText_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   4441 #define IXMLDOMText_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   4442 #define IXMLDOMText_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   4443 #define IXMLDOMText_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   4444 #define IXMLDOMText_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   4445 #define IXMLDOMText_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   4446 #define IXMLDOMText_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   4447 #define IXMLDOMText_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   4448 #define IXMLDOMText_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   4449 #define IXMLDOMText_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   4450 /*** IXMLDOMCharacterData methods ***/
   4451 #define IXMLDOMText_get_data(This,data) (This)->lpVtbl->get_data(This,data)
   4452 #define IXMLDOMText_put_data(This,data) (This)->lpVtbl->put_data(This,data)
   4453 #define IXMLDOMText_get_length(This,dataLength) (This)->lpVtbl->get_length(This,dataLength)
   4454 #define IXMLDOMText_substringData(This,offset,count,data) (This)->lpVtbl->substringData(This,offset,count,data)
   4455 #define IXMLDOMText_appendData(This,data) (This)->lpVtbl->appendData(This,data)
   4456 #define IXMLDOMText_insertData(This,offset,data) (This)->lpVtbl->insertData(This,offset,data)
   4457 #define IXMLDOMText_deleteData(This,offset,count) (This)->lpVtbl->deleteData(This,offset,count)
   4458 #define IXMLDOMText_replaceData(This,offset,count,data) (This)->lpVtbl->replaceData(This,offset,count,data)
   4459 /*** IXMLDOMText methods ***/
   4460 #define IXMLDOMText_splitText(This,offset,rightHandTextNode) (This)->lpVtbl->splitText(This,offset,rightHandTextNode)
   4461 #else
   4462 /*** IUnknown methods ***/
   4463 static inline HRESULT IXMLDOMText_QueryInterface(IXMLDOMText* This,REFIID riid,void **ppvObject) {
   4464     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4465 }
   4466 static inline ULONG IXMLDOMText_AddRef(IXMLDOMText* This) {
   4467     return This->lpVtbl->AddRef(This);
   4468 }
   4469 static inline ULONG IXMLDOMText_Release(IXMLDOMText* This) {
   4470     return This->lpVtbl->Release(This);
   4471 }
   4472 /*** IDispatch methods ***/
   4473 static inline HRESULT IXMLDOMText_GetTypeInfoCount(IXMLDOMText* This,UINT *pctinfo) {
   4474     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4475 }
   4476 static inline HRESULT IXMLDOMText_GetTypeInfo(IXMLDOMText* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4477     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4478 }
   4479 static inline HRESULT IXMLDOMText_GetIDsOfNames(IXMLDOMText* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4480     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4481 }
   4482 static inline HRESULT IXMLDOMText_Invoke(IXMLDOMText* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4483     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4484 }
   4485 /*** IXMLDOMNode methods ***/
   4486 static inline HRESULT IXMLDOMText_get_nodeName(IXMLDOMText* This,BSTR *name) {
   4487     return This->lpVtbl->get_nodeName(This,name);
   4488 }
   4489 static inline HRESULT IXMLDOMText_get_nodeValue(IXMLDOMText* This,VARIANT *value) {
   4490     return This->lpVtbl->get_nodeValue(This,value);
   4491 }
   4492 static inline HRESULT IXMLDOMText_put_nodeValue(IXMLDOMText* This,VARIANT value) {
   4493     return This->lpVtbl->put_nodeValue(This,value);
   4494 }
   4495 static inline HRESULT IXMLDOMText_get_nodeType(IXMLDOMText* This,DOMNodeType *type) {
   4496     return This->lpVtbl->get_nodeType(This,type);
   4497 }
   4498 static inline HRESULT IXMLDOMText_get_parentNode(IXMLDOMText* This,IXMLDOMNode **parent) {
   4499     return This->lpVtbl->get_parentNode(This,parent);
   4500 }
   4501 static inline HRESULT IXMLDOMText_get_childNodes(IXMLDOMText* This,IXMLDOMNodeList **childList) {
   4502     return This->lpVtbl->get_childNodes(This,childList);
   4503 }
   4504 static inline HRESULT IXMLDOMText_get_firstChild(IXMLDOMText* This,IXMLDOMNode **firstChild) {
   4505     return This->lpVtbl->get_firstChild(This,firstChild);
   4506 }
   4507 static inline HRESULT IXMLDOMText_get_lastChild(IXMLDOMText* This,IXMLDOMNode **lastChild) {
   4508     return This->lpVtbl->get_lastChild(This,lastChild);
   4509 }
   4510 static inline HRESULT IXMLDOMText_get_previousSibling(IXMLDOMText* This,IXMLDOMNode **previousSibling) {
   4511     return This->lpVtbl->get_previousSibling(This,previousSibling);
   4512 }
   4513 static inline HRESULT IXMLDOMText_get_nextSibling(IXMLDOMText* This,IXMLDOMNode **nextSibling) {
   4514     return This->lpVtbl->get_nextSibling(This,nextSibling);
   4515 }
   4516 static inline HRESULT IXMLDOMText_get_attributes(IXMLDOMText* This,IXMLDOMNamedNodeMap **attributeMap) {
   4517     return This->lpVtbl->get_attributes(This,attributeMap);
   4518 }
   4519 static inline HRESULT IXMLDOMText_insertBefore(IXMLDOMText* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   4520     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   4521 }
   4522 static inline HRESULT IXMLDOMText_replaceChild(IXMLDOMText* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   4523     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   4524 }
   4525 static inline HRESULT IXMLDOMText_removeChild(IXMLDOMText* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   4526     return This->lpVtbl->removeChild(This,childNode,oldChild);
   4527 }
   4528 static inline HRESULT IXMLDOMText_appendChild(IXMLDOMText* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   4529     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   4530 }
   4531 static inline HRESULT IXMLDOMText_hasChildNodes(IXMLDOMText* This,VARIANT_BOOL *hasChild) {
   4532     return This->lpVtbl->hasChildNodes(This,hasChild);
   4533 }
   4534 static inline HRESULT IXMLDOMText_get_ownerDocument(IXMLDOMText* This,IXMLDOMDocument **DOMDocument) {
   4535     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   4536 }
   4537 static inline HRESULT IXMLDOMText_cloneNode(IXMLDOMText* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   4538     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   4539 }
   4540 static inline HRESULT IXMLDOMText_get_nodeTypeString(IXMLDOMText* This,BSTR *nodeType) {
   4541     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   4542 }
   4543 static inline HRESULT IXMLDOMText_get_text(IXMLDOMText* This,BSTR *text) {
   4544     return This->lpVtbl->get_text(This,text);
   4545 }
   4546 static inline HRESULT IXMLDOMText_put_text(IXMLDOMText* This,BSTR text) {
   4547     return This->lpVtbl->put_text(This,text);
   4548 }
   4549 static inline HRESULT IXMLDOMText_get_specified(IXMLDOMText* This,VARIANT_BOOL *isSpecified) {
   4550     return This->lpVtbl->get_specified(This,isSpecified);
   4551 }
   4552 static inline HRESULT IXMLDOMText_get_definition(IXMLDOMText* This,IXMLDOMNode **definitionNode) {
   4553     return This->lpVtbl->get_definition(This,definitionNode);
   4554 }
   4555 static inline HRESULT IXMLDOMText_get_nodeTypedValue(IXMLDOMText* This,VARIANT *typedValue) {
   4556     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   4557 }
   4558 static inline HRESULT IXMLDOMText_put_nodeTypedValue(IXMLDOMText* This,VARIANT typedValue) {
   4559     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   4560 }
   4561 static inline HRESULT IXMLDOMText_get_dataType(IXMLDOMText* This,VARIANT *dataTypeName) {
   4562     return This->lpVtbl->get_dataType(This,dataTypeName);
   4563 }
   4564 static inline HRESULT IXMLDOMText_put_dataType(IXMLDOMText* This,BSTR dataTypeName) {
   4565     return This->lpVtbl->put_dataType(This,dataTypeName);
   4566 }
   4567 static inline HRESULT IXMLDOMText_get_xml(IXMLDOMText* This,BSTR *xmlString) {
   4568     return This->lpVtbl->get_xml(This,xmlString);
   4569 }
   4570 static inline HRESULT IXMLDOMText_transformNode(IXMLDOMText* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   4571     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   4572 }
   4573 static inline HRESULT IXMLDOMText_selectNodes(IXMLDOMText* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   4574     return This->lpVtbl->selectNodes(This,queryString,resultList);
   4575 }
   4576 static inline HRESULT IXMLDOMText_selectSingleNode(IXMLDOMText* This,BSTR queryString,IXMLDOMNode **resultNode) {
   4577     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   4578 }
   4579 static inline HRESULT IXMLDOMText_get_parsed(IXMLDOMText* This,VARIANT_BOOL *isParsed) {
   4580     return This->lpVtbl->get_parsed(This,isParsed);
   4581 }
   4582 static inline HRESULT IXMLDOMText_get_namespaceURI(IXMLDOMText* This,BSTR *namespaceURI) {
   4583     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   4584 }
   4585 static inline HRESULT IXMLDOMText_get_prefix(IXMLDOMText* This,BSTR *prefixString) {
   4586     return This->lpVtbl->get_prefix(This,prefixString);
   4587 }
   4588 static inline HRESULT IXMLDOMText_get_baseName(IXMLDOMText* This,BSTR *nameString) {
   4589     return This->lpVtbl->get_baseName(This,nameString);
   4590 }
   4591 static inline HRESULT IXMLDOMText_transformNodeToObject(IXMLDOMText* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   4592     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   4593 }
   4594 /*** IXMLDOMCharacterData methods ***/
   4595 static inline HRESULT IXMLDOMText_get_data(IXMLDOMText* This,BSTR *data) {
   4596     return This->lpVtbl->get_data(This,data);
   4597 }
   4598 static inline HRESULT IXMLDOMText_put_data(IXMLDOMText* This,BSTR data) {
   4599     return This->lpVtbl->put_data(This,data);
   4600 }
   4601 static inline HRESULT IXMLDOMText_get_length(IXMLDOMText* This,LONG *dataLength) {
   4602     return This->lpVtbl->get_length(This,dataLength);
   4603 }
   4604 static inline HRESULT IXMLDOMText_substringData(IXMLDOMText* This,LONG offset,LONG count,BSTR *data) {
   4605     return This->lpVtbl->substringData(This,offset,count,data);
   4606 }
   4607 static inline HRESULT IXMLDOMText_appendData(IXMLDOMText* This,BSTR data) {
   4608     return This->lpVtbl->appendData(This,data);
   4609 }
   4610 static inline HRESULT IXMLDOMText_insertData(IXMLDOMText* This,LONG offset,BSTR data) {
   4611     return This->lpVtbl->insertData(This,offset,data);
   4612 }
   4613 static inline HRESULT IXMLDOMText_deleteData(IXMLDOMText* This,LONG offset,LONG count) {
   4614     return This->lpVtbl->deleteData(This,offset,count);
   4615 }
   4616 static inline HRESULT IXMLDOMText_replaceData(IXMLDOMText* This,LONG offset,LONG count,BSTR data) {
   4617     return This->lpVtbl->replaceData(This,offset,count,data);
   4618 }
   4619 /*** IXMLDOMText methods ***/
   4620 static inline HRESULT IXMLDOMText_splitText(IXMLDOMText* This,LONG offset,IXMLDOMText **rightHandTextNode) {
   4621     return This->lpVtbl->splitText(This,offset,rightHandTextNode);
   4622 }
   4623 #endif
   4624 #endif
   4625 
   4626 #endif
   4627 
   4628 
   4629 #endif  /* __IXMLDOMText_INTERFACE_DEFINED__ */
   4630 
   4631 /*****************************************************************************
   4632  * IXMLDOMComment interface
   4633  */
   4634 #ifndef __IXMLDOMComment_INTERFACE_DEFINED__
   4635 #define __IXMLDOMComment_INTERFACE_DEFINED__
   4636 
   4637 DEFINE_GUID(IID_IXMLDOMComment, 0x2933bf88, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   4638 #if defined(__cplusplus) && !defined(CINTERFACE)
   4639 MIDL_INTERFACE("2933bf88-7b36-11d2-b20e-00c04f983e60")
   4640 IXMLDOMComment : public IXMLDOMCharacterData
   4641 {
   4642 };
   4643 #ifdef __CRT_UUID_DECL
   4644 __CRT_UUID_DECL(IXMLDOMComment, 0x2933bf88, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   4645 #endif
   4646 #else
   4647 typedef struct IXMLDOMCommentVtbl {
   4648     BEGIN_INTERFACE
   4649 
   4650     /*** IUnknown methods ***/
   4651     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4652         IXMLDOMComment *This,
   4653         REFIID riid,
   4654         void **ppvObject);
   4655 
   4656     ULONG (STDMETHODCALLTYPE *AddRef)(
   4657         IXMLDOMComment *This);
   4658 
   4659     ULONG (STDMETHODCALLTYPE *Release)(
   4660         IXMLDOMComment *This);
   4661 
   4662     /*** IDispatch methods ***/
   4663     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4664         IXMLDOMComment *This,
   4665         UINT *pctinfo);
   4666 
   4667     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4668         IXMLDOMComment *This,
   4669         UINT iTInfo,
   4670         LCID lcid,
   4671         ITypeInfo **ppTInfo);
   4672 
   4673     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4674         IXMLDOMComment *This,
   4675         REFIID riid,
   4676         LPOLESTR *rgszNames,
   4677         UINT cNames,
   4678         LCID lcid,
   4679         DISPID *rgDispId);
   4680 
   4681     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4682         IXMLDOMComment *This,
   4683         DISPID dispIdMember,
   4684         REFIID riid,
   4685         LCID lcid,
   4686         WORD wFlags,
   4687         DISPPARAMS *pDispParams,
   4688         VARIANT *pVarResult,
   4689         EXCEPINFO *pExcepInfo,
   4690         UINT *puArgErr);
   4691 
   4692     /*** IXMLDOMNode methods ***/
   4693     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   4694         IXMLDOMComment *This,
   4695         BSTR *name);
   4696 
   4697     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   4698         IXMLDOMComment *This,
   4699         VARIANT *value);
   4700 
   4701     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   4702         IXMLDOMComment *This,
   4703         VARIANT value);
   4704 
   4705     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   4706         IXMLDOMComment *This,
   4707         DOMNodeType *type);
   4708 
   4709     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   4710         IXMLDOMComment *This,
   4711         IXMLDOMNode **parent);
   4712 
   4713     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   4714         IXMLDOMComment *This,
   4715         IXMLDOMNodeList **childList);
   4716 
   4717     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   4718         IXMLDOMComment *This,
   4719         IXMLDOMNode **firstChild);
   4720 
   4721     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   4722         IXMLDOMComment *This,
   4723         IXMLDOMNode **lastChild);
   4724 
   4725     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   4726         IXMLDOMComment *This,
   4727         IXMLDOMNode **previousSibling);
   4728 
   4729     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   4730         IXMLDOMComment *This,
   4731         IXMLDOMNode **nextSibling);
   4732 
   4733     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   4734         IXMLDOMComment *This,
   4735         IXMLDOMNamedNodeMap **attributeMap);
   4736 
   4737     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   4738         IXMLDOMComment *This,
   4739         IXMLDOMNode *newChild,
   4740         VARIANT refChild,
   4741         IXMLDOMNode **outNewChild);
   4742 
   4743     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   4744         IXMLDOMComment *This,
   4745         IXMLDOMNode *newChild,
   4746         IXMLDOMNode *oldChild,
   4747         IXMLDOMNode **outOldChild);
   4748 
   4749     HRESULT (STDMETHODCALLTYPE *removeChild)(
   4750         IXMLDOMComment *This,
   4751         IXMLDOMNode *childNode,
   4752         IXMLDOMNode **oldChild);
   4753 
   4754     HRESULT (STDMETHODCALLTYPE *appendChild)(
   4755         IXMLDOMComment *This,
   4756         IXMLDOMNode *newChild,
   4757         IXMLDOMNode **outNewChild);
   4758 
   4759     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   4760         IXMLDOMComment *This,
   4761         VARIANT_BOOL *hasChild);
   4762 
   4763     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   4764         IXMLDOMComment *This,
   4765         IXMLDOMDocument **DOMDocument);
   4766 
   4767     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   4768         IXMLDOMComment *This,
   4769         VARIANT_BOOL deep,
   4770         IXMLDOMNode **cloneRoot);
   4771 
   4772     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   4773         IXMLDOMComment *This,
   4774         BSTR *nodeType);
   4775 
   4776     HRESULT (STDMETHODCALLTYPE *get_text)(
   4777         IXMLDOMComment *This,
   4778         BSTR *text);
   4779 
   4780     HRESULT (STDMETHODCALLTYPE *put_text)(
   4781         IXMLDOMComment *This,
   4782         BSTR text);
   4783 
   4784     HRESULT (STDMETHODCALLTYPE *get_specified)(
   4785         IXMLDOMComment *This,
   4786         VARIANT_BOOL *isSpecified);
   4787 
   4788     HRESULT (STDMETHODCALLTYPE *get_definition)(
   4789         IXMLDOMComment *This,
   4790         IXMLDOMNode **definitionNode);
   4791 
   4792     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   4793         IXMLDOMComment *This,
   4794         VARIANT *typedValue);
   4795 
   4796     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   4797         IXMLDOMComment *This,
   4798         VARIANT typedValue);
   4799 
   4800     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   4801         IXMLDOMComment *This,
   4802         VARIANT *dataTypeName);
   4803 
   4804     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   4805         IXMLDOMComment *This,
   4806         BSTR dataTypeName);
   4807 
   4808     HRESULT (STDMETHODCALLTYPE *get_xml)(
   4809         IXMLDOMComment *This,
   4810         BSTR *xmlString);
   4811 
   4812     HRESULT (STDMETHODCALLTYPE *transformNode)(
   4813         IXMLDOMComment *This,
   4814         IXMLDOMNode *styleSheet,
   4815         BSTR *xmlString);
   4816 
   4817     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   4818         IXMLDOMComment *This,
   4819         BSTR queryString,
   4820         IXMLDOMNodeList **resultList);
   4821 
   4822     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   4823         IXMLDOMComment *This,
   4824         BSTR queryString,
   4825         IXMLDOMNode **resultNode);
   4826 
   4827     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   4828         IXMLDOMComment *This,
   4829         VARIANT_BOOL *isParsed);
   4830 
   4831     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   4832         IXMLDOMComment *This,
   4833         BSTR *namespaceURI);
   4834 
   4835     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   4836         IXMLDOMComment *This,
   4837         BSTR *prefixString);
   4838 
   4839     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   4840         IXMLDOMComment *This,
   4841         BSTR *nameString);
   4842 
   4843     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   4844         IXMLDOMComment *This,
   4845         IXMLDOMNode *stylesheet,
   4846         VARIANT outputObject);
   4847 
   4848     /*** IXMLDOMCharacterData methods ***/
   4849     HRESULT (STDMETHODCALLTYPE *get_data)(
   4850         IXMLDOMComment *This,
   4851         BSTR *data);
   4852 
   4853     HRESULT (STDMETHODCALLTYPE *put_data)(
   4854         IXMLDOMComment *This,
   4855         BSTR data);
   4856 
   4857     HRESULT (STDMETHODCALLTYPE *get_length)(
   4858         IXMLDOMComment *This,
   4859         LONG *dataLength);
   4860 
   4861     HRESULT (STDMETHODCALLTYPE *substringData)(
   4862         IXMLDOMComment *This,
   4863         LONG offset,
   4864         LONG count,
   4865         BSTR *data);
   4866 
   4867     HRESULT (STDMETHODCALLTYPE *appendData)(
   4868         IXMLDOMComment *This,
   4869         BSTR data);
   4870 
   4871     HRESULT (STDMETHODCALLTYPE *insertData)(
   4872         IXMLDOMComment *This,
   4873         LONG offset,
   4874         BSTR data);
   4875 
   4876     HRESULT (STDMETHODCALLTYPE *deleteData)(
   4877         IXMLDOMComment *This,
   4878         LONG offset,
   4879         LONG count);
   4880 
   4881     HRESULT (STDMETHODCALLTYPE *replaceData)(
   4882         IXMLDOMComment *This,
   4883         LONG offset,
   4884         LONG count,
   4885         BSTR data);
   4886 
   4887     END_INTERFACE
   4888 } IXMLDOMCommentVtbl;
   4889 
   4890 interface IXMLDOMComment {
   4891     CONST_VTBL IXMLDOMCommentVtbl* lpVtbl;
   4892 };
   4893 
   4894 #ifdef COBJMACROS
   4895 #ifndef WIDL_C_INLINE_WRAPPERS
   4896 /*** IUnknown methods ***/
   4897 #define IXMLDOMComment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4898 #define IXMLDOMComment_AddRef(This) (This)->lpVtbl->AddRef(This)
   4899 #define IXMLDOMComment_Release(This) (This)->lpVtbl->Release(This)
   4900 /*** IDispatch methods ***/
   4901 #define IXMLDOMComment_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4902 #define IXMLDOMComment_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4903 #define IXMLDOMComment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4904 #define IXMLDOMComment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4905 /*** IXMLDOMNode methods ***/
   4906 #define IXMLDOMComment_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   4907 #define IXMLDOMComment_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   4908 #define IXMLDOMComment_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   4909 #define IXMLDOMComment_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   4910 #define IXMLDOMComment_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   4911 #define IXMLDOMComment_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   4912 #define IXMLDOMComment_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   4913 #define IXMLDOMComment_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   4914 #define IXMLDOMComment_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   4915 #define IXMLDOMComment_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   4916 #define IXMLDOMComment_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   4917 #define IXMLDOMComment_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   4918 #define IXMLDOMComment_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   4919 #define IXMLDOMComment_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   4920 #define IXMLDOMComment_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   4921 #define IXMLDOMComment_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   4922 #define IXMLDOMComment_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   4923 #define IXMLDOMComment_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   4924 #define IXMLDOMComment_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   4925 #define IXMLDOMComment_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   4926 #define IXMLDOMComment_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   4927 #define IXMLDOMComment_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   4928 #define IXMLDOMComment_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   4929 #define IXMLDOMComment_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   4930 #define IXMLDOMComment_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   4931 #define IXMLDOMComment_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   4932 #define IXMLDOMComment_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   4933 #define IXMLDOMComment_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   4934 #define IXMLDOMComment_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   4935 #define IXMLDOMComment_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   4936 #define IXMLDOMComment_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   4937 #define IXMLDOMComment_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   4938 #define IXMLDOMComment_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   4939 #define IXMLDOMComment_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   4940 #define IXMLDOMComment_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   4941 #define IXMLDOMComment_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   4942 /*** IXMLDOMCharacterData methods ***/
   4943 #define IXMLDOMComment_get_data(This,data) (This)->lpVtbl->get_data(This,data)
   4944 #define IXMLDOMComment_put_data(This,data) (This)->lpVtbl->put_data(This,data)
   4945 #define IXMLDOMComment_get_length(This,dataLength) (This)->lpVtbl->get_length(This,dataLength)
   4946 #define IXMLDOMComment_substringData(This,offset,count,data) (This)->lpVtbl->substringData(This,offset,count,data)
   4947 #define IXMLDOMComment_appendData(This,data) (This)->lpVtbl->appendData(This,data)
   4948 #define IXMLDOMComment_insertData(This,offset,data) (This)->lpVtbl->insertData(This,offset,data)
   4949 #define IXMLDOMComment_deleteData(This,offset,count) (This)->lpVtbl->deleteData(This,offset,count)
   4950 #define IXMLDOMComment_replaceData(This,offset,count,data) (This)->lpVtbl->replaceData(This,offset,count,data)
   4951 #else
   4952 /*** IUnknown methods ***/
   4953 static inline HRESULT IXMLDOMComment_QueryInterface(IXMLDOMComment* This,REFIID riid,void **ppvObject) {
   4954     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4955 }
   4956 static inline ULONG IXMLDOMComment_AddRef(IXMLDOMComment* This) {
   4957     return This->lpVtbl->AddRef(This);
   4958 }
   4959 static inline ULONG IXMLDOMComment_Release(IXMLDOMComment* This) {
   4960     return This->lpVtbl->Release(This);
   4961 }
   4962 /*** IDispatch methods ***/
   4963 static inline HRESULT IXMLDOMComment_GetTypeInfoCount(IXMLDOMComment* This,UINT *pctinfo) {
   4964     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4965 }
   4966 static inline HRESULT IXMLDOMComment_GetTypeInfo(IXMLDOMComment* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4967     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4968 }
   4969 static inline HRESULT IXMLDOMComment_GetIDsOfNames(IXMLDOMComment* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4970     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4971 }
   4972 static inline HRESULT IXMLDOMComment_Invoke(IXMLDOMComment* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4973     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4974 }
   4975 /*** IXMLDOMNode methods ***/
   4976 static inline HRESULT IXMLDOMComment_get_nodeName(IXMLDOMComment* This,BSTR *name) {
   4977     return This->lpVtbl->get_nodeName(This,name);
   4978 }
   4979 static inline HRESULT IXMLDOMComment_get_nodeValue(IXMLDOMComment* This,VARIANT *value) {
   4980     return This->lpVtbl->get_nodeValue(This,value);
   4981 }
   4982 static inline HRESULT IXMLDOMComment_put_nodeValue(IXMLDOMComment* This,VARIANT value) {
   4983     return This->lpVtbl->put_nodeValue(This,value);
   4984 }
   4985 static inline HRESULT IXMLDOMComment_get_nodeType(IXMLDOMComment* This,DOMNodeType *type) {
   4986     return This->lpVtbl->get_nodeType(This,type);
   4987 }
   4988 static inline HRESULT IXMLDOMComment_get_parentNode(IXMLDOMComment* This,IXMLDOMNode **parent) {
   4989     return This->lpVtbl->get_parentNode(This,parent);
   4990 }
   4991 static inline HRESULT IXMLDOMComment_get_childNodes(IXMLDOMComment* This,IXMLDOMNodeList **childList) {
   4992     return This->lpVtbl->get_childNodes(This,childList);
   4993 }
   4994 static inline HRESULT IXMLDOMComment_get_firstChild(IXMLDOMComment* This,IXMLDOMNode **firstChild) {
   4995     return This->lpVtbl->get_firstChild(This,firstChild);
   4996 }
   4997 static inline HRESULT IXMLDOMComment_get_lastChild(IXMLDOMComment* This,IXMLDOMNode **lastChild) {
   4998     return This->lpVtbl->get_lastChild(This,lastChild);
   4999 }
   5000 static inline HRESULT IXMLDOMComment_get_previousSibling(IXMLDOMComment* This,IXMLDOMNode **previousSibling) {
   5001     return This->lpVtbl->get_previousSibling(This,previousSibling);
   5002 }
   5003 static inline HRESULT IXMLDOMComment_get_nextSibling(IXMLDOMComment* This,IXMLDOMNode **nextSibling) {
   5004     return This->lpVtbl->get_nextSibling(This,nextSibling);
   5005 }
   5006 static inline HRESULT IXMLDOMComment_get_attributes(IXMLDOMComment* This,IXMLDOMNamedNodeMap **attributeMap) {
   5007     return This->lpVtbl->get_attributes(This,attributeMap);
   5008 }
   5009 static inline HRESULT IXMLDOMComment_insertBefore(IXMLDOMComment* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   5010     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   5011 }
   5012 static inline HRESULT IXMLDOMComment_replaceChild(IXMLDOMComment* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   5013     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   5014 }
   5015 static inline HRESULT IXMLDOMComment_removeChild(IXMLDOMComment* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   5016     return This->lpVtbl->removeChild(This,childNode,oldChild);
   5017 }
   5018 static inline HRESULT IXMLDOMComment_appendChild(IXMLDOMComment* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   5019     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   5020 }
   5021 static inline HRESULT IXMLDOMComment_hasChildNodes(IXMLDOMComment* This,VARIANT_BOOL *hasChild) {
   5022     return This->lpVtbl->hasChildNodes(This,hasChild);
   5023 }
   5024 static inline HRESULT IXMLDOMComment_get_ownerDocument(IXMLDOMComment* This,IXMLDOMDocument **DOMDocument) {
   5025     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   5026 }
   5027 static inline HRESULT IXMLDOMComment_cloneNode(IXMLDOMComment* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   5028     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   5029 }
   5030 static inline HRESULT IXMLDOMComment_get_nodeTypeString(IXMLDOMComment* This,BSTR *nodeType) {
   5031     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   5032 }
   5033 static inline HRESULT IXMLDOMComment_get_text(IXMLDOMComment* This,BSTR *text) {
   5034     return This->lpVtbl->get_text(This,text);
   5035 }
   5036 static inline HRESULT IXMLDOMComment_put_text(IXMLDOMComment* This,BSTR text) {
   5037     return This->lpVtbl->put_text(This,text);
   5038 }
   5039 static inline HRESULT IXMLDOMComment_get_specified(IXMLDOMComment* This,VARIANT_BOOL *isSpecified) {
   5040     return This->lpVtbl->get_specified(This,isSpecified);
   5041 }
   5042 static inline HRESULT IXMLDOMComment_get_definition(IXMLDOMComment* This,IXMLDOMNode **definitionNode) {
   5043     return This->lpVtbl->get_definition(This,definitionNode);
   5044 }
   5045 static inline HRESULT IXMLDOMComment_get_nodeTypedValue(IXMLDOMComment* This,VARIANT *typedValue) {
   5046     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   5047 }
   5048 static inline HRESULT IXMLDOMComment_put_nodeTypedValue(IXMLDOMComment* This,VARIANT typedValue) {
   5049     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   5050 }
   5051 static inline HRESULT IXMLDOMComment_get_dataType(IXMLDOMComment* This,VARIANT *dataTypeName) {
   5052     return This->lpVtbl->get_dataType(This,dataTypeName);
   5053 }
   5054 static inline HRESULT IXMLDOMComment_put_dataType(IXMLDOMComment* This,BSTR dataTypeName) {
   5055     return This->lpVtbl->put_dataType(This,dataTypeName);
   5056 }
   5057 static inline HRESULT IXMLDOMComment_get_xml(IXMLDOMComment* This,BSTR *xmlString) {
   5058     return This->lpVtbl->get_xml(This,xmlString);
   5059 }
   5060 static inline HRESULT IXMLDOMComment_transformNode(IXMLDOMComment* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   5061     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   5062 }
   5063 static inline HRESULT IXMLDOMComment_selectNodes(IXMLDOMComment* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   5064     return This->lpVtbl->selectNodes(This,queryString,resultList);
   5065 }
   5066 static inline HRESULT IXMLDOMComment_selectSingleNode(IXMLDOMComment* This,BSTR queryString,IXMLDOMNode **resultNode) {
   5067     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   5068 }
   5069 static inline HRESULT IXMLDOMComment_get_parsed(IXMLDOMComment* This,VARIANT_BOOL *isParsed) {
   5070     return This->lpVtbl->get_parsed(This,isParsed);
   5071 }
   5072 static inline HRESULT IXMLDOMComment_get_namespaceURI(IXMLDOMComment* This,BSTR *namespaceURI) {
   5073     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   5074 }
   5075 static inline HRESULT IXMLDOMComment_get_prefix(IXMLDOMComment* This,BSTR *prefixString) {
   5076     return This->lpVtbl->get_prefix(This,prefixString);
   5077 }
   5078 static inline HRESULT IXMLDOMComment_get_baseName(IXMLDOMComment* This,BSTR *nameString) {
   5079     return This->lpVtbl->get_baseName(This,nameString);
   5080 }
   5081 static inline HRESULT IXMLDOMComment_transformNodeToObject(IXMLDOMComment* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   5082     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   5083 }
   5084 /*** IXMLDOMCharacterData methods ***/
   5085 static inline HRESULT IXMLDOMComment_get_data(IXMLDOMComment* This,BSTR *data) {
   5086     return This->lpVtbl->get_data(This,data);
   5087 }
   5088 static inline HRESULT IXMLDOMComment_put_data(IXMLDOMComment* This,BSTR data) {
   5089     return This->lpVtbl->put_data(This,data);
   5090 }
   5091 static inline HRESULT IXMLDOMComment_get_length(IXMLDOMComment* This,LONG *dataLength) {
   5092     return This->lpVtbl->get_length(This,dataLength);
   5093 }
   5094 static inline HRESULT IXMLDOMComment_substringData(IXMLDOMComment* This,LONG offset,LONG count,BSTR *data) {
   5095     return This->lpVtbl->substringData(This,offset,count,data);
   5096 }
   5097 static inline HRESULT IXMLDOMComment_appendData(IXMLDOMComment* This,BSTR data) {
   5098     return This->lpVtbl->appendData(This,data);
   5099 }
   5100 static inline HRESULT IXMLDOMComment_insertData(IXMLDOMComment* This,LONG offset,BSTR data) {
   5101     return This->lpVtbl->insertData(This,offset,data);
   5102 }
   5103 static inline HRESULT IXMLDOMComment_deleteData(IXMLDOMComment* This,LONG offset,LONG count) {
   5104     return This->lpVtbl->deleteData(This,offset,count);
   5105 }
   5106 static inline HRESULT IXMLDOMComment_replaceData(IXMLDOMComment* This,LONG offset,LONG count,BSTR data) {
   5107     return This->lpVtbl->replaceData(This,offset,count,data);
   5108 }
   5109 #endif
   5110 #endif
   5111 
   5112 #endif
   5113 
   5114 
   5115 #endif  /* __IXMLDOMComment_INTERFACE_DEFINED__ */
   5116 
   5117 /*****************************************************************************
   5118  * IXMLDOMProcessingInstruction interface
   5119  */
   5120 #ifndef __IXMLDOMProcessingInstruction_INTERFACE_DEFINED__
   5121 #define __IXMLDOMProcessingInstruction_INTERFACE_DEFINED__
   5122 
   5123 DEFINE_GUID(IID_IXMLDOMProcessingInstruction, 0x2933bf89, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   5124 #if defined(__cplusplus) && !defined(CINTERFACE)
   5125 MIDL_INTERFACE("2933bf89-7b36-11d2-b20e-00c04f983e60")
   5126 IXMLDOMProcessingInstruction : public IXMLDOMNode
   5127 {
   5128     virtual HRESULT STDMETHODCALLTYPE get_target(
   5129         BSTR *name) = 0;
   5130 
   5131     virtual HRESULT STDMETHODCALLTYPE get_data(
   5132         BSTR *value) = 0;
   5133 
   5134     virtual HRESULT STDMETHODCALLTYPE put_data(
   5135         BSTR value) = 0;
   5136 
   5137 };
   5138 #ifdef __CRT_UUID_DECL
   5139 __CRT_UUID_DECL(IXMLDOMProcessingInstruction, 0x2933bf89, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   5140 #endif
   5141 #else
   5142 typedef struct IXMLDOMProcessingInstructionVtbl {
   5143     BEGIN_INTERFACE
   5144 
   5145     /*** IUnknown methods ***/
   5146     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5147         IXMLDOMProcessingInstruction *This,
   5148         REFIID riid,
   5149         void **ppvObject);
   5150 
   5151     ULONG (STDMETHODCALLTYPE *AddRef)(
   5152         IXMLDOMProcessingInstruction *This);
   5153 
   5154     ULONG (STDMETHODCALLTYPE *Release)(
   5155         IXMLDOMProcessingInstruction *This);
   5156 
   5157     /*** IDispatch methods ***/
   5158     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5159         IXMLDOMProcessingInstruction *This,
   5160         UINT *pctinfo);
   5161 
   5162     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5163         IXMLDOMProcessingInstruction *This,
   5164         UINT iTInfo,
   5165         LCID lcid,
   5166         ITypeInfo **ppTInfo);
   5167 
   5168     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5169         IXMLDOMProcessingInstruction *This,
   5170         REFIID riid,
   5171         LPOLESTR *rgszNames,
   5172         UINT cNames,
   5173         LCID lcid,
   5174         DISPID *rgDispId);
   5175 
   5176     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5177         IXMLDOMProcessingInstruction *This,
   5178         DISPID dispIdMember,
   5179         REFIID riid,
   5180         LCID lcid,
   5181         WORD wFlags,
   5182         DISPPARAMS *pDispParams,
   5183         VARIANT *pVarResult,
   5184         EXCEPINFO *pExcepInfo,
   5185         UINT *puArgErr);
   5186 
   5187     /*** IXMLDOMNode methods ***/
   5188     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   5189         IXMLDOMProcessingInstruction *This,
   5190         BSTR *name);
   5191 
   5192     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   5193         IXMLDOMProcessingInstruction *This,
   5194         VARIANT *value);
   5195 
   5196     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   5197         IXMLDOMProcessingInstruction *This,
   5198         VARIANT value);
   5199 
   5200     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   5201         IXMLDOMProcessingInstruction *This,
   5202         DOMNodeType *type);
   5203 
   5204     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   5205         IXMLDOMProcessingInstruction *This,
   5206         IXMLDOMNode **parent);
   5207 
   5208     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   5209         IXMLDOMProcessingInstruction *This,
   5210         IXMLDOMNodeList **childList);
   5211 
   5212     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   5213         IXMLDOMProcessingInstruction *This,
   5214         IXMLDOMNode **firstChild);
   5215 
   5216     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   5217         IXMLDOMProcessingInstruction *This,
   5218         IXMLDOMNode **lastChild);
   5219 
   5220     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   5221         IXMLDOMProcessingInstruction *This,
   5222         IXMLDOMNode **previousSibling);
   5223 
   5224     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   5225         IXMLDOMProcessingInstruction *This,
   5226         IXMLDOMNode **nextSibling);
   5227 
   5228     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   5229         IXMLDOMProcessingInstruction *This,
   5230         IXMLDOMNamedNodeMap **attributeMap);
   5231 
   5232     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   5233         IXMLDOMProcessingInstruction *This,
   5234         IXMLDOMNode *newChild,
   5235         VARIANT refChild,
   5236         IXMLDOMNode **outNewChild);
   5237 
   5238     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   5239         IXMLDOMProcessingInstruction *This,
   5240         IXMLDOMNode *newChild,
   5241         IXMLDOMNode *oldChild,
   5242         IXMLDOMNode **outOldChild);
   5243 
   5244     HRESULT (STDMETHODCALLTYPE *removeChild)(
   5245         IXMLDOMProcessingInstruction *This,
   5246         IXMLDOMNode *childNode,
   5247         IXMLDOMNode **oldChild);
   5248 
   5249     HRESULT (STDMETHODCALLTYPE *appendChild)(
   5250         IXMLDOMProcessingInstruction *This,
   5251         IXMLDOMNode *newChild,
   5252         IXMLDOMNode **outNewChild);
   5253 
   5254     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   5255         IXMLDOMProcessingInstruction *This,
   5256         VARIANT_BOOL *hasChild);
   5257 
   5258     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   5259         IXMLDOMProcessingInstruction *This,
   5260         IXMLDOMDocument **DOMDocument);
   5261 
   5262     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   5263         IXMLDOMProcessingInstruction *This,
   5264         VARIANT_BOOL deep,
   5265         IXMLDOMNode **cloneRoot);
   5266 
   5267     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   5268         IXMLDOMProcessingInstruction *This,
   5269         BSTR *nodeType);
   5270 
   5271     HRESULT (STDMETHODCALLTYPE *get_text)(
   5272         IXMLDOMProcessingInstruction *This,
   5273         BSTR *text);
   5274 
   5275     HRESULT (STDMETHODCALLTYPE *put_text)(
   5276         IXMLDOMProcessingInstruction *This,
   5277         BSTR text);
   5278 
   5279     HRESULT (STDMETHODCALLTYPE *get_specified)(
   5280         IXMLDOMProcessingInstruction *This,
   5281         VARIANT_BOOL *isSpecified);
   5282 
   5283     HRESULT (STDMETHODCALLTYPE *get_definition)(
   5284         IXMLDOMProcessingInstruction *This,
   5285         IXMLDOMNode **definitionNode);
   5286 
   5287     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   5288         IXMLDOMProcessingInstruction *This,
   5289         VARIANT *typedValue);
   5290 
   5291     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   5292         IXMLDOMProcessingInstruction *This,
   5293         VARIANT typedValue);
   5294 
   5295     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   5296         IXMLDOMProcessingInstruction *This,
   5297         VARIANT *dataTypeName);
   5298 
   5299     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   5300         IXMLDOMProcessingInstruction *This,
   5301         BSTR dataTypeName);
   5302 
   5303     HRESULT (STDMETHODCALLTYPE *get_xml)(
   5304         IXMLDOMProcessingInstruction *This,
   5305         BSTR *xmlString);
   5306 
   5307     HRESULT (STDMETHODCALLTYPE *transformNode)(
   5308         IXMLDOMProcessingInstruction *This,
   5309         IXMLDOMNode *styleSheet,
   5310         BSTR *xmlString);
   5311 
   5312     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   5313         IXMLDOMProcessingInstruction *This,
   5314         BSTR queryString,
   5315         IXMLDOMNodeList **resultList);
   5316 
   5317     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   5318         IXMLDOMProcessingInstruction *This,
   5319         BSTR queryString,
   5320         IXMLDOMNode **resultNode);
   5321 
   5322     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   5323         IXMLDOMProcessingInstruction *This,
   5324         VARIANT_BOOL *isParsed);
   5325 
   5326     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   5327         IXMLDOMProcessingInstruction *This,
   5328         BSTR *namespaceURI);
   5329 
   5330     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   5331         IXMLDOMProcessingInstruction *This,
   5332         BSTR *prefixString);
   5333 
   5334     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   5335         IXMLDOMProcessingInstruction *This,
   5336         BSTR *nameString);
   5337 
   5338     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   5339         IXMLDOMProcessingInstruction *This,
   5340         IXMLDOMNode *stylesheet,
   5341         VARIANT outputObject);
   5342 
   5343     /*** IXMLDOMProcessingInstruction methods ***/
   5344     HRESULT (STDMETHODCALLTYPE *get_target)(
   5345         IXMLDOMProcessingInstruction *This,
   5346         BSTR *name);
   5347 
   5348     HRESULT (STDMETHODCALLTYPE *get_data)(
   5349         IXMLDOMProcessingInstruction *This,
   5350         BSTR *value);
   5351 
   5352     HRESULT (STDMETHODCALLTYPE *put_data)(
   5353         IXMLDOMProcessingInstruction *This,
   5354         BSTR value);
   5355 
   5356     END_INTERFACE
   5357 } IXMLDOMProcessingInstructionVtbl;
   5358 
   5359 interface IXMLDOMProcessingInstruction {
   5360     CONST_VTBL IXMLDOMProcessingInstructionVtbl* lpVtbl;
   5361 };
   5362 
   5363 #ifdef COBJMACROS
   5364 #ifndef WIDL_C_INLINE_WRAPPERS
   5365 /*** IUnknown methods ***/
   5366 #define IXMLDOMProcessingInstruction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5367 #define IXMLDOMProcessingInstruction_AddRef(This) (This)->lpVtbl->AddRef(This)
   5368 #define IXMLDOMProcessingInstruction_Release(This) (This)->lpVtbl->Release(This)
   5369 /*** IDispatch methods ***/
   5370 #define IXMLDOMProcessingInstruction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5371 #define IXMLDOMProcessingInstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5372 #define IXMLDOMProcessingInstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5373 #define IXMLDOMProcessingInstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5374 /*** IXMLDOMNode methods ***/
   5375 #define IXMLDOMProcessingInstruction_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   5376 #define IXMLDOMProcessingInstruction_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   5377 #define IXMLDOMProcessingInstruction_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   5378 #define IXMLDOMProcessingInstruction_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   5379 #define IXMLDOMProcessingInstruction_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   5380 #define IXMLDOMProcessingInstruction_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   5381 #define IXMLDOMProcessingInstruction_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   5382 #define IXMLDOMProcessingInstruction_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   5383 #define IXMLDOMProcessingInstruction_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   5384 #define IXMLDOMProcessingInstruction_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   5385 #define IXMLDOMProcessingInstruction_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   5386 #define IXMLDOMProcessingInstruction_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   5387 #define IXMLDOMProcessingInstruction_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   5388 #define IXMLDOMProcessingInstruction_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   5389 #define IXMLDOMProcessingInstruction_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   5390 #define IXMLDOMProcessingInstruction_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   5391 #define IXMLDOMProcessingInstruction_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   5392 #define IXMLDOMProcessingInstruction_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   5393 #define IXMLDOMProcessingInstruction_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   5394 #define IXMLDOMProcessingInstruction_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   5395 #define IXMLDOMProcessingInstruction_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   5396 #define IXMLDOMProcessingInstruction_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   5397 #define IXMLDOMProcessingInstruction_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   5398 #define IXMLDOMProcessingInstruction_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   5399 #define IXMLDOMProcessingInstruction_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   5400 #define IXMLDOMProcessingInstruction_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   5401 #define IXMLDOMProcessingInstruction_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   5402 #define IXMLDOMProcessingInstruction_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   5403 #define IXMLDOMProcessingInstruction_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   5404 #define IXMLDOMProcessingInstruction_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   5405 #define IXMLDOMProcessingInstruction_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   5406 #define IXMLDOMProcessingInstruction_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   5407 #define IXMLDOMProcessingInstruction_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   5408 #define IXMLDOMProcessingInstruction_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   5409 #define IXMLDOMProcessingInstruction_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   5410 #define IXMLDOMProcessingInstruction_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   5411 /*** IXMLDOMProcessingInstruction methods ***/
   5412 #define IXMLDOMProcessingInstruction_get_target(This,name) (This)->lpVtbl->get_target(This,name)
   5413 #define IXMLDOMProcessingInstruction_get_data(This,value) (This)->lpVtbl->get_data(This,value)
   5414 #define IXMLDOMProcessingInstruction_put_data(This,value) (This)->lpVtbl->put_data(This,value)
   5415 #else
   5416 /*** IUnknown methods ***/
   5417 static inline HRESULT IXMLDOMProcessingInstruction_QueryInterface(IXMLDOMProcessingInstruction* This,REFIID riid,void **ppvObject) {
   5418     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5419 }
   5420 static inline ULONG IXMLDOMProcessingInstruction_AddRef(IXMLDOMProcessingInstruction* This) {
   5421     return This->lpVtbl->AddRef(This);
   5422 }
   5423 static inline ULONG IXMLDOMProcessingInstruction_Release(IXMLDOMProcessingInstruction* This) {
   5424     return This->lpVtbl->Release(This);
   5425 }
   5426 /*** IDispatch methods ***/
   5427 static inline HRESULT IXMLDOMProcessingInstruction_GetTypeInfoCount(IXMLDOMProcessingInstruction* This,UINT *pctinfo) {
   5428     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5429 }
   5430 static inline HRESULT IXMLDOMProcessingInstruction_GetTypeInfo(IXMLDOMProcessingInstruction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5431     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5432 }
   5433 static inline HRESULT IXMLDOMProcessingInstruction_GetIDsOfNames(IXMLDOMProcessingInstruction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5434     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5435 }
   5436 static inline HRESULT IXMLDOMProcessingInstruction_Invoke(IXMLDOMProcessingInstruction* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5437     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5438 }
   5439 /*** IXMLDOMNode methods ***/
   5440 static inline HRESULT IXMLDOMProcessingInstruction_get_nodeName(IXMLDOMProcessingInstruction* This,BSTR *name) {
   5441     return This->lpVtbl->get_nodeName(This,name);
   5442 }
   5443 static inline HRESULT IXMLDOMProcessingInstruction_get_nodeValue(IXMLDOMProcessingInstruction* This,VARIANT *value) {
   5444     return This->lpVtbl->get_nodeValue(This,value);
   5445 }
   5446 static inline HRESULT IXMLDOMProcessingInstruction_put_nodeValue(IXMLDOMProcessingInstruction* This,VARIANT value) {
   5447     return This->lpVtbl->put_nodeValue(This,value);
   5448 }
   5449 static inline HRESULT IXMLDOMProcessingInstruction_get_nodeType(IXMLDOMProcessingInstruction* This,DOMNodeType *type) {
   5450     return This->lpVtbl->get_nodeType(This,type);
   5451 }
   5452 static inline HRESULT IXMLDOMProcessingInstruction_get_parentNode(IXMLDOMProcessingInstruction* This,IXMLDOMNode **parent) {
   5453     return This->lpVtbl->get_parentNode(This,parent);
   5454 }
   5455 static inline HRESULT IXMLDOMProcessingInstruction_get_childNodes(IXMLDOMProcessingInstruction* This,IXMLDOMNodeList **childList) {
   5456     return This->lpVtbl->get_childNodes(This,childList);
   5457 }
   5458 static inline HRESULT IXMLDOMProcessingInstruction_get_firstChild(IXMLDOMProcessingInstruction* This,IXMLDOMNode **firstChild) {
   5459     return This->lpVtbl->get_firstChild(This,firstChild);
   5460 }
   5461 static inline HRESULT IXMLDOMProcessingInstruction_get_lastChild(IXMLDOMProcessingInstruction* This,IXMLDOMNode **lastChild) {
   5462     return This->lpVtbl->get_lastChild(This,lastChild);
   5463 }
   5464 static inline HRESULT IXMLDOMProcessingInstruction_get_previousSibling(IXMLDOMProcessingInstruction* This,IXMLDOMNode **previousSibling) {
   5465     return This->lpVtbl->get_previousSibling(This,previousSibling);
   5466 }
   5467 static inline HRESULT IXMLDOMProcessingInstruction_get_nextSibling(IXMLDOMProcessingInstruction* This,IXMLDOMNode **nextSibling) {
   5468     return This->lpVtbl->get_nextSibling(This,nextSibling);
   5469 }
   5470 static inline HRESULT IXMLDOMProcessingInstruction_get_attributes(IXMLDOMProcessingInstruction* This,IXMLDOMNamedNodeMap **attributeMap) {
   5471     return This->lpVtbl->get_attributes(This,attributeMap);
   5472 }
   5473 static inline HRESULT IXMLDOMProcessingInstruction_insertBefore(IXMLDOMProcessingInstruction* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   5474     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   5475 }
   5476 static inline HRESULT IXMLDOMProcessingInstruction_replaceChild(IXMLDOMProcessingInstruction* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   5477     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   5478 }
   5479 static inline HRESULT IXMLDOMProcessingInstruction_removeChild(IXMLDOMProcessingInstruction* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   5480     return This->lpVtbl->removeChild(This,childNode,oldChild);
   5481 }
   5482 static inline HRESULT IXMLDOMProcessingInstruction_appendChild(IXMLDOMProcessingInstruction* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   5483     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   5484 }
   5485 static inline HRESULT IXMLDOMProcessingInstruction_hasChildNodes(IXMLDOMProcessingInstruction* This,VARIANT_BOOL *hasChild) {
   5486     return This->lpVtbl->hasChildNodes(This,hasChild);
   5487 }
   5488 static inline HRESULT IXMLDOMProcessingInstruction_get_ownerDocument(IXMLDOMProcessingInstruction* This,IXMLDOMDocument **DOMDocument) {
   5489     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   5490 }
   5491 static inline HRESULT IXMLDOMProcessingInstruction_cloneNode(IXMLDOMProcessingInstruction* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   5492     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   5493 }
   5494 static inline HRESULT IXMLDOMProcessingInstruction_get_nodeTypeString(IXMLDOMProcessingInstruction* This,BSTR *nodeType) {
   5495     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   5496 }
   5497 static inline HRESULT IXMLDOMProcessingInstruction_get_text(IXMLDOMProcessingInstruction* This,BSTR *text) {
   5498     return This->lpVtbl->get_text(This,text);
   5499 }
   5500 static inline HRESULT IXMLDOMProcessingInstruction_put_text(IXMLDOMProcessingInstruction* This,BSTR text) {
   5501     return This->lpVtbl->put_text(This,text);
   5502 }
   5503 static inline HRESULT IXMLDOMProcessingInstruction_get_specified(IXMLDOMProcessingInstruction* This,VARIANT_BOOL *isSpecified) {
   5504     return This->lpVtbl->get_specified(This,isSpecified);
   5505 }
   5506 static inline HRESULT IXMLDOMProcessingInstruction_get_definition(IXMLDOMProcessingInstruction* This,IXMLDOMNode **definitionNode) {
   5507     return This->lpVtbl->get_definition(This,definitionNode);
   5508 }
   5509 static inline HRESULT IXMLDOMProcessingInstruction_get_nodeTypedValue(IXMLDOMProcessingInstruction* This,VARIANT *typedValue) {
   5510     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   5511 }
   5512 static inline HRESULT IXMLDOMProcessingInstruction_put_nodeTypedValue(IXMLDOMProcessingInstruction* This,VARIANT typedValue) {
   5513     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   5514 }
   5515 static inline HRESULT IXMLDOMProcessingInstruction_get_dataType(IXMLDOMProcessingInstruction* This,VARIANT *dataTypeName) {
   5516     return This->lpVtbl->get_dataType(This,dataTypeName);
   5517 }
   5518 static inline HRESULT IXMLDOMProcessingInstruction_put_dataType(IXMLDOMProcessingInstruction* This,BSTR dataTypeName) {
   5519     return This->lpVtbl->put_dataType(This,dataTypeName);
   5520 }
   5521 static inline HRESULT IXMLDOMProcessingInstruction_get_xml(IXMLDOMProcessingInstruction* This,BSTR *xmlString) {
   5522     return This->lpVtbl->get_xml(This,xmlString);
   5523 }
   5524 static inline HRESULT IXMLDOMProcessingInstruction_transformNode(IXMLDOMProcessingInstruction* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   5525     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   5526 }
   5527 static inline HRESULT IXMLDOMProcessingInstruction_selectNodes(IXMLDOMProcessingInstruction* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   5528     return This->lpVtbl->selectNodes(This,queryString,resultList);
   5529 }
   5530 static inline HRESULT IXMLDOMProcessingInstruction_selectSingleNode(IXMLDOMProcessingInstruction* This,BSTR queryString,IXMLDOMNode **resultNode) {
   5531     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   5532 }
   5533 static inline HRESULT IXMLDOMProcessingInstruction_get_parsed(IXMLDOMProcessingInstruction* This,VARIANT_BOOL *isParsed) {
   5534     return This->lpVtbl->get_parsed(This,isParsed);
   5535 }
   5536 static inline HRESULT IXMLDOMProcessingInstruction_get_namespaceURI(IXMLDOMProcessingInstruction* This,BSTR *namespaceURI) {
   5537     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   5538 }
   5539 static inline HRESULT IXMLDOMProcessingInstruction_get_prefix(IXMLDOMProcessingInstruction* This,BSTR *prefixString) {
   5540     return This->lpVtbl->get_prefix(This,prefixString);
   5541 }
   5542 static inline HRESULT IXMLDOMProcessingInstruction_get_baseName(IXMLDOMProcessingInstruction* This,BSTR *nameString) {
   5543     return This->lpVtbl->get_baseName(This,nameString);
   5544 }
   5545 static inline HRESULT IXMLDOMProcessingInstruction_transformNodeToObject(IXMLDOMProcessingInstruction* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   5546     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   5547 }
   5548 /*** IXMLDOMProcessingInstruction methods ***/
   5549 static inline HRESULT IXMLDOMProcessingInstruction_get_target(IXMLDOMProcessingInstruction* This,BSTR *name) {
   5550     return This->lpVtbl->get_target(This,name);
   5551 }
   5552 static inline HRESULT IXMLDOMProcessingInstruction_get_data(IXMLDOMProcessingInstruction* This,BSTR *value) {
   5553     return This->lpVtbl->get_data(This,value);
   5554 }
   5555 static inline HRESULT IXMLDOMProcessingInstruction_put_data(IXMLDOMProcessingInstruction* This,BSTR value) {
   5556     return This->lpVtbl->put_data(This,value);
   5557 }
   5558 #endif
   5559 #endif
   5560 
   5561 #endif
   5562 
   5563 
   5564 #endif  /* __IXMLDOMProcessingInstruction_INTERFACE_DEFINED__ */
   5565 
   5566 /*****************************************************************************
   5567  * IXMLDOMCDATASection interface
   5568  */
   5569 #ifndef __IXMLDOMCDATASection_INTERFACE_DEFINED__
   5570 #define __IXMLDOMCDATASection_INTERFACE_DEFINED__
   5571 
   5572 DEFINE_GUID(IID_IXMLDOMCDATASection, 0x2933bf8a, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   5573 #if defined(__cplusplus) && !defined(CINTERFACE)
   5574 MIDL_INTERFACE("2933bf8a-7b36-11d2-b20e-00c04f983e60")
   5575 IXMLDOMCDATASection : public IXMLDOMText
   5576 {
   5577 };
   5578 #ifdef __CRT_UUID_DECL
   5579 __CRT_UUID_DECL(IXMLDOMCDATASection, 0x2933bf8a, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   5580 #endif
   5581 #else
   5582 typedef struct IXMLDOMCDATASectionVtbl {
   5583     BEGIN_INTERFACE
   5584 
   5585     /*** IUnknown methods ***/
   5586     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5587         IXMLDOMCDATASection *This,
   5588         REFIID riid,
   5589         void **ppvObject);
   5590 
   5591     ULONG (STDMETHODCALLTYPE *AddRef)(
   5592         IXMLDOMCDATASection *This);
   5593 
   5594     ULONG (STDMETHODCALLTYPE *Release)(
   5595         IXMLDOMCDATASection *This);
   5596 
   5597     /*** IDispatch methods ***/
   5598     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5599         IXMLDOMCDATASection *This,
   5600         UINT *pctinfo);
   5601 
   5602     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5603         IXMLDOMCDATASection *This,
   5604         UINT iTInfo,
   5605         LCID lcid,
   5606         ITypeInfo **ppTInfo);
   5607 
   5608     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5609         IXMLDOMCDATASection *This,
   5610         REFIID riid,
   5611         LPOLESTR *rgszNames,
   5612         UINT cNames,
   5613         LCID lcid,
   5614         DISPID *rgDispId);
   5615 
   5616     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5617         IXMLDOMCDATASection *This,
   5618         DISPID dispIdMember,
   5619         REFIID riid,
   5620         LCID lcid,
   5621         WORD wFlags,
   5622         DISPPARAMS *pDispParams,
   5623         VARIANT *pVarResult,
   5624         EXCEPINFO *pExcepInfo,
   5625         UINT *puArgErr);
   5626 
   5627     /*** IXMLDOMNode methods ***/
   5628     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   5629         IXMLDOMCDATASection *This,
   5630         BSTR *name);
   5631 
   5632     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   5633         IXMLDOMCDATASection *This,
   5634         VARIANT *value);
   5635 
   5636     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   5637         IXMLDOMCDATASection *This,
   5638         VARIANT value);
   5639 
   5640     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   5641         IXMLDOMCDATASection *This,
   5642         DOMNodeType *type);
   5643 
   5644     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   5645         IXMLDOMCDATASection *This,
   5646         IXMLDOMNode **parent);
   5647 
   5648     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   5649         IXMLDOMCDATASection *This,
   5650         IXMLDOMNodeList **childList);
   5651 
   5652     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   5653         IXMLDOMCDATASection *This,
   5654         IXMLDOMNode **firstChild);
   5655 
   5656     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   5657         IXMLDOMCDATASection *This,
   5658         IXMLDOMNode **lastChild);
   5659 
   5660     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   5661         IXMLDOMCDATASection *This,
   5662         IXMLDOMNode **previousSibling);
   5663 
   5664     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   5665         IXMLDOMCDATASection *This,
   5666         IXMLDOMNode **nextSibling);
   5667 
   5668     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   5669         IXMLDOMCDATASection *This,
   5670         IXMLDOMNamedNodeMap **attributeMap);
   5671 
   5672     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   5673         IXMLDOMCDATASection *This,
   5674         IXMLDOMNode *newChild,
   5675         VARIANT refChild,
   5676         IXMLDOMNode **outNewChild);
   5677 
   5678     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   5679         IXMLDOMCDATASection *This,
   5680         IXMLDOMNode *newChild,
   5681         IXMLDOMNode *oldChild,
   5682         IXMLDOMNode **outOldChild);
   5683 
   5684     HRESULT (STDMETHODCALLTYPE *removeChild)(
   5685         IXMLDOMCDATASection *This,
   5686         IXMLDOMNode *childNode,
   5687         IXMLDOMNode **oldChild);
   5688 
   5689     HRESULT (STDMETHODCALLTYPE *appendChild)(
   5690         IXMLDOMCDATASection *This,
   5691         IXMLDOMNode *newChild,
   5692         IXMLDOMNode **outNewChild);
   5693 
   5694     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   5695         IXMLDOMCDATASection *This,
   5696         VARIANT_BOOL *hasChild);
   5697 
   5698     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   5699         IXMLDOMCDATASection *This,
   5700         IXMLDOMDocument **DOMDocument);
   5701 
   5702     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   5703         IXMLDOMCDATASection *This,
   5704         VARIANT_BOOL deep,
   5705         IXMLDOMNode **cloneRoot);
   5706 
   5707     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   5708         IXMLDOMCDATASection *This,
   5709         BSTR *nodeType);
   5710 
   5711     HRESULT (STDMETHODCALLTYPE *get_text)(
   5712         IXMLDOMCDATASection *This,
   5713         BSTR *text);
   5714 
   5715     HRESULT (STDMETHODCALLTYPE *put_text)(
   5716         IXMLDOMCDATASection *This,
   5717         BSTR text);
   5718 
   5719     HRESULT (STDMETHODCALLTYPE *get_specified)(
   5720         IXMLDOMCDATASection *This,
   5721         VARIANT_BOOL *isSpecified);
   5722 
   5723     HRESULT (STDMETHODCALLTYPE *get_definition)(
   5724         IXMLDOMCDATASection *This,
   5725         IXMLDOMNode **definitionNode);
   5726 
   5727     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   5728         IXMLDOMCDATASection *This,
   5729         VARIANT *typedValue);
   5730 
   5731     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   5732         IXMLDOMCDATASection *This,
   5733         VARIANT typedValue);
   5734 
   5735     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   5736         IXMLDOMCDATASection *This,
   5737         VARIANT *dataTypeName);
   5738 
   5739     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   5740         IXMLDOMCDATASection *This,
   5741         BSTR dataTypeName);
   5742 
   5743     HRESULT (STDMETHODCALLTYPE *get_xml)(
   5744         IXMLDOMCDATASection *This,
   5745         BSTR *xmlString);
   5746 
   5747     HRESULT (STDMETHODCALLTYPE *transformNode)(
   5748         IXMLDOMCDATASection *This,
   5749         IXMLDOMNode *styleSheet,
   5750         BSTR *xmlString);
   5751 
   5752     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   5753         IXMLDOMCDATASection *This,
   5754         BSTR queryString,
   5755         IXMLDOMNodeList **resultList);
   5756 
   5757     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   5758         IXMLDOMCDATASection *This,
   5759         BSTR queryString,
   5760         IXMLDOMNode **resultNode);
   5761 
   5762     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   5763         IXMLDOMCDATASection *This,
   5764         VARIANT_BOOL *isParsed);
   5765 
   5766     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   5767         IXMLDOMCDATASection *This,
   5768         BSTR *namespaceURI);
   5769 
   5770     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   5771         IXMLDOMCDATASection *This,
   5772         BSTR *prefixString);
   5773 
   5774     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   5775         IXMLDOMCDATASection *This,
   5776         BSTR *nameString);
   5777 
   5778     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   5779         IXMLDOMCDATASection *This,
   5780         IXMLDOMNode *stylesheet,
   5781         VARIANT outputObject);
   5782 
   5783     /*** IXMLDOMCharacterData methods ***/
   5784     HRESULT (STDMETHODCALLTYPE *get_data)(
   5785         IXMLDOMCDATASection *This,
   5786         BSTR *data);
   5787 
   5788     HRESULT (STDMETHODCALLTYPE *put_data)(
   5789         IXMLDOMCDATASection *This,
   5790         BSTR data);
   5791 
   5792     HRESULT (STDMETHODCALLTYPE *get_length)(
   5793         IXMLDOMCDATASection *This,
   5794         LONG *dataLength);
   5795 
   5796     HRESULT (STDMETHODCALLTYPE *substringData)(
   5797         IXMLDOMCDATASection *This,
   5798         LONG offset,
   5799         LONG count,
   5800         BSTR *data);
   5801 
   5802     HRESULT (STDMETHODCALLTYPE *appendData)(
   5803         IXMLDOMCDATASection *This,
   5804         BSTR data);
   5805 
   5806     HRESULT (STDMETHODCALLTYPE *insertData)(
   5807         IXMLDOMCDATASection *This,
   5808         LONG offset,
   5809         BSTR data);
   5810 
   5811     HRESULT (STDMETHODCALLTYPE *deleteData)(
   5812         IXMLDOMCDATASection *This,
   5813         LONG offset,
   5814         LONG count);
   5815 
   5816     HRESULT (STDMETHODCALLTYPE *replaceData)(
   5817         IXMLDOMCDATASection *This,
   5818         LONG offset,
   5819         LONG count,
   5820         BSTR data);
   5821 
   5822     /*** IXMLDOMText methods ***/
   5823     HRESULT (STDMETHODCALLTYPE *splitText)(
   5824         IXMLDOMCDATASection *This,
   5825         LONG offset,
   5826         IXMLDOMText **rightHandTextNode);
   5827 
   5828     END_INTERFACE
   5829 } IXMLDOMCDATASectionVtbl;
   5830 
   5831 interface IXMLDOMCDATASection {
   5832     CONST_VTBL IXMLDOMCDATASectionVtbl* lpVtbl;
   5833 };
   5834 
   5835 #ifdef COBJMACROS
   5836 #ifndef WIDL_C_INLINE_WRAPPERS
   5837 /*** IUnknown methods ***/
   5838 #define IXMLDOMCDATASection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5839 #define IXMLDOMCDATASection_AddRef(This) (This)->lpVtbl->AddRef(This)
   5840 #define IXMLDOMCDATASection_Release(This) (This)->lpVtbl->Release(This)
   5841 /*** IDispatch methods ***/
   5842 #define IXMLDOMCDATASection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5843 #define IXMLDOMCDATASection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5844 #define IXMLDOMCDATASection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5845 #define IXMLDOMCDATASection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5846 /*** IXMLDOMNode methods ***/
   5847 #define IXMLDOMCDATASection_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   5848 #define IXMLDOMCDATASection_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   5849 #define IXMLDOMCDATASection_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   5850 #define IXMLDOMCDATASection_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   5851 #define IXMLDOMCDATASection_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   5852 #define IXMLDOMCDATASection_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   5853 #define IXMLDOMCDATASection_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   5854 #define IXMLDOMCDATASection_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   5855 #define IXMLDOMCDATASection_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   5856 #define IXMLDOMCDATASection_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   5857 #define IXMLDOMCDATASection_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   5858 #define IXMLDOMCDATASection_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   5859 #define IXMLDOMCDATASection_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   5860 #define IXMLDOMCDATASection_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   5861 #define IXMLDOMCDATASection_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   5862 #define IXMLDOMCDATASection_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   5863 #define IXMLDOMCDATASection_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   5864 #define IXMLDOMCDATASection_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   5865 #define IXMLDOMCDATASection_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   5866 #define IXMLDOMCDATASection_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   5867 #define IXMLDOMCDATASection_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   5868 #define IXMLDOMCDATASection_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   5869 #define IXMLDOMCDATASection_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   5870 #define IXMLDOMCDATASection_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   5871 #define IXMLDOMCDATASection_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   5872 #define IXMLDOMCDATASection_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   5873 #define IXMLDOMCDATASection_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   5874 #define IXMLDOMCDATASection_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   5875 #define IXMLDOMCDATASection_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   5876 #define IXMLDOMCDATASection_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   5877 #define IXMLDOMCDATASection_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   5878 #define IXMLDOMCDATASection_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   5879 #define IXMLDOMCDATASection_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   5880 #define IXMLDOMCDATASection_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   5881 #define IXMLDOMCDATASection_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   5882 #define IXMLDOMCDATASection_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   5883 /*** IXMLDOMCharacterData methods ***/
   5884 #define IXMLDOMCDATASection_get_data(This,data) (This)->lpVtbl->get_data(This,data)
   5885 #define IXMLDOMCDATASection_put_data(This,data) (This)->lpVtbl->put_data(This,data)
   5886 #define IXMLDOMCDATASection_get_length(This,dataLength) (This)->lpVtbl->get_length(This,dataLength)
   5887 #define IXMLDOMCDATASection_substringData(This,offset,count,data) (This)->lpVtbl->substringData(This,offset,count,data)
   5888 #define IXMLDOMCDATASection_appendData(This,data) (This)->lpVtbl->appendData(This,data)
   5889 #define IXMLDOMCDATASection_insertData(This,offset,data) (This)->lpVtbl->insertData(This,offset,data)
   5890 #define IXMLDOMCDATASection_deleteData(This,offset,count) (This)->lpVtbl->deleteData(This,offset,count)
   5891 #define IXMLDOMCDATASection_replaceData(This,offset,count,data) (This)->lpVtbl->replaceData(This,offset,count,data)
   5892 /*** IXMLDOMText methods ***/
   5893 #define IXMLDOMCDATASection_splitText(This,offset,rightHandTextNode) (This)->lpVtbl->splitText(This,offset,rightHandTextNode)
   5894 #else
   5895 /*** IUnknown methods ***/
   5896 static inline HRESULT IXMLDOMCDATASection_QueryInterface(IXMLDOMCDATASection* This,REFIID riid,void **ppvObject) {
   5897     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5898 }
   5899 static inline ULONG IXMLDOMCDATASection_AddRef(IXMLDOMCDATASection* This) {
   5900     return This->lpVtbl->AddRef(This);
   5901 }
   5902 static inline ULONG IXMLDOMCDATASection_Release(IXMLDOMCDATASection* This) {
   5903     return This->lpVtbl->Release(This);
   5904 }
   5905 /*** IDispatch methods ***/
   5906 static inline HRESULT IXMLDOMCDATASection_GetTypeInfoCount(IXMLDOMCDATASection* This,UINT *pctinfo) {
   5907     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5908 }
   5909 static inline HRESULT IXMLDOMCDATASection_GetTypeInfo(IXMLDOMCDATASection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5910     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5911 }
   5912 static inline HRESULT IXMLDOMCDATASection_GetIDsOfNames(IXMLDOMCDATASection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5913     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5914 }
   5915 static inline HRESULT IXMLDOMCDATASection_Invoke(IXMLDOMCDATASection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5916     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5917 }
   5918 /*** IXMLDOMNode methods ***/
   5919 static inline HRESULT IXMLDOMCDATASection_get_nodeName(IXMLDOMCDATASection* This,BSTR *name) {
   5920     return This->lpVtbl->get_nodeName(This,name);
   5921 }
   5922 static inline HRESULT IXMLDOMCDATASection_get_nodeValue(IXMLDOMCDATASection* This,VARIANT *value) {
   5923     return This->lpVtbl->get_nodeValue(This,value);
   5924 }
   5925 static inline HRESULT IXMLDOMCDATASection_put_nodeValue(IXMLDOMCDATASection* This,VARIANT value) {
   5926     return This->lpVtbl->put_nodeValue(This,value);
   5927 }
   5928 static inline HRESULT IXMLDOMCDATASection_get_nodeType(IXMLDOMCDATASection* This,DOMNodeType *type) {
   5929     return This->lpVtbl->get_nodeType(This,type);
   5930 }
   5931 static inline HRESULT IXMLDOMCDATASection_get_parentNode(IXMLDOMCDATASection* This,IXMLDOMNode **parent) {
   5932     return This->lpVtbl->get_parentNode(This,parent);
   5933 }
   5934 static inline HRESULT IXMLDOMCDATASection_get_childNodes(IXMLDOMCDATASection* This,IXMLDOMNodeList **childList) {
   5935     return This->lpVtbl->get_childNodes(This,childList);
   5936 }
   5937 static inline HRESULT IXMLDOMCDATASection_get_firstChild(IXMLDOMCDATASection* This,IXMLDOMNode **firstChild) {
   5938     return This->lpVtbl->get_firstChild(This,firstChild);
   5939 }
   5940 static inline HRESULT IXMLDOMCDATASection_get_lastChild(IXMLDOMCDATASection* This,IXMLDOMNode **lastChild) {
   5941     return This->lpVtbl->get_lastChild(This,lastChild);
   5942 }
   5943 static inline HRESULT IXMLDOMCDATASection_get_previousSibling(IXMLDOMCDATASection* This,IXMLDOMNode **previousSibling) {
   5944     return This->lpVtbl->get_previousSibling(This,previousSibling);
   5945 }
   5946 static inline HRESULT IXMLDOMCDATASection_get_nextSibling(IXMLDOMCDATASection* This,IXMLDOMNode **nextSibling) {
   5947     return This->lpVtbl->get_nextSibling(This,nextSibling);
   5948 }
   5949 static inline HRESULT IXMLDOMCDATASection_get_attributes(IXMLDOMCDATASection* This,IXMLDOMNamedNodeMap **attributeMap) {
   5950     return This->lpVtbl->get_attributes(This,attributeMap);
   5951 }
   5952 static inline HRESULT IXMLDOMCDATASection_insertBefore(IXMLDOMCDATASection* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   5953     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   5954 }
   5955 static inline HRESULT IXMLDOMCDATASection_replaceChild(IXMLDOMCDATASection* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   5956     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   5957 }
   5958 static inline HRESULT IXMLDOMCDATASection_removeChild(IXMLDOMCDATASection* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   5959     return This->lpVtbl->removeChild(This,childNode,oldChild);
   5960 }
   5961 static inline HRESULT IXMLDOMCDATASection_appendChild(IXMLDOMCDATASection* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   5962     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   5963 }
   5964 static inline HRESULT IXMLDOMCDATASection_hasChildNodes(IXMLDOMCDATASection* This,VARIANT_BOOL *hasChild) {
   5965     return This->lpVtbl->hasChildNodes(This,hasChild);
   5966 }
   5967 static inline HRESULT IXMLDOMCDATASection_get_ownerDocument(IXMLDOMCDATASection* This,IXMLDOMDocument **DOMDocument) {
   5968     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   5969 }
   5970 static inline HRESULT IXMLDOMCDATASection_cloneNode(IXMLDOMCDATASection* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   5971     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   5972 }
   5973 static inline HRESULT IXMLDOMCDATASection_get_nodeTypeString(IXMLDOMCDATASection* This,BSTR *nodeType) {
   5974     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   5975 }
   5976 static inline HRESULT IXMLDOMCDATASection_get_text(IXMLDOMCDATASection* This,BSTR *text) {
   5977     return This->lpVtbl->get_text(This,text);
   5978 }
   5979 static inline HRESULT IXMLDOMCDATASection_put_text(IXMLDOMCDATASection* This,BSTR text) {
   5980     return This->lpVtbl->put_text(This,text);
   5981 }
   5982 static inline HRESULT IXMLDOMCDATASection_get_specified(IXMLDOMCDATASection* This,VARIANT_BOOL *isSpecified) {
   5983     return This->lpVtbl->get_specified(This,isSpecified);
   5984 }
   5985 static inline HRESULT IXMLDOMCDATASection_get_definition(IXMLDOMCDATASection* This,IXMLDOMNode **definitionNode) {
   5986     return This->lpVtbl->get_definition(This,definitionNode);
   5987 }
   5988 static inline HRESULT IXMLDOMCDATASection_get_nodeTypedValue(IXMLDOMCDATASection* This,VARIANT *typedValue) {
   5989     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   5990 }
   5991 static inline HRESULT IXMLDOMCDATASection_put_nodeTypedValue(IXMLDOMCDATASection* This,VARIANT typedValue) {
   5992     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   5993 }
   5994 static inline HRESULT IXMLDOMCDATASection_get_dataType(IXMLDOMCDATASection* This,VARIANT *dataTypeName) {
   5995     return This->lpVtbl->get_dataType(This,dataTypeName);
   5996 }
   5997 static inline HRESULT IXMLDOMCDATASection_put_dataType(IXMLDOMCDATASection* This,BSTR dataTypeName) {
   5998     return This->lpVtbl->put_dataType(This,dataTypeName);
   5999 }
   6000 static inline HRESULT IXMLDOMCDATASection_get_xml(IXMLDOMCDATASection* This,BSTR *xmlString) {
   6001     return This->lpVtbl->get_xml(This,xmlString);
   6002 }
   6003 static inline HRESULT IXMLDOMCDATASection_transformNode(IXMLDOMCDATASection* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   6004     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   6005 }
   6006 static inline HRESULT IXMLDOMCDATASection_selectNodes(IXMLDOMCDATASection* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   6007     return This->lpVtbl->selectNodes(This,queryString,resultList);
   6008 }
   6009 static inline HRESULT IXMLDOMCDATASection_selectSingleNode(IXMLDOMCDATASection* This,BSTR queryString,IXMLDOMNode **resultNode) {
   6010     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   6011 }
   6012 static inline HRESULT IXMLDOMCDATASection_get_parsed(IXMLDOMCDATASection* This,VARIANT_BOOL *isParsed) {
   6013     return This->lpVtbl->get_parsed(This,isParsed);
   6014 }
   6015 static inline HRESULT IXMLDOMCDATASection_get_namespaceURI(IXMLDOMCDATASection* This,BSTR *namespaceURI) {
   6016     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   6017 }
   6018 static inline HRESULT IXMLDOMCDATASection_get_prefix(IXMLDOMCDATASection* This,BSTR *prefixString) {
   6019     return This->lpVtbl->get_prefix(This,prefixString);
   6020 }
   6021 static inline HRESULT IXMLDOMCDATASection_get_baseName(IXMLDOMCDATASection* This,BSTR *nameString) {
   6022     return This->lpVtbl->get_baseName(This,nameString);
   6023 }
   6024 static inline HRESULT IXMLDOMCDATASection_transformNodeToObject(IXMLDOMCDATASection* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   6025     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   6026 }
   6027 /*** IXMLDOMCharacterData methods ***/
   6028 static inline HRESULT IXMLDOMCDATASection_get_data(IXMLDOMCDATASection* This,BSTR *data) {
   6029     return This->lpVtbl->get_data(This,data);
   6030 }
   6031 static inline HRESULT IXMLDOMCDATASection_put_data(IXMLDOMCDATASection* This,BSTR data) {
   6032     return This->lpVtbl->put_data(This,data);
   6033 }
   6034 static inline HRESULT IXMLDOMCDATASection_get_length(IXMLDOMCDATASection* This,LONG *dataLength) {
   6035     return This->lpVtbl->get_length(This,dataLength);
   6036 }
   6037 static inline HRESULT IXMLDOMCDATASection_substringData(IXMLDOMCDATASection* This,LONG offset,LONG count,BSTR *data) {
   6038     return This->lpVtbl->substringData(This,offset,count,data);
   6039 }
   6040 static inline HRESULT IXMLDOMCDATASection_appendData(IXMLDOMCDATASection* This,BSTR data) {
   6041     return This->lpVtbl->appendData(This,data);
   6042 }
   6043 static inline HRESULT IXMLDOMCDATASection_insertData(IXMLDOMCDATASection* This,LONG offset,BSTR data) {
   6044     return This->lpVtbl->insertData(This,offset,data);
   6045 }
   6046 static inline HRESULT IXMLDOMCDATASection_deleteData(IXMLDOMCDATASection* This,LONG offset,LONG count) {
   6047     return This->lpVtbl->deleteData(This,offset,count);
   6048 }
   6049 static inline HRESULT IXMLDOMCDATASection_replaceData(IXMLDOMCDATASection* This,LONG offset,LONG count,BSTR data) {
   6050     return This->lpVtbl->replaceData(This,offset,count,data);
   6051 }
   6052 /*** IXMLDOMText methods ***/
   6053 static inline HRESULT IXMLDOMCDATASection_splitText(IXMLDOMCDATASection* This,LONG offset,IXMLDOMText **rightHandTextNode) {
   6054     return This->lpVtbl->splitText(This,offset,rightHandTextNode);
   6055 }
   6056 #endif
   6057 #endif
   6058 
   6059 #endif
   6060 
   6061 
   6062 #endif  /* __IXMLDOMCDATASection_INTERFACE_DEFINED__ */
   6063 
   6064 /*****************************************************************************
   6065  * IXMLDOMDocumentType interface
   6066  */
   6067 #ifndef __IXMLDOMDocumentType_INTERFACE_DEFINED__
   6068 #define __IXMLDOMDocumentType_INTERFACE_DEFINED__
   6069 
   6070 DEFINE_GUID(IID_IXMLDOMDocumentType, 0x2933bf8b, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   6071 #if defined(__cplusplus) && !defined(CINTERFACE)
   6072 MIDL_INTERFACE("2933bf8b-7b36-11d2-b20e-00c04f983e60")
   6073 IXMLDOMDocumentType : public IXMLDOMNode
   6074 {
   6075     virtual HRESULT STDMETHODCALLTYPE get_name(
   6076         BSTR *rootName) = 0;
   6077 
   6078     virtual HRESULT STDMETHODCALLTYPE get_entities(
   6079         IXMLDOMNamedNodeMap **entityMap) = 0;
   6080 
   6081     virtual HRESULT STDMETHODCALLTYPE get_notations(
   6082         IXMLDOMNamedNodeMap **notationMap) = 0;
   6083 
   6084 };
   6085 #ifdef __CRT_UUID_DECL
   6086 __CRT_UUID_DECL(IXMLDOMDocumentType, 0x2933bf8b, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   6087 #endif
   6088 #else
   6089 typedef struct IXMLDOMDocumentTypeVtbl {
   6090     BEGIN_INTERFACE
   6091 
   6092     /*** IUnknown methods ***/
   6093     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6094         IXMLDOMDocumentType *This,
   6095         REFIID riid,
   6096         void **ppvObject);
   6097 
   6098     ULONG (STDMETHODCALLTYPE *AddRef)(
   6099         IXMLDOMDocumentType *This);
   6100 
   6101     ULONG (STDMETHODCALLTYPE *Release)(
   6102         IXMLDOMDocumentType *This);
   6103 
   6104     /*** IDispatch methods ***/
   6105     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6106         IXMLDOMDocumentType *This,
   6107         UINT *pctinfo);
   6108 
   6109     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6110         IXMLDOMDocumentType *This,
   6111         UINT iTInfo,
   6112         LCID lcid,
   6113         ITypeInfo **ppTInfo);
   6114 
   6115     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6116         IXMLDOMDocumentType *This,
   6117         REFIID riid,
   6118         LPOLESTR *rgszNames,
   6119         UINT cNames,
   6120         LCID lcid,
   6121         DISPID *rgDispId);
   6122 
   6123     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6124         IXMLDOMDocumentType *This,
   6125         DISPID dispIdMember,
   6126         REFIID riid,
   6127         LCID lcid,
   6128         WORD wFlags,
   6129         DISPPARAMS *pDispParams,
   6130         VARIANT *pVarResult,
   6131         EXCEPINFO *pExcepInfo,
   6132         UINT *puArgErr);
   6133 
   6134     /*** IXMLDOMNode methods ***/
   6135     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   6136         IXMLDOMDocumentType *This,
   6137         BSTR *name);
   6138 
   6139     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   6140         IXMLDOMDocumentType *This,
   6141         VARIANT *value);
   6142 
   6143     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   6144         IXMLDOMDocumentType *This,
   6145         VARIANT value);
   6146 
   6147     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   6148         IXMLDOMDocumentType *This,
   6149         DOMNodeType *type);
   6150 
   6151     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   6152         IXMLDOMDocumentType *This,
   6153         IXMLDOMNode **parent);
   6154 
   6155     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   6156         IXMLDOMDocumentType *This,
   6157         IXMLDOMNodeList **childList);
   6158 
   6159     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   6160         IXMLDOMDocumentType *This,
   6161         IXMLDOMNode **firstChild);
   6162 
   6163     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   6164         IXMLDOMDocumentType *This,
   6165         IXMLDOMNode **lastChild);
   6166 
   6167     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   6168         IXMLDOMDocumentType *This,
   6169         IXMLDOMNode **previousSibling);
   6170 
   6171     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   6172         IXMLDOMDocumentType *This,
   6173         IXMLDOMNode **nextSibling);
   6174 
   6175     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   6176         IXMLDOMDocumentType *This,
   6177         IXMLDOMNamedNodeMap **attributeMap);
   6178 
   6179     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   6180         IXMLDOMDocumentType *This,
   6181         IXMLDOMNode *newChild,
   6182         VARIANT refChild,
   6183         IXMLDOMNode **outNewChild);
   6184 
   6185     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   6186         IXMLDOMDocumentType *This,
   6187         IXMLDOMNode *newChild,
   6188         IXMLDOMNode *oldChild,
   6189         IXMLDOMNode **outOldChild);
   6190 
   6191     HRESULT (STDMETHODCALLTYPE *removeChild)(
   6192         IXMLDOMDocumentType *This,
   6193         IXMLDOMNode *childNode,
   6194         IXMLDOMNode **oldChild);
   6195 
   6196     HRESULT (STDMETHODCALLTYPE *appendChild)(
   6197         IXMLDOMDocumentType *This,
   6198         IXMLDOMNode *newChild,
   6199         IXMLDOMNode **outNewChild);
   6200 
   6201     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   6202         IXMLDOMDocumentType *This,
   6203         VARIANT_BOOL *hasChild);
   6204 
   6205     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   6206         IXMLDOMDocumentType *This,
   6207         IXMLDOMDocument **DOMDocument);
   6208 
   6209     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   6210         IXMLDOMDocumentType *This,
   6211         VARIANT_BOOL deep,
   6212         IXMLDOMNode **cloneRoot);
   6213 
   6214     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   6215         IXMLDOMDocumentType *This,
   6216         BSTR *nodeType);
   6217 
   6218     HRESULT (STDMETHODCALLTYPE *get_text)(
   6219         IXMLDOMDocumentType *This,
   6220         BSTR *text);
   6221 
   6222     HRESULT (STDMETHODCALLTYPE *put_text)(
   6223         IXMLDOMDocumentType *This,
   6224         BSTR text);
   6225 
   6226     HRESULT (STDMETHODCALLTYPE *get_specified)(
   6227         IXMLDOMDocumentType *This,
   6228         VARIANT_BOOL *isSpecified);
   6229 
   6230     HRESULT (STDMETHODCALLTYPE *get_definition)(
   6231         IXMLDOMDocumentType *This,
   6232         IXMLDOMNode **definitionNode);
   6233 
   6234     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   6235         IXMLDOMDocumentType *This,
   6236         VARIANT *typedValue);
   6237 
   6238     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   6239         IXMLDOMDocumentType *This,
   6240         VARIANT typedValue);
   6241 
   6242     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   6243         IXMLDOMDocumentType *This,
   6244         VARIANT *dataTypeName);
   6245 
   6246     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   6247         IXMLDOMDocumentType *This,
   6248         BSTR dataTypeName);
   6249 
   6250     HRESULT (STDMETHODCALLTYPE *get_xml)(
   6251         IXMLDOMDocumentType *This,
   6252         BSTR *xmlString);
   6253 
   6254     HRESULT (STDMETHODCALLTYPE *transformNode)(
   6255         IXMLDOMDocumentType *This,
   6256         IXMLDOMNode *styleSheet,
   6257         BSTR *xmlString);
   6258 
   6259     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   6260         IXMLDOMDocumentType *This,
   6261         BSTR queryString,
   6262         IXMLDOMNodeList **resultList);
   6263 
   6264     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   6265         IXMLDOMDocumentType *This,
   6266         BSTR queryString,
   6267         IXMLDOMNode **resultNode);
   6268 
   6269     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   6270         IXMLDOMDocumentType *This,
   6271         VARIANT_BOOL *isParsed);
   6272 
   6273     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   6274         IXMLDOMDocumentType *This,
   6275         BSTR *namespaceURI);
   6276 
   6277     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   6278         IXMLDOMDocumentType *This,
   6279         BSTR *prefixString);
   6280 
   6281     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   6282         IXMLDOMDocumentType *This,
   6283         BSTR *nameString);
   6284 
   6285     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   6286         IXMLDOMDocumentType *This,
   6287         IXMLDOMNode *stylesheet,
   6288         VARIANT outputObject);
   6289 
   6290     /*** IXMLDOMDocumentType methods ***/
   6291     HRESULT (STDMETHODCALLTYPE *get_name)(
   6292         IXMLDOMDocumentType *This,
   6293         BSTR *rootName);
   6294 
   6295     HRESULT (STDMETHODCALLTYPE *get_entities)(
   6296         IXMLDOMDocumentType *This,
   6297         IXMLDOMNamedNodeMap **entityMap);
   6298 
   6299     HRESULT (STDMETHODCALLTYPE *get_notations)(
   6300         IXMLDOMDocumentType *This,
   6301         IXMLDOMNamedNodeMap **notationMap);
   6302 
   6303     END_INTERFACE
   6304 } IXMLDOMDocumentTypeVtbl;
   6305 
   6306 interface IXMLDOMDocumentType {
   6307     CONST_VTBL IXMLDOMDocumentTypeVtbl* lpVtbl;
   6308 };
   6309 
   6310 #ifdef COBJMACROS
   6311 #ifndef WIDL_C_INLINE_WRAPPERS
   6312 /*** IUnknown methods ***/
   6313 #define IXMLDOMDocumentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6314 #define IXMLDOMDocumentType_AddRef(This) (This)->lpVtbl->AddRef(This)
   6315 #define IXMLDOMDocumentType_Release(This) (This)->lpVtbl->Release(This)
   6316 /*** IDispatch methods ***/
   6317 #define IXMLDOMDocumentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6318 #define IXMLDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6319 #define IXMLDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6320 #define IXMLDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6321 /*** IXMLDOMNode methods ***/
   6322 #define IXMLDOMDocumentType_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   6323 #define IXMLDOMDocumentType_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   6324 #define IXMLDOMDocumentType_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   6325 #define IXMLDOMDocumentType_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   6326 #define IXMLDOMDocumentType_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   6327 #define IXMLDOMDocumentType_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   6328 #define IXMLDOMDocumentType_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   6329 #define IXMLDOMDocumentType_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   6330 #define IXMLDOMDocumentType_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   6331 #define IXMLDOMDocumentType_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   6332 #define IXMLDOMDocumentType_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   6333 #define IXMLDOMDocumentType_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   6334 #define IXMLDOMDocumentType_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   6335 #define IXMLDOMDocumentType_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   6336 #define IXMLDOMDocumentType_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   6337 #define IXMLDOMDocumentType_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   6338 #define IXMLDOMDocumentType_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   6339 #define IXMLDOMDocumentType_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   6340 #define IXMLDOMDocumentType_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   6341 #define IXMLDOMDocumentType_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   6342 #define IXMLDOMDocumentType_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   6343 #define IXMLDOMDocumentType_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   6344 #define IXMLDOMDocumentType_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   6345 #define IXMLDOMDocumentType_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   6346 #define IXMLDOMDocumentType_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   6347 #define IXMLDOMDocumentType_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   6348 #define IXMLDOMDocumentType_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   6349 #define IXMLDOMDocumentType_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   6350 #define IXMLDOMDocumentType_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   6351 #define IXMLDOMDocumentType_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   6352 #define IXMLDOMDocumentType_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   6353 #define IXMLDOMDocumentType_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   6354 #define IXMLDOMDocumentType_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   6355 #define IXMLDOMDocumentType_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   6356 #define IXMLDOMDocumentType_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   6357 #define IXMLDOMDocumentType_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   6358 /*** IXMLDOMDocumentType methods ***/
   6359 #define IXMLDOMDocumentType_get_name(This,rootName) (This)->lpVtbl->get_name(This,rootName)
   6360 #define IXMLDOMDocumentType_get_entities(This,entityMap) (This)->lpVtbl->get_entities(This,entityMap)
   6361 #define IXMLDOMDocumentType_get_notations(This,notationMap) (This)->lpVtbl->get_notations(This,notationMap)
   6362 #else
   6363 /*** IUnknown methods ***/
   6364 static inline HRESULT IXMLDOMDocumentType_QueryInterface(IXMLDOMDocumentType* This,REFIID riid,void **ppvObject) {
   6365     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6366 }
   6367 static inline ULONG IXMLDOMDocumentType_AddRef(IXMLDOMDocumentType* This) {
   6368     return This->lpVtbl->AddRef(This);
   6369 }
   6370 static inline ULONG IXMLDOMDocumentType_Release(IXMLDOMDocumentType* This) {
   6371     return This->lpVtbl->Release(This);
   6372 }
   6373 /*** IDispatch methods ***/
   6374 static inline HRESULT IXMLDOMDocumentType_GetTypeInfoCount(IXMLDOMDocumentType* This,UINT *pctinfo) {
   6375     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6376 }
   6377 static inline HRESULT IXMLDOMDocumentType_GetTypeInfo(IXMLDOMDocumentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6378     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6379 }
   6380 static inline HRESULT IXMLDOMDocumentType_GetIDsOfNames(IXMLDOMDocumentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6381     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6382 }
   6383 static inline HRESULT IXMLDOMDocumentType_Invoke(IXMLDOMDocumentType* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6384     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6385 }
   6386 /*** IXMLDOMNode methods ***/
   6387 static inline HRESULT IXMLDOMDocumentType_get_nodeName(IXMLDOMDocumentType* This,BSTR *name) {
   6388     return This->lpVtbl->get_nodeName(This,name);
   6389 }
   6390 static inline HRESULT IXMLDOMDocumentType_get_nodeValue(IXMLDOMDocumentType* This,VARIANT *value) {
   6391     return This->lpVtbl->get_nodeValue(This,value);
   6392 }
   6393 static inline HRESULT IXMLDOMDocumentType_put_nodeValue(IXMLDOMDocumentType* This,VARIANT value) {
   6394     return This->lpVtbl->put_nodeValue(This,value);
   6395 }
   6396 static inline HRESULT IXMLDOMDocumentType_get_nodeType(IXMLDOMDocumentType* This,DOMNodeType *type) {
   6397     return This->lpVtbl->get_nodeType(This,type);
   6398 }
   6399 static inline HRESULT IXMLDOMDocumentType_get_parentNode(IXMLDOMDocumentType* This,IXMLDOMNode **parent) {
   6400     return This->lpVtbl->get_parentNode(This,parent);
   6401 }
   6402 static inline HRESULT IXMLDOMDocumentType_get_childNodes(IXMLDOMDocumentType* This,IXMLDOMNodeList **childList) {
   6403     return This->lpVtbl->get_childNodes(This,childList);
   6404 }
   6405 static inline HRESULT IXMLDOMDocumentType_get_firstChild(IXMLDOMDocumentType* This,IXMLDOMNode **firstChild) {
   6406     return This->lpVtbl->get_firstChild(This,firstChild);
   6407 }
   6408 static inline HRESULT IXMLDOMDocumentType_get_lastChild(IXMLDOMDocumentType* This,IXMLDOMNode **lastChild) {
   6409     return This->lpVtbl->get_lastChild(This,lastChild);
   6410 }
   6411 static inline HRESULT IXMLDOMDocumentType_get_previousSibling(IXMLDOMDocumentType* This,IXMLDOMNode **previousSibling) {
   6412     return This->lpVtbl->get_previousSibling(This,previousSibling);
   6413 }
   6414 static inline HRESULT IXMLDOMDocumentType_get_nextSibling(IXMLDOMDocumentType* This,IXMLDOMNode **nextSibling) {
   6415     return This->lpVtbl->get_nextSibling(This,nextSibling);
   6416 }
   6417 static inline HRESULT IXMLDOMDocumentType_get_attributes(IXMLDOMDocumentType* This,IXMLDOMNamedNodeMap **attributeMap) {
   6418     return This->lpVtbl->get_attributes(This,attributeMap);
   6419 }
   6420 static inline HRESULT IXMLDOMDocumentType_insertBefore(IXMLDOMDocumentType* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   6421     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   6422 }
   6423 static inline HRESULT IXMLDOMDocumentType_replaceChild(IXMLDOMDocumentType* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   6424     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   6425 }
   6426 static inline HRESULT IXMLDOMDocumentType_removeChild(IXMLDOMDocumentType* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   6427     return This->lpVtbl->removeChild(This,childNode,oldChild);
   6428 }
   6429 static inline HRESULT IXMLDOMDocumentType_appendChild(IXMLDOMDocumentType* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   6430     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   6431 }
   6432 static inline HRESULT IXMLDOMDocumentType_hasChildNodes(IXMLDOMDocumentType* This,VARIANT_BOOL *hasChild) {
   6433     return This->lpVtbl->hasChildNodes(This,hasChild);
   6434 }
   6435 static inline HRESULT IXMLDOMDocumentType_get_ownerDocument(IXMLDOMDocumentType* This,IXMLDOMDocument **DOMDocument) {
   6436     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   6437 }
   6438 static inline HRESULT IXMLDOMDocumentType_cloneNode(IXMLDOMDocumentType* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   6439     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   6440 }
   6441 static inline HRESULT IXMLDOMDocumentType_get_nodeTypeString(IXMLDOMDocumentType* This,BSTR *nodeType) {
   6442     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   6443 }
   6444 static inline HRESULT IXMLDOMDocumentType_get_text(IXMLDOMDocumentType* This,BSTR *text) {
   6445     return This->lpVtbl->get_text(This,text);
   6446 }
   6447 static inline HRESULT IXMLDOMDocumentType_put_text(IXMLDOMDocumentType* This,BSTR text) {
   6448     return This->lpVtbl->put_text(This,text);
   6449 }
   6450 static inline HRESULT IXMLDOMDocumentType_get_specified(IXMLDOMDocumentType* This,VARIANT_BOOL *isSpecified) {
   6451     return This->lpVtbl->get_specified(This,isSpecified);
   6452 }
   6453 static inline HRESULT IXMLDOMDocumentType_get_definition(IXMLDOMDocumentType* This,IXMLDOMNode **definitionNode) {
   6454     return This->lpVtbl->get_definition(This,definitionNode);
   6455 }
   6456 static inline HRESULT IXMLDOMDocumentType_get_nodeTypedValue(IXMLDOMDocumentType* This,VARIANT *typedValue) {
   6457     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   6458 }
   6459 static inline HRESULT IXMLDOMDocumentType_put_nodeTypedValue(IXMLDOMDocumentType* This,VARIANT typedValue) {
   6460     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   6461 }
   6462 static inline HRESULT IXMLDOMDocumentType_get_dataType(IXMLDOMDocumentType* This,VARIANT *dataTypeName) {
   6463     return This->lpVtbl->get_dataType(This,dataTypeName);
   6464 }
   6465 static inline HRESULT IXMLDOMDocumentType_put_dataType(IXMLDOMDocumentType* This,BSTR dataTypeName) {
   6466     return This->lpVtbl->put_dataType(This,dataTypeName);
   6467 }
   6468 static inline HRESULT IXMLDOMDocumentType_get_xml(IXMLDOMDocumentType* This,BSTR *xmlString) {
   6469     return This->lpVtbl->get_xml(This,xmlString);
   6470 }
   6471 static inline HRESULT IXMLDOMDocumentType_transformNode(IXMLDOMDocumentType* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   6472     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   6473 }
   6474 static inline HRESULT IXMLDOMDocumentType_selectNodes(IXMLDOMDocumentType* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   6475     return This->lpVtbl->selectNodes(This,queryString,resultList);
   6476 }
   6477 static inline HRESULT IXMLDOMDocumentType_selectSingleNode(IXMLDOMDocumentType* This,BSTR queryString,IXMLDOMNode **resultNode) {
   6478     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   6479 }
   6480 static inline HRESULT IXMLDOMDocumentType_get_parsed(IXMLDOMDocumentType* This,VARIANT_BOOL *isParsed) {
   6481     return This->lpVtbl->get_parsed(This,isParsed);
   6482 }
   6483 static inline HRESULT IXMLDOMDocumentType_get_namespaceURI(IXMLDOMDocumentType* This,BSTR *namespaceURI) {
   6484     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   6485 }
   6486 static inline HRESULT IXMLDOMDocumentType_get_prefix(IXMLDOMDocumentType* This,BSTR *prefixString) {
   6487     return This->lpVtbl->get_prefix(This,prefixString);
   6488 }
   6489 static inline HRESULT IXMLDOMDocumentType_get_baseName(IXMLDOMDocumentType* This,BSTR *nameString) {
   6490     return This->lpVtbl->get_baseName(This,nameString);
   6491 }
   6492 static inline HRESULT IXMLDOMDocumentType_transformNodeToObject(IXMLDOMDocumentType* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   6493     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   6494 }
   6495 /*** IXMLDOMDocumentType methods ***/
   6496 static inline HRESULT IXMLDOMDocumentType_get_name(IXMLDOMDocumentType* This,BSTR *rootName) {
   6497     return This->lpVtbl->get_name(This,rootName);
   6498 }
   6499 static inline HRESULT IXMLDOMDocumentType_get_entities(IXMLDOMDocumentType* This,IXMLDOMNamedNodeMap **entityMap) {
   6500     return This->lpVtbl->get_entities(This,entityMap);
   6501 }
   6502 static inline HRESULT IXMLDOMDocumentType_get_notations(IXMLDOMDocumentType* This,IXMLDOMNamedNodeMap **notationMap) {
   6503     return This->lpVtbl->get_notations(This,notationMap);
   6504 }
   6505 #endif
   6506 #endif
   6507 
   6508 #endif
   6509 
   6510 
   6511 #endif  /* __IXMLDOMDocumentType_INTERFACE_DEFINED__ */
   6512 
   6513 /*****************************************************************************
   6514  * IXMLDOMNotation interface
   6515  */
   6516 #ifndef __IXMLDOMNotation_INTERFACE_DEFINED__
   6517 #define __IXMLDOMNotation_INTERFACE_DEFINED__
   6518 
   6519 DEFINE_GUID(IID_IXMLDOMNotation, 0x2933bf8c, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   6520 #if defined(__cplusplus) && !defined(CINTERFACE)
   6521 MIDL_INTERFACE("2933bf8c-7b36-11d2-b20e-00c04f983e60")
   6522 IXMLDOMNotation : public IXMLDOMNode
   6523 {
   6524     virtual HRESULT STDMETHODCALLTYPE get_publicId(
   6525         VARIANT *publicId) = 0;
   6526 
   6527     virtual HRESULT STDMETHODCALLTYPE get_systemId(
   6528         VARIANT *systemId) = 0;
   6529 
   6530 };
   6531 #ifdef __CRT_UUID_DECL
   6532 __CRT_UUID_DECL(IXMLDOMNotation, 0x2933bf8c, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   6533 #endif
   6534 #else
   6535 typedef struct IXMLDOMNotationVtbl {
   6536     BEGIN_INTERFACE
   6537 
   6538     /*** IUnknown methods ***/
   6539     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6540         IXMLDOMNotation *This,
   6541         REFIID riid,
   6542         void **ppvObject);
   6543 
   6544     ULONG (STDMETHODCALLTYPE *AddRef)(
   6545         IXMLDOMNotation *This);
   6546 
   6547     ULONG (STDMETHODCALLTYPE *Release)(
   6548         IXMLDOMNotation *This);
   6549 
   6550     /*** IDispatch methods ***/
   6551     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6552         IXMLDOMNotation *This,
   6553         UINT *pctinfo);
   6554 
   6555     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6556         IXMLDOMNotation *This,
   6557         UINT iTInfo,
   6558         LCID lcid,
   6559         ITypeInfo **ppTInfo);
   6560 
   6561     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6562         IXMLDOMNotation *This,
   6563         REFIID riid,
   6564         LPOLESTR *rgszNames,
   6565         UINT cNames,
   6566         LCID lcid,
   6567         DISPID *rgDispId);
   6568 
   6569     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6570         IXMLDOMNotation *This,
   6571         DISPID dispIdMember,
   6572         REFIID riid,
   6573         LCID lcid,
   6574         WORD wFlags,
   6575         DISPPARAMS *pDispParams,
   6576         VARIANT *pVarResult,
   6577         EXCEPINFO *pExcepInfo,
   6578         UINT *puArgErr);
   6579 
   6580     /*** IXMLDOMNode methods ***/
   6581     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   6582         IXMLDOMNotation *This,
   6583         BSTR *name);
   6584 
   6585     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   6586         IXMLDOMNotation *This,
   6587         VARIANT *value);
   6588 
   6589     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   6590         IXMLDOMNotation *This,
   6591         VARIANT value);
   6592 
   6593     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   6594         IXMLDOMNotation *This,
   6595         DOMNodeType *type);
   6596 
   6597     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   6598         IXMLDOMNotation *This,
   6599         IXMLDOMNode **parent);
   6600 
   6601     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   6602         IXMLDOMNotation *This,
   6603         IXMLDOMNodeList **childList);
   6604 
   6605     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   6606         IXMLDOMNotation *This,
   6607         IXMLDOMNode **firstChild);
   6608 
   6609     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   6610         IXMLDOMNotation *This,
   6611         IXMLDOMNode **lastChild);
   6612 
   6613     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   6614         IXMLDOMNotation *This,
   6615         IXMLDOMNode **previousSibling);
   6616 
   6617     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   6618         IXMLDOMNotation *This,
   6619         IXMLDOMNode **nextSibling);
   6620 
   6621     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   6622         IXMLDOMNotation *This,
   6623         IXMLDOMNamedNodeMap **attributeMap);
   6624 
   6625     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   6626         IXMLDOMNotation *This,
   6627         IXMLDOMNode *newChild,
   6628         VARIANT refChild,
   6629         IXMLDOMNode **outNewChild);
   6630 
   6631     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   6632         IXMLDOMNotation *This,
   6633         IXMLDOMNode *newChild,
   6634         IXMLDOMNode *oldChild,
   6635         IXMLDOMNode **outOldChild);
   6636 
   6637     HRESULT (STDMETHODCALLTYPE *removeChild)(
   6638         IXMLDOMNotation *This,
   6639         IXMLDOMNode *childNode,
   6640         IXMLDOMNode **oldChild);
   6641 
   6642     HRESULT (STDMETHODCALLTYPE *appendChild)(
   6643         IXMLDOMNotation *This,
   6644         IXMLDOMNode *newChild,
   6645         IXMLDOMNode **outNewChild);
   6646 
   6647     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   6648         IXMLDOMNotation *This,
   6649         VARIANT_BOOL *hasChild);
   6650 
   6651     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   6652         IXMLDOMNotation *This,
   6653         IXMLDOMDocument **DOMDocument);
   6654 
   6655     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   6656         IXMLDOMNotation *This,
   6657         VARIANT_BOOL deep,
   6658         IXMLDOMNode **cloneRoot);
   6659 
   6660     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   6661         IXMLDOMNotation *This,
   6662         BSTR *nodeType);
   6663 
   6664     HRESULT (STDMETHODCALLTYPE *get_text)(
   6665         IXMLDOMNotation *This,
   6666         BSTR *text);
   6667 
   6668     HRESULT (STDMETHODCALLTYPE *put_text)(
   6669         IXMLDOMNotation *This,
   6670         BSTR text);
   6671 
   6672     HRESULT (STDMETHODCALLTYPE *get_specified)(
   6673         IXMLDOMNotation *This,
   6674         VARIANT_BOOL *isSpecified);
   6675 
   6676     HRESULT (STDMETHODCALLTYPE *get_definition)(
   6677         IXMLDOMNotation *This,
   6678         IXMLDOMNode **definitionNode);
   6679 
   6680     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   6681         IXMLDOMNotation *This,
   6682         VARIANT *typedValue);
   6683 
   6684     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   6685         IXMLDOMNotation *This,
   6686         VARIANT typedValue);
   6687 
   6688     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   6689         IXMLDOMNotation *This,
   6690         VARIANT *dataTypeName);
   6691 
   6692     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   6693         IXMLDOMNotation *This,
   6694         BSTR dataTypeName);
   6695 
   6696     HRESULT (STDMETHODCALLTYPE *get_xml)(
   6697         IXMLDOMNotation *This,
   6698         BSTR *xmlString);
   6699 
   6700     HRESULT (STDMETHODCALLTYPE *transformNode)(
   6701         IXMLDOMNotation *This,
   6702         IXMLDOMNode *styleSheet,
   6703         BSTR *xmlString);
   6704 
   6705     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   6706         IXMLDOMNotation *This,
   6707         BSTR queryString,
   6708         IXMLDOMNodeList **resultList);
   6709 
   6710     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   6711         IXMLDOMNotation *This,
   6712         BSTR queryString,
   6713         IXMLDOMNode **resultNode);
   6714 
   6715     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   6716         IXMLDOMNotation *This,
   6717         VARIANT_BOOL *isParsed);
   6718 
   6719     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   6720         IXMLDOMNotation *This,
   6721         BSTR *namespaceURI);
   6722 
   6723     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   6724         IXMLDOMNotation *This,
   6725         BSTR *prefixString);
   6726 
   6727     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   6728         IXMLDOMNotation *This,
   6729         BSTR *nameString);
   6730 
   6731     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   6732         IXMLDOMNotation *This,
   6733         IXMLDOMNode *stylesheet,
   6734         VARIANT outputObject);
   6735 
   6736     /*** IXMLDOMNotation methods ***/
   6737     HRESULT (STDMETHODCALLTYPE *get_publicId)(
   6738         IXMLDOMNotation *This,
   6739         VARIANT *publicId);
   6740 
   6741     HRESULT (STDMETHODCALLTYPE *get_systemId)(
   6742         IXMLDOMNotation *This,
   6743         VARIANT *systemId);
   6744 
   6745     END_INTERFACE
   6746 } IXMLDOMNotationVtbl;
   6747 
   6748 interface IXMLDOMNotation {
   6749     CONST_VTBL IXMLDOMNotationVtbl* lpVtbl;
   6750 };
   6751 
   6752 #ifdef COBJMACROS
   6753 #ifndef WIDL_C_INLINE_WRAPPERS
   6754 /*** IUnknown methods ***/
   6755 #define IXMLDOMNotation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6756 #define IXMLDOMNotation_AddRef(This) (This)->lpVtbl->AddRef(This)
   6757 #define IXMLDOMNotation_Release(This) (This)->lpVtbl->Release(This)
   6758 /*** IDispatch methods ***/
   6759 #define IXMLDOMNotation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6760 #define IXMLDOMNotation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6761 #define IXMLDOMNotation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6762 #define IXMLDOMNotation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6763 /*** IXMLDOMNode methods ***/
   6764 #define IXMLDOMNotation_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   6765 #define IXMLDOMNotation_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   6766 #define IXMLDOMNotation_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   6767 #define IXMLDOMNotation_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   6768 #define IXMLDOMNotation_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   6769 #define IXMLDOMNotation_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   6770 #define IXMLDOMNotation_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   6771 #define IXMLDOMNotation_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   6772 #define IXMLDOMNotation_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   6773 #define IXMLDOMNotation_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   6774 #define IXMLDOMNotation_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   6775 #define IXMLDOMNotation_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   6776 #define IXMLDOMNotation_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   6777 #define IXMLDOMNotation_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   6778 #define IXMLDOMNotation_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   6779 #define IXMLDOMNotation_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   6780 #define IXMLDOMNotation_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   6781 #define IXMLDOMNotation_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   6782 #define IXMLDOMNotation_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   6783 #define IXMLDOMNotation_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   6784 #define IXMLDOMNotation_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   6785 #define IXMLDOMNotation_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   6786 #define IXMLDOMNotation_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   6787 #define IXMLDOMNotation_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   6788 #define IXMLDOMNotation_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   6789 #define IXMLDOMNotation_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   6790 #define IXMLDOMNotation_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   6791 #define IXMLDOMNotation_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   6792 #define IXMLDOMNotation_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   6793 #define IXMLDOMNotation_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   6794 #define IXMLDOMNotation_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   6795 #define IXMLDOMNotation_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   6796 #define IXMLDOMNotation_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   6797 #define IXMLDOMNotation_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   6798 #define IXMLDOMNotation_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   6799 #define IXMLDOMNotation_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   6800 /*** IXMLDOMNotation methods ***/
   6801 #define IXMLDOMNotation_get_publicId(This,publicId) (This)->lpVtbl->get_publicId(This,publicId)
   6802 #define IXMLDOMNotation_get_systemId(This,systemId) (This)->lpVtbl->get_systemId(This,systemId)
   6803 #else
   6804 /*** IUnknown methods ***/
   6805 static inline HRESULT IXMLDOMNotation_QueryInterface(IXMLDOMNotation* This,REFIID riid,void **ppvObject) {
   6806     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6807 }
   6808 static inline ULONG IXMLDOMNotation_AddRef(IXMLDOMNotation* This) {
   6809     return This->lpVtbl->AddRef(This);
   6810 }
   6811 static inline ULONG IXMLDOMNotation_Release(IXMLDOMNotation* This) {
   6812     return This->lpVtbl->Release(This);
   6813 }
   6814 /*** IDispatch methods ***/
   6815 static inline HRESULT IXMLDOMNotation_GetTypeInfoCount(IXMLDOMNotation* This,UINT *pctinfo) {
   6816     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6817 }
   6818 static inline HRESULT IXMLDOMNotation_GetTypeInfo(IXMLDOMNotation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6819     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6820 }
   6821 static inline HRESULT IXMLDOMNotation_GetIDsOfNames(IXMLDOMNotation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6822     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6823 }
   6824 static inline HRESULT IXMLDOMNotation_Invoke(IXMLDOMNotation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6825     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6826 }
   6827 /*** IXMLDOMNode methods ***/
   6828 static inline HRESULT IXMLDOMNotation_get_nodeName(IXMLDOMNotation* This,BSTR *name) {
   6829     return This->lpVtbl->get_nodeName(This,name);
   6830 }
   6831 static inline HRESULT IXMLDOMNotation_get_nodeValue(IXMLDOMNotation* This,VARIANT *value) {
   6832     return This->lpVtbl->get_nodeValue(This,value);
   6833 }
   6834 static inline HRESULT IXMLDOMNotation_put_nodeValue(IXMLDOMNotation* This,VARIANT value) {
   6835     return This->lpVtbl->put_nodeValue(This,value);
   6836 }
   6837 static inline HRESULT IXMLDOMNotation_get_nodeType(IXMLDOMNotation* This,DOMNodeType *type) {
   6838     return This->lpVtbl->get_nodeType(This,type);
   6839 }
   6840 static inline HRESULT IXMLDOMNotation_get_parentNode(IXMLDOMNotation* This,IXMLDOMNode **parent) {
   6841     return This->lpVtbl->get_parentNode(This,parent);
   6842 }
   6843 static inline HRESULT IXMLDOMNotation_get_childNodes(IXMLDOMNotation* This,IXMLDOMNodeList **childList) {
   6844     return This->lpVtbl->get_childNodes(This,childList);
   6845 }
   6846 static inline HRESULT IXMLDOMNotation_get_firstChild(IXMLDOMNotation* This,IXMLDOMNode **firstChild) {
   6847     return This->lpVtbl->get_firstChild(This,firstChild);
   6848 }
   6849 static inline HRESULT IXMLDOMNotation_get_lastChild(IXMLDOMNotation* This,IXMLDOMNode **lastChild) {
   6850     return This->lpVtbl->get_lastChild(This,lastChild);
   6851 }
   6852 static inline HRESULT IXMLDOMNotation_get_previousSibling(IXMLDOMNotation* This,IXMLDOMNode **previousSibling) {
   6853     return This->lpVtbl->get_previousSibling(This,previousSibling);
   6854 }
   6855 static inline HRESULT IXMLDOMNotation_get_nextSibling(IXMLDOMNotation* This,IXMLDOMNode **nextSibling) {
   6856     return This->lpVtbl->get_nextSibling(This,nextSibling);
   6857 }
   6858 static inline HRESULT IXMLDOMNotation_get_attributes(IXMLDOMNotation* This,IXMLDOMNamedNodeMap **attributeMap) {
   6859     return This->lpVtbl->get_attributes(This,attributeMap);
   6860 }
   6861 static inline HRESULT IXMLDOMNotation_insertBefore(IXMLDOMNotation* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   6862     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   6863 }
   6864 static inline HRESULT IXMLDOMNotation_replaceChild(IXMLDOMNotation* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   6865     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   6866 }
   6867 static inline HRESULT IXMLDOMNotation_removeChild(IXMLDOMNotation* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   6868     return This->lpVtbl->removeChild(This,childNode,oldChild);
   6869 }
   6870 static inline HRESULT IXMLDOMNotation_appendChild(IXMLDOMNotation* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   6871     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   6872 }
   6873 static inline HRESULT IXMLDOMNotation_hasChildNodes(IXMLDOMNotation* This,VARIANT_BOOL *hasChild) {
   6874     return This->lpVtbl->hasChildNodes(This,hasChild);
   6875 }
   6876 static inline HRESULT IXMLDOMNotation_get_ownerDocument(IXMLDOMNotation* This,IXMLDOMDocument **DOMDocument) {
   6877     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   6878 }
   6879 static inline HRESULT IXMLDOMNotation_cloneNode(IXMLDOMNotation* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   6880     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   6881 }
   6882 static inline HRESULT IXMLDOMNotation_get_nodeTypeString(IXMLDOMNotation* This,BSTR *nodeType) {
   6883     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   6884 }
   6885 static inline HRESULT IXMLDOMNotation_get_text(IXMLDOMNotation* This,BSTR *text) {
   6886     return This->lpVtbl->get_text(This,text);
   6887 }
   6888 static inline HRESULT IXMLDOMNotation_put_text(IXMLDOMNotation* This,BSTR text) {
   6889     return This->lpVtbl->put_text(This,text);
   6890 }
   6891 static inline HRESULT IXMLDOMNotation_get_specified(IXMLDOMNotation* This,VARIANT_BOOL *isSpecified) {
   6892     return This->lpVtbl->get_specified(This,isSpecified);
   6893 }
   6894 static inline HRESULT IXMLDOMNotation_get_definition(IXMLDOMNotation* This,IXMLDOMNode **definitionNode) {
   6895     return This->lpVtbl->get_definition(This,definitionNode);
   6896 }
   6897 static inline HRESULT IXMLDOMNotation_get_nodeTypedValue(IXMLDOMNotation* This,VARIANT *typedValue) {
   6898     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   6899 }
   6900 static inline HRESULT IXMLDOMNotation_put_nodeTypedValue(IXMLDOMNotation* This,VARIANT typedValue) {
   6901     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   6902 }
   6903 static inline HRESULT IXMLDOMNotation_get_dataType(IXMLDOMNotation* This,VARIANT *dataTypeName) {
   6904     return This->lpVtbl->get_dataType(This,dataTypeName);
   6905 }
   6906 static inline HRESULT IXMLDOMNotation_put_dataType(IXMLDOMNotation* This,BSTR dataTypeName) {
   6907     return This->lpVtbl->put_dataType(This,dataTypeName);
   6908 }
   6909 static inline HRESULT IXMLDOMNotation_get_xml(IXMLDOMNotation* This,BSTR *xmlString) {
   6910     return This->lpVtbl->get_xml(This,xmlString);
   6911 }
   6912 static inline HRESULT IXMLDOMNotation_transformNode(IXMLDOMNotation* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   6913     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   6914 }
   6915 static inline HRESULT IXMLDOMNotation_selectNodes(IXMLDOMNotation* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   6916     return This->lpVtbl->selectNodes(This,queryString,resultList);
   6917 }
   6918 static inline HRESULT IXMLDOMNotation_selectSingleNode(IXMLDOMNotation* This,BSTR queryString,IXMLDOMNode **resultNode) {
   6919     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   6920 }
   6921 static inline HRESULT IXMLDOMNotation_get_parsed(IXMLDOMNotation* This,VARIANT_BOOL *isParsed) {
   6922     return This->lpVtbl->get_parsed(This,isParsed);
   6923 }
   6924 static inline HRESULT IXMLDOMNotation_get_namespaceURI(IXMLDOMNotation* This,BSTR *namespaceURI) {
   6925     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   6926 }
   6927 static inline HRESULT IXMLDOMNotation_get_prefix(IXMLDOMNotation* This,BSTR *prefixString) {
   6928     return This->lpVtbl->get_prefix(This,prefixString);
   6929 }
   6930 static inline HRESULT IXMLDOMNotation_get_baseName(IXMLDOMNotation* This,BSTR *nameString) {
   6931     return This->lpVtbl->get_baseName(This,nameString);
   6932 }
   6933 static inline HRESULT IXMLDOMNotation_transformNodeToObject(IXMLDOMNotation* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   6934     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   6935 }
   6936 /*** IXMLDOMNotation methods ***/
   6937 static inline HRESULT IXMLDOMNotation_get_publicId(IXMLDOMNotation* This,VARIANT *publicId) {
   6938     return This->lpVtbl->get_publicId(This,publicId);
   6939 }
   6940 static inline HRESULT IXMLDOMNotation_get_systemId(IXMLDOMNotation* This,VARIANT *systemId) {
   6941     return This->lpVtbl->get_systemId(This,systemId);
   6942 }
   6943 #endif
   6944 #endif
   6945 
   6946 #endif
   6947 
   6948 
   6949 #endif  /* __IXMLDOMNotation_INTERFACE_DEFINED__ */
   6950 
   6951 /*****************************************************************************
   6952  * IXMLDOMEntity interface
   6953  */
   6954 #ifndef __IXMLDOMEntity_INTERFACE_DEFINED__
   6955 #define __IXMLDOMEntity_INTERFACE_DEFINED__
   6956 
   6957 DEFINE_GUID(IID_IXMLDOMEntity, 0x2933bf8d, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   6958 #if defined(__cplusplus) && !defined(CINTERFACE)
   6959 MIDL_INTERFACE("2933bf8d-7b36-11d2-b20e-00c04f983e60")
   6960 IXMLDOMEntity : public IXMLDOMNode
   6961 {
   6962     virtual HRESULT STDMETHODCALLTYPE get_publicId(
   6963         VARIANT *publicId) = 0;
   6964 
   6965     virtual HRESULT STDMETHODCALLTYPE get_systemId(
   6966         VARIANT *systemId) = 0;
   6967 
   6968     virtual HRESULT STDMETHODCALLTYPE get_notationName(
   6969         BSTR *name) = 0;
   6970 
   6971 };
   6972 #ifdef __CRT_UUID_DECL
   6973 __CRT_UUID_DECL(IXMLDOMEntity, 0x2933bf8d, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   6974 #endif
   6975 #else
   6976 typedef struct IXMLDOMEntityVtbl {
   6977     BEGIN_INTERFACE
   6978 
   6979     /*** IUnknown methods ***/
   6980     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6981         IXMLDOMEntity *This,
   6982         REFIID riid,
   6983         void **ppvObject);
   6984 
   6985     ULONG (STDMETHODCALLTYPE *AddRef)(
   6986         IXMLDOMEntity *This);
   6987 
   6988     ULONG (STDMETHODCALLTYPE *Release)(
   6989         IXMLDOMEntity *This);
   6990 
   6991     /*** IDispatch methods ***/
   6992     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6993         IXMLDOMEntity *This,
   6994         UINT *pctinfo);
   6995 
   6996     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6997         IXMLDOMEntity *This,
   6998         UINT iTInfo,
   6999         LCID lcid,
   7000         ITypeInfo **ppTInfo);
   7001 
   7002     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7003         IXMLDOMEntity *This,
   7004         REFIID riid,
   7005         LPOLESTR *rgszNames,
   7006         UINT cNames,
   7007         LCID lcid,
   7008         DISPID *rgDispId);
   7009 
   7010     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7011         IXMLDOMEntity *This,
   7012         DISPID dispIdMember,
   7013         REFIID riid,
   7014         LCID lcid,
   7015         WORD wFlags,
   7016         DISPPARAMS *pDispParams,
   7017         VARIANT *pVarResult,
   7018         EXCEPINFO *pExcepInfo,
   7019         UINT *puArgErr);
   7020 
   7021     /*** IXMLDOMNode methods ***/
   7022     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   7023         IXMLDOMEntity *This,
   7024         BSTR *name);
   7025 
   7026     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   7027         IXMLDOMEntity *This,
   7028         VARIANT *value);
   7029 
   7030     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   7031         IXMLDOMEntity *This,
   7032         VARIANT value);
   7033 
   7034     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   7035         IXMLDOMEntity *This,
   7036         DOMNodeType *type);
   7037 
   7038     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   7039         IXMLDOMEntity *This,
   7040         IXMLDOMNode **parent);
   7041 
   7042     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   7043         IXMLDOMEntity *This,
   7044         IXMLDOMNodeList **childList);
   7045 
   7046     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   7047         IXMLDOMEntity *This,
   7048         IXMLDOMNode **firstChild);
   7049 
   7050     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   7051         IXMLDOMEntity *This,
   7052         IXMLDOMNode **lastChild);
   7053 
   7054     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   7055         IXMLDOMEntity *This,
   7056         IXMLDOMNode **previousSibling);
   7057 
   7058     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   7059         IXMLDOMEntity *This,
   7060         IXMLDOMNode **nextSibling);
   7061 
   7062     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   7063         IXMLDOMEntity *This,
   7064         IXMLDOMNamedNodeMap **attributeMap);
   7065 
   7066     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   7067         IXMLDOMEntity *This,
   7068         IXMLDOMNode *newChild,
   7069         VARIANT refChild,
   7070         IXMLDOMNode **outNewChild);
   7071 
   7072     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   7073         IXMLDOMEntity *This,
   7074         IXMLDOMNode *newChild,
   7075         IXMLDOMNode *oldChild,
   7076         IXMLDOMNode **outOldChild);
   7077 
   7078     HRESULT (STDMETHODCALLTYPE *removeChild)(
   7079         IXMLDOMEntity *This,
   7080         IXMLDOMNode *childNode,
   7081         IXMLDOMNode **oldChild);
   7082 
   7083     HRESULT (STDMETHODCALLTYPE *appendChild)(
   7084         IXMLDOMEntity *This,
   7085         IXMLDOMNode *newChild,
   7086         IXMLDOMNode **outNewChild);
   7087 
   7088     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   7089         IXMLDOMEntity *This,
   7090         VARIANT_BOOL *hasChild);
   7091 
   7092     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   7093         IXMLDOMEntity *This,
   7094         IXMLDOMDocument **DOMDocument);
   7095 
   7096     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   7097         IXMLDOMEntity *This,
   7098         VARIANT_BOOL deep,
   7099         IXMLDOMNode **cloneRoot);
   7100 
   7101     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   7102         IXMLDOMEntity *This,
   7103         BSTR *nodeType);
   7104 
   7105     HRESULT (STDMETHODCALLTYPE *get_text)(
   7106         IXMLDOMEntity *This,
   7107         BSTR *text);
   7108 
   7109     HRESULT (STDMETHODCALLTYPE *put_text)(
   7110         IXMLDOMEntity *This,
   7111         BSTR text);
   7112 
   7113     HRESULT (STDMETHODCALLTYPE *get_specified)(
   7114         IXMLDOMEntity *This,
   7115         VARIANT_BOOL *isSpecified);
   7116 
   7117     HRESULT (STDMETHODCALLTYPE *get_definition)(
   7118         IXMLDOMEntity *This,
   7119         IXMLDOMNode **definitionNode);
   7120 
   7121     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   7122         IXMLDOMEntity *This,
   7123         VARIANT *typedValue);
   7124 
   7125     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   7126         IXMLDOMEntity *This,
   7127         VARIANT typedValue);
   7128 
   7129     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   7130         IXMLDOMEntity *This,
   7131         VARIANT *dataTypeName);
   7132 
   7133     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   7134         IXMLDOMEntity *This,
   7135         BSTR dataTypeName);
   7136 
   7137     HRESULT (STDMETHODCALLTYPE *get_xml)(
   7138         IXMLDOMEntity *This,
   7139         BSTR *xmlString);
   7140 
   7141     HRESULT (STDMETHODCALLTYPE *transformNode)(
   7142         IXMLDOMEntity *This,
   7143         IXMLDOMNode *styleSheet,
   7144         BSTR *xmlString);
   7145 
   7146     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   7147         IXMLDOMEntity *This,
   7148         BSTR queryString,
   7149         IXMLDOMNodeList **resultList);
   7150 
   7151     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   7152         IXMLDOMEntity *This,
   7153         BSTR queryString,
   7154         IXMLDOMNode **resultNode);
   7155 
   7156     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   7157         IXMLDOMEntity *This,
   7158         VARIANT_BOOL *isParsed);
   7159 
   7160     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   7161         IXMLDOMEntity *This,
   7162         BSTR *namespaceURI);
   7163 
   7164     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   7165         IXMLDOMEntity *This,
   7166         BSTR *prefixString);
   7167 
   7168     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   7169         IXMLDOMEntity *This,
   7170         BSTR *nameString);
   7171 
   7172     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   7173         IXMLDOMEntity *This,
   7174         IXMLDOMNode *stylesheet,
   7175         VARIANT outputObject);
   7176 
   7177     /*** IXMLDOMEntity methods ***/
   7178     HRESULT (STDMETHODCALLTYPE *get_publicId)(
   7179         IXMLDOMEntity *This,
   7180         VARIANT *publicId);
   7181 
   7182     HRESULT (STDMETHODCALLTYPE *get_systemId)(
   7183         IXMLDOMEntity *This,
   7184         VARIANT *systemId);
   7185 
   7186     HRESULT (STDMETHODCALLTYPE *get_notationName)(
   7187         IXMLDOMEntity *This,
   7188         BSTR *name);
   7189 
   7190     END_INTERFACE
   7191 } IXMLDOMEntityVtbl;
   7192 
   7193 interface IXMLDOMEntity {
   7194     CONST_VTBL IXMLDOMEntityVtbl* lpVtbl;
   7195 };
   7196 
   7197 #ifdef COBJMACROS
   7198 #ifndef WIDL_C_INLINE_WRAPPERS
   7199 /*** IUnknown methods ***/
   7200 #define IXMLDOMEntity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7201 #define IXMLDOMEntity_AddRef(This) (This)->lpVtbl->AddRef(This)
   7202 #define IXMLDOMEntity_Release(This) (This)->lpVtbl->Release(This)
   7203 /*** IDispatch methods ***/
   7204 #define IXMLDOMEntity_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7205 #define IXMLDOMEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7206 #define IXMLDOMEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7207 #define IXMLDOMEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7208 /*** IXMLDOMNode methods ***/
   7209 #define IXMLDOMEntity_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   7210 #define IXMLDOMEntity_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   7211 #define IXMLDOMEntity_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   7212 #define IXMLDOMEntity_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   7213 #define IXMLDOMEntity_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   7214 #define IXMLDOMEntity_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   7215 #define IXMLDOMEntity_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   7216 #define IXMLDOMEntity_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   7217 #define IXMLDOMEntity_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   7218 #define IXMLDOMEntity_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   7219 #define IXMLDOMEntity_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   7220 #define IXMLDOMEntity_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   7221 #define IXMLDOMEntity_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   7222 #define IXMLDOMEntity_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   7223 #define IXMLDOMEntity_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   7224 #define IXMLDOMEntity_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   7225 #define IXMLDOMEntity_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   7226 #define IXMLDOMEntity_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   7227 #define IXMLDOMEntity_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   7228 #define IXMLDOMEntity_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   7229 #define IXMLDOMEntity_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   7230 #define IXMLDOMEntity_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   7231 #define IXMLDOMEntity_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   7232 #define IXMLDOMEntity_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   7233 #define IXMLDOMEntity_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   7234 #define IXMLDOMEntity_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   7235 #define IXMLDOMEntity_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   7236 #define IXMLDOMEntity_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   7237 #define IXMLDOMEntity_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   7238 #define IXMLDOMEntity_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   7239 #define IXMLDOMEntity_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   7240 #define IXMLDOMEntity_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   7241 #define IXMLDOMEntity_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   7242 #define IXMLDOMEntity_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   7243 #define IXMLDOMEntity_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   7244 #define IXMLDOMEntity_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   7245 /*** IXMLDOMEntity methods ***/
   7246 #define IXMLDOMEntity_get_publicId(This,publicId) (This)->lpVtbl->get_publicId(This,publicId)
   7247 #define IXMLDOMEntity_get_systemId(This,systemId) (This)->lpVtbl->get_systemId(This,systemId)
   7248 #define IXMLDOMEntity_get_notationName(This,name) (This)->lpVtbl->get_notationName(This,name)
   7249 #else
   7250 /*** IUnknown methods ***/
   7251 static inline HRESULT IXMLDOMEntity_QueryInterface(IXMLDOMEntity* This,REFIID riid,void **ppvObject) {
   7252     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7253 }
   7254 static inline ULONG IXMLDOMEntity_AddRef(IXMLDOMEntity* This) {
   7255     return This->lpVtbl->AddRef(This);
   7256 }
   7257 static inline ULONG IXMLDOMEntity_Release(IXMLDOMEntity* This) {
   7258     return This->lpVtbl->Release(This);
   7259 }
   7260 /*** IDispatch methods ***/
   7261 static inline HRESULT IXMLDOMEntity_GetTypeInfoCount(IXMLDOMEntity* This,UINT *pctinfo) {
   7262     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7263 }
   7264 static inline HRESULT IXMLDOMEntity_GetTypeInfo(IXMLDOMEntity* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7265     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7266 }
   7267 static inline HRESULT IXMLDOMEntity_GetIDsOfNames(IXMLDOMEntity* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7268     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7269 }
   7270 static inline HRESULT IXMLDOMEntity_Invoke(IXMLDOMEntity* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7271     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7272 }
   7273 /*** IXMLDOMNode methods ***/
   7274 static inline HRESULT IXMLDOMEntity_get_nodeName(IXMLDOMEntity* This,BSTR *name) {
   7275     return This->lpVtbl->get_nodeName(This,name);
   7276 }
   7277 static inline HRESULT IXMLDOMEntity_get_nodeValue(IXMLDOMEntity* This,VARIANT *value) {
   7278     return This->lpVtbl->get_nodeValue(This,value);
   7279 }
   7280 static inline HRESULT IXMLDOMEntity_put_nodeValue(IXMLDOMEntity* This,VARIANT value) {
   7281     return This->lpVtbl->put_nodeValue(This,value);
   7282 }
   7283 static inline HRESULT IXMLDOMEntity_get_nodeType(IXMLDOMEntity* This,DOMNodeType *type) {
   7284     return This->lpVtbl->get_nodeType(This,type);
   7285 }
   7286 static inline HRESULT IXMLDOMEntity_get_parentNode(IXMLDOMEntity* This,IXMLDOMNode **parent) {
   7287     return This->lpVtbl->get_parentNode(This,parent);
   7288 }
   7289 static inline HRESULT IXMLDOMEntity_get_childNodes(IXMLDOMEntity* This,IXMLDOMNodeList **childList) {
   7290     return This->lpVtbl->get_childNodes(This,childList);
   7291 }
   7292 static inline HRESULT IXMLDOMEntity_get_firstChild(IXMLDOMEntity* This,IXMLDOMNode **firstChild) {
   7293     return This->lpVtbl->get_firstChild(This,firstChild);
   7294 }
   7295 static inline HRESULT IXMLDOMEntity_get_lastChild(IXMLDOMEntity* This,IXMLDOMNode **lastChild) {
   7296     return This->lpVtbl->get_lastChild(This,lastChild);
   7297 }
   7298 static inline HRESULT IXMLDOMEntity_get_previousSibling(IXMLDOMEntity* This,IXMLDOMNode **previousSibling) {
   7299     return This->lpVtbl->get_previousSibling(This,previousSibling);
   7300 }
   7301 static inline HRESULT IXMLDOMEntity_get_nextSibling(IXMLDOMEntity* This,IXMLDOMNode **nextSibling) {
   7302     return This->lpVtbl->get_nextSibling(This,nextSibling);
   7303 }
   7304 static inline HRESULT IXMLDOMEntity_get_attributes(IXMLDOMEntity* This,IXMLDOMNamedNodeMap **attributeMap) {
   7305     return This->lpVtbl->get_attributes(This,attributeMap);
   7306 }
   7307 static inline HRESULT IXMLDOMEntity_insertBefore(IXMLDOMEntity* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   7308     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   7309 }
   7310 static inline HRESULT IXMLDOMEntity_replaceChild(IXMLDOMEntity* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   7311     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   7312 }
   7313 static inline HRESULT IXMLDOMEntity_removeChild(IXMLDOMEntity* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   7314     return This->lpVtbl->removeChild(This,childNode,oldChild);
   7315 }
   7316 static inline HRESULT IXMLDOMEntity_appendChild(IXMLDOMEntity* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   7317     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   7318 }
   7319 static inline HRESULT IXMLDOMEntity_hasChildNodes(IXMLDOMEntity* This,VARIANT_BOOL *hasChild) {
   7320     return This->lpVtbl->hasChildNodes(This,hasChild);
   7321 }
   7322 static inline HRESULT IXMLDOMEntity_get_ownerDocument(IXMLDOMEntity* This,IXMLDOMDocument **DOMDocument) {
   7323     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   7324 }
   7325 static inline HRESULT IXMLDOMEntity_cloneNode(IXMLDOMEntity* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   7326     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   7327 }
   7328 static inline HRESULT IXMLDOMEntity_get_nodeTypeString(IXMLDOMEntity* This,BSTR *nodeType) {
   7329     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   7330 }
   7331 static inline HRESULT IXMLDOMEntity_get_text(IXMLDOMEntity* This,BSTR *text) {
   7332     return This->lpVtbl->get_text(This,text);
   7333 }
   7334 static inline HRESULT IXMLDOMEntity_put_text(IXMLDOMEntity* This,BSTR text) {
   7335     return This->lpVtbl->put_text(This,text);
   7336 }
   7337 static inline HRESULT IXMLDOMEntity_get_specified(IXMLDOMEntity* This,VARIANT_BOOL *isSpecified) {
   7338     return This->lpVtbl->get_specified(This,isSpecified);
   7339 }
   7340 static inline HRESULT IXMLDOMEntity_get_definition(IXMLDOMEntity* This,IXMLDOMNode **definitionNode) {
   7341     return This->lpVtbl->get_definition(This,definitionNode);
   7342 }
   7343 static inline HRESULT IXMLDOMEntity_get_nodeTypedValue(IXMLDOMEntity* This,VARIANT *typedValue) {
   7344     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   7345 }
   7346 static inline HRESULT IXMLDOMEntity_put_nodeTypedValue(IXMLDOMEntity* This,VARIANT typedValue) {
   7347     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   7348 }
   7349 static inline HRESULT IXMLDOMEntity_get_dataType(IXMLDOMEntity* This,VARIANT *dataTypeName) {
   7350     return This->lpVtbl->get_dataType(This,dataTypeName);
   7351 }
   7352 static inline HRESULT IXMLDOMEntity_put_dataType(IXMLDOMEntity* This,BSTR dataTypeName) {
   7353     return This->lpVtbl->put_dataType(This,dataTypeName);
   7354 }
   7355 static inline HRESULT IXMLDOMEntity_get_xml(IXMLDOMEntity* This,BSTR *xmlString) {
   7356     return This->lpVtbl->get_xml(This,xmlString);
   7357 }
   7358 static inline HRESULT IXMLDOMEntity_transformNode(IXMLDOMEntity* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   7359     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   7360 }
   7361 static inline HRESULT IXMLDOMEntity_selectNodes(IXMLDOMEntity* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   7362     return This->lpVtbl->selectNodes(This,queryString,resultList);
   7363 }
   7364 static inline HRESULT IXMLDOMEntity_selectSingleNode(IXMLDOMEntity* This,BSTR queryString,IXMLDOMNode **resultNode) {
   7365     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   7366 }
   7367 static inline HRESULT IXMLDOMEntity_get_parsed(IXMLDOMEntity* This,VARIANT_BOOL *isParsed) {
   7368     return This->lpVtbl->get_parsed(This,isParsed);
   7369 }
   7370 static inline HRESULT IXMLDOMEntity_get_namespaceURI(IXMLDOMEntity* This,BSTR *namespaceURI) {
   7371     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   7372 }
   7373 static inline HRESULT IXMLDOMEntity_get_prefix(IXMLDOMEntity* This,BSTR *prefixString) {
   7374     return This->lpVtbl->get_prefix(This,prefixString);
   7375 }
   7376 static inline HRESULT IXMLDOMEntity_get_baseName(IXMLDOMEntity* This,BSTR *nameString) {
   7377     return This->lpVtbl->get_baseName(This,nameString);
   7378 }
   7379 static inline HRESULT IXMLDOMEntity_transformNodeToObject(IXMLDOMEntity* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   7380     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   7381 }
   7382 /*** IXMLDOMEntity methods ***/
   7383 static inline HRESULT IXMLDOMEntity_get_publicId(IXMLDOMEntity* This,VARIANT *publicId) {
   7384     return This->lpVtbl->get_publicId(This,publicId);
   7385 }
   7386 static inline HRESULT IXMLDOMEntity_get_systemId(IXMLDOMEntity* This,VARIANT *systemId) {
   7387     return This->lpVtbl->get_systemId(This,systemId);
   7388 }
   7389 static inline HRESULT IXMLDOMEntity_get_notationName(IXMLDOMEntity* This,BSTR *name) {
   7390     return This->lpVtbl->get_notationName(This,name);
   7391 }
   7392 #endif
   7393 #endif
   7394 
   7395 #endif
   7396 
   7397 
   7398 #endif  /* __IXMLDOMEntity_INTERFACE_DEFINED__ */
   7399 
   7400 /*****************************************************************************
   7401  * IXMLDOMEntityReference interface
   7402  */
   7403 #ifndef __IXMLDOMEntityReference_INTERFACE_DEFINED__
   7404 #define __IXMLDOMEntityReference_INTERFACE_DEFINED__
   7405 
   7406 DEFINE_GUID(IID_IXMLDOMEntityReference, 0x2933bf8e, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   7407 #if defined(__cplusplus) && !defined(CINTERFACE)
   7408 MIDL_INTERFACE("2933bf8e-7b36-11d2-b20e-00c04f983e60")
   7409 IXMLDOMEntityReference : public IXMLDOMNode
   7410 {
   7411 };
   7412 #ifdef __CRT_UUID_DECL
   7413 __CRT_UUID_DECL(IXMLDOMEntityReference, 0x2933bf8e, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   7414 #endif
   7415 #else
   7416 typedef struct IXMLDOMEntityReferenceVtbl {
   7417     BEGIN_INTERFACE
   7418 
   7419     /*** IUnknown methods ***/
   7420     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7421         IXMLDOMEntityReference *This,
   7422         REFIID riid,
   7423         void **ppvObject);
   7424 
   7425     ULONG (STDMETHODCALLTYPE *AddRef)(
   7426         IXMLDOMEntityReference *This);
   7427 
   7428     ULONG (STDMETHODCALLTYPE *Release)(
   7429         IXMLDOMEntityReference *This);
   7430 
   7431     /*** IDispatch methods ***/
   7432     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7433         IXMLDOMEntityReference *This,
   7434         UINT *pctinfo);
   7435 
   7436     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   7437         IXMLDOMEntityReference *This,
   7438         UINT iTInfo,
   7439         LCID lcid,
   7440         ITypeInfo **ppTInfo);
   7441 
   7442     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7443         IXMLDOMEntityReference *This,
   7444         REFIID riid,
   7445         LPOLESTR *rgszNames,
   7446         UINT cNames,
   7447         LCID lcid,
   7448         DISPID *rgDispId);
   7449 
   7450     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7451         IXMLDOMEntityReference *This,
   7452         DISPID dispIdMember,
   7453         REFIID riid,
   7454         LCID lcid,
   7455         WORD wFlags,
   7456         DISPPARAMS *pDispParams,
   7457         VARIANT *pVarResult,
   7458         EXCEPINFO *pExcepInfo,
   7459         UINT *puArgErr);
   7460 
   7461     /*** IXMLDOMNode methods ***/
   7462     HRESULT (STDMETHODCALLTYPE *get_nodeName)(
   7463         IXMLDOMEntityReference *This,
   7464         BSTR *name);
   7465 
   7466     HRESULT (STDMETHODCALLTYPE *get_nodeValue)(
   7467         IXMLDOMEntityReference *This,
   7468         VARIANT *value);
   7469 
   7470     HRESULT (STDMETHODCALLTYPE *put_nodeValue)(
   7471         IXMLDOMEntityReference *This,
   7472         VARIANT value);
   7473 
   7474     HRESULT (STDMETHODCALLTYPE *get_nodeType)(
   7475         IXMLDOMEntityReference *This,
   7476         DOMNodeType *type);
   7477 
   7478     HRESULT (STDMETHODCALLTYPE *get_parentNode)(
   7479         IXMLDOMEntityReference *This,
   7480         IXMLDOMNode **parent);
   7481 
   7482     HRESULT (STDMETHODCALLTYPE *get_childNodes)(
   7483         IXMLDOMEntityReference *This,
   7484         IXMLDOMNodeList **childList);
   7485 
   7486     HRESULT (STDMETHODCALLTYPE *get_firstChild)(
   7487         IXMLDOMEntityReference *This,
   7488         IXMLDOMNode **firstChild);
   7489 
   7490     HRESULT (STDMETHODCALLTYPE *get_lastChild)(
   7491         IXMLDOMEntityReference *This,
   7492         IXMLDOMNode **lastChild);
   7493 
   7494     HRESULT (STDMETHODCALLTYPE *get_previousSibling)(
   7495         IXMLDOMEntityReference *This,
   7496         IXMLDOMNode **previousSibling);
   7497 
   7498     HRESULT (STDMETHODCALLTYPE *get_nextSibling)(
   7499         IXMLDOMEntityReference *This,
   7500         IXMLDOMNode **nextSibling);
   7501 
   7502     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   7503         IXMLDOMEntityReference *This,
   7504         IXMLDOMNamedNodeMap **attributeMap);
   7505 
   7506     HRESULT (STDMETHODCALLTYPE *insertBefore)(
   7507         IXMLDOMEntityReference *This,
   7508         IXMLDOMNode *newChild,
   7509         VARIANT refChild,
   7510         IXMLDOMNode **outNewChild);
   7511 
   7512     HRESULT (STDMETHODCALLTYPE *replaceChild)(
   7513         IXMLDOMEntityReference *This,
   7514         IXMLDOMNode *newChild,
   7515         IXMLDOMNode *oldChild,
   7516         IXMLDOMNode **outOldChild);
   7517 
   7518     HRESULT (STDMETHODCALLTYPE *removeChild)(
   7519         IXMLDOMEntityReference *This,
   7520         IXMLDOMNode *childNode,
   7521         IXMLDOMNode **oldChild);
   7522 
   7523     HRESULT (STDMETHODCALLTYPE *appendChild)(
   7524         IXMLDOMEntityReference *This,
   7525         IXMLDOMNode *newChild,
   7526         IXMLDOMNode **outNewChild);
   7527 
   7528     HRESULT (STDMETHODCALLTYPE *hasChildNodes)(
   7529         IXMLDOMEntityReference *This,
   7530         VARIANT_BOOL *hasChild);
   7531 
   7532     HRESULT (STDMETHODCALLTYPE *get_ownerDocument)(
   7533         IXMLDOMEntityReference *This,
   7534         IXMLDOMDocument **DOMDocument);
   7535 
   7536     HRESULT (STDMETHODCALLTYPE *cloneNode)(
   7537         IXMLDOMEntityReference *This,
   7538         VARIANT_BOOL deep,
   7539         IXMLDOMNode **cloneRoot);
   7540 
   7541     HRESULT (STDMETHODCALLTYPE *get_nodeTypeString)(
   7542         IXMLDOMEntityReference *This,
   7543         BSTR *nodeType);
   7544 
   7545     HRESULT (STDMETHODCALLTYPE *get_text)(
   7546         IXMLDOMEntityReference *This,
   7547         BSTR *text);
   7548 
   7549     HRESULT (STDMETHODCALLTYPE *put_text)(
   7550         IXMLDOMEntityReference *This,
   7551         BSTR text);
   7552 
   7553     HRESULT (STDMETHODCALLTYPE *get_specified)(
   7554         IXMLDOMEntityReference *This,
   7555         VARIANT_BOOL *isSpecified);
   7556 
   7557     HRESULT (STDMETHODCALLTYPE *get_definition)(
   7558         IXMLDOMEntityReference *This,
   7559         IXMLDOMNode **definitionNode);
   7560 
   7561     HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue)(
   7562         IXMLDOMEntityReference *This,
   7563         VARIANT *typedValue);
   7564 
   7565     HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue)(
   7566         IXMLDOMEntityReference *This,
   7567         VARIANT typedValue);
   7568 
   7569     HRESULT (STDMETHODCALLTYPE *get_dataType)(
   7570         IXMLDOMEntityReference *This,
   7571         VARIANT *dataTypeName);
   7572 
   7573     HRESULT (STDMETHODCALLTYPE *put_dataType)(
   7574         IXMLDOMEntityReference *This,
   7575         BSTR dataTypeName);
   7576 
   7577     HRESULT (STDMETHODCALLTYPE *get_xml)(
   7578         IXMLDOMEntityReference *This,
   7579         BSTR *xmlString);
   7580 
   7581     HRESULT (STDMETHODCALLTYPE *transformNode)(
   7582         IXMLDOMEntityReference *This,
   7583         IXMLDOMNode *styleSheet,
   7584         BSTR *xmlString);
   7585 
   7586     HRESULT (STDMETHODCALLTYPE *selectNodes)(
   7587         IXMLDOMEntityReference *This,
   7588         BSTR queryString,
   7589         IXMLDOMNodeList **resultList);
   7590 
   7591     HRESULT (STDMETHODCALLTYPE *selectSingleNode)(
   7592         IXMLDOMEntityReference *This,
   7593         BSTR queryString,
   7594         IXMLDOMNode **resultNode);
   7595 
   7596     HRESULT (STDMETHODCALLTYPE *get_parsed)(
   7597         IXMLDOMEntityReference *This,
   7598         VARIANT_BOOL *isParsed);
   7599 
   7600     HRESULT (STDMETHODCALLTYPE *get_namespaceURI)(
   7601         IXMLDOMEntityReference *This,
   7602         BSTR *namespaceURI);
   7603 
   7604     HRESULT (STDMETHODCALLTYPE *get_prefix)(
   7605         IXMLDOMEntityReference *This,
   7606         BSTR *prefixString);
   7607 
   7608     HRESULT (STDMETHODCALLTYPE *get_baseName)(
   7609         IXMLDOMEntityReference *This,
   7610         BSTR *nameString);
   7611 
   7612     HRESULT (STDMETHODCALLTYPE *transformNodeToObject)(
   7613         IXMLDOMEntityReference *This,
   7614         IXMLDOMNode *stylesheet,
   7615         VARIANT outputObject);
   7616 
   7617     END_INTERFACE
   7618 } IXMLDOMEntityReferenceVtbl;
   7619 
   7620 interface IXMLDOMEntityReference {
   7621     CONST_VTBL IXMLDOMEntityReferenceVtbl* lpVtbl;
   7622 };
   7623 
   7624 #ifdef COBJMACROS
   7625 #ifndef WIDL_C_INLINE_WRAPPERS
   7626 /*** IUnknown methods ***/
   7627 #define IXMLDOMEntityReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7628 #define IXMLDOMEntityReference_AddRef(This) (This)->lpVtbl->AddRef(This)
   7629 #define IXMLDOMEntityReference_Release(This) (This)->lpVtbl->Release(This)
   7630 /*** IDispatch methods ***/
   7631 #define IXMLDOMEntityReference_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7632 #define IXMLDOMEntityReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7633 #define IXMLDOMEntityReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7634 #define IXMLDOMEntityReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7635 /*** IXMLDOMNode methods ***/
   7636 #define IXMLDOMEntityReference_get_nodeName(This,name) (This)->lpVtbl->get_nodeName(This,name)
   7637 #define IXMLDOMEntityReference_get_nodeValue(This,value) (This)->lpVtbl->get_nodeValue(This,value)
   7638 #define IXMLDOMEntityReference_put_nodeValue(This,value) (This)->lpVtbl->put_nodeValue(This,value)
   7639 #define IXMLDOMEntityReference_get_nodeType(This,type) (This)->lpVtbl->get_nodeType(This,type)
   7640 #define IXMLDOMEntityReference_get_parentNode(This,parent) (This)->lpVtbl->get_parentNode(This,parent)
   7641 #define IXMLDOMEntityReference_get_childNodes(This,childList) (This)->lpVtbl->get_childNodes(This,childList)
   7642 #define IXMLDOMEntityReference_get_firstChild(This,firstChild) (This)->lpVtbl->get_firstChild(This,firstChild)
   7643 #define IXMLDOMEntityReference_get_lastChild(This,lastChild) (This)->lpVtbl->get_lastChild(This,lastChild)
   7644 #define IXMLDOMEntityReference_get_previousSibling(This,previousSibling) (This)->lpVtbl->get_previousSibling(This,previousSibling)
   7645 #define IXMLDOMEntityReference_get_nextSibling(This,nextSibling) (This)->lpVtbl->get_nextSibling(This,nextSibling)
   7646 #define IXMLDOMEntityReference_get_attributes(This,attributeMap) (This)->lpVtbl->get_attributes(This,attributeMap)
   7647 #define IXMLDOMEntityReference_insertBefore(This,newChild,refChild,outNewChild) (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
   7648 #define IXMLDOMEntityReference_replaceChild(This,newChild,oldChild,outOldChild) (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
   7649 #define IXMLDOMEntityReference_removeChild(This,childNode,oldChild) (This)->lpVtbl->removeChild(This,childNode,oldChild)
   7650 #define IXMLDOMEntityReference_appendChild(This,newChild,outNewChild) (This)->lpVtbl->appendChild(This,newChild,outNewChild)
   7651 #define IXMLDOMEntityReference_hasChildNodes(This,hasChild) (This)->lpVtbl->hasChildNodes(This,hasChild)
   7652 #define IXMLDOMEntityReference_get_ownerDocument(This,DOMDocument) (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
   7653 #define IXMLDOMEntityReference_cloneNode(This,deep,cloneRoot) (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
   7654 #define IXMLDOMEntityReference_get_nodeTypeString(This,nodeType) (This)->lpVtbl->get_nodeTypeString(This,nodeType)
   7655 #define IXMLDOMEntityReference_get_text(This,text) (This)->lpVtbl->get_text(This,text)
   7656 #define IXMLDOMEntityReference_put_text(This,text) (This)->lpVtbl->put_text(This,text)
   7657 #define IXMLDOMEntityReference_get_specified(This,isSpecified) (This)->lpVtbl->get_specified(This,isSpecified)
   7658 #define IXMLDOMEntityReference_get_definition(This,definitionNode) (This)->lpVtbl->get_definition(This,definitionNode)
   7659 #define IXMLDOMEntityReference_get_nodeTypedValue(This,typedValue) (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
   7660 #define IXMLDOMEntityReference_put_nodeTypedValue(This,typedValue) (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
   7661 #define IXMLDOMEntityReference_get_dataType(This,dataTypeName) (This)->lpVtbl->get_dataType(This,dataTypeName)
   7662 #define IXMLDOMEntityReference_put_dataType(This,dataTypeName) (This)->lpVtbl->put_dataType(This,dataTypeName)
   7663 #define IXMLDOMEntityReference_get_xml(This,xmlString) (This)->lpVtbl->get_xml(This,xmlString)
   7664 #define IXMLDOMEntityReference_transformNode(This,styleSheet,xmlString) (This)->lpVtbl->transformNode(This,styleSheet,xmlString)
   7665 #define IXMLDOMEntityReference_selectNodes(This,queryString,resultList) (This)->lpVtbl->selectNodes(This,queryString,resultList)
   7666 #define IXMLDOMEntityReference_selectSingleNode(This,queryString,resultNode) (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
   7667 #define IXMLDOMEntityReference_get_parsed(This,isParsed) (This)->lpVtbl->get_parsed(This,isParsed)
   7668 #define IXMLDOMEntityReference_get_namespaceURI(This,namespaceURI) (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
   7669 #define IXMLDOMEntityReference_get_prefix(This,prefixString) (This)->lpVtbl->get_prefix(This,prefixString)
   7670 #define IXMLDOMEntityReference_get_baseName(This,nameString) (This)->lpVtbl->get_baseName(This,nameString)
   7671 #define IXMLDOMEntityReference_transformNodeToObject(This,stylesheet,outputObject) (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
   7672 #else
   7673 /*** IUnknown methods ***/
   7674 static inline HRESULT IXMLDOMEntityReference_QueryInterface(IXMLDOMEntityReference* This,REFIID riid,void **ppvObject) {
   7675     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7676 }
   7677 static inline ULONG IXMLDOMEntityReference_AddRef(IXMLDOMEntityReference* This) {
   7678     return This->lpVtbl->AddRef(This);
   7679 }
   7680 static inline ULONG IXMLDOMEntityReference_Release(IXMLDOMEntityReference* This) {
   7681     return This->lpVtbl->Release(This);
   7682 }
   7683 /*** IDispatch methods ***/
   7684 static inline HRESULT IXMLDOMEntityReference_GetTypeInfoCount(IXMLDOMEntityReference* This,UINT *pctinfo) {
   7685     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7686 }
   7687 static inline HRESULT IXMLDOMEntityReference_GetTypeInfo(IXMLDOMEntityReference* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7688     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7689 }
   7690 static inline HRESULT IXMLDOMEntityReference_GetIDsOfNames(IXMLDOMEntityReference* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7691     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7692 }
   7693 static inline HRESULT IXMLDOMEntityReference_Invoke(IXMLDOMEntityReference* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7694     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7695 }
   7696 /*** IXMLDOMNode methods ***/
   7697 static inline HRESULT IXMLDOMEntityReference_get_nodeName(IXMLDOMEntityReference* This,BSTR *name) {
   7698     return This->lpVtbl->get_nodeName(This,name);
   7699 }
   7700 static inline HRESULT IXMLDOMEntityReference_get_nodeValue(IXMLDOMEntityReference* This,VARIANT *value) {
   7701     return This->lpVtbl->get_nodeValue(This,value);
   7702 }
   7703 static inline HRESULT IXMLDOMEntityReference_put_nodeValue(IXMLDOMEntityReference* This,VARIANT value) {
   7704     return This->lpVtbl->put_nodeValue(This,value);
   7705 }
   7706 static inline HRESULT IXMLDOMEntityReference_get_nodeType(IXMLDOMEntityReference* This,DOMNodeType *type) {
   7707     return This->lpVtbl->get_nodeType(This,type);
   7708 }
   7709 static inline HRESULT IXMLDOMEntityReference_get_parentNode(IXMLDOMEntityReference* This,IXMLDOMNode **parent) {
   7710     return This->lpVtbl->get_parentNode(This,parent);
   7711 }
   7712 static inline HRESULT IXMLDOMEntityReference_get_childNodes(IXMLDOMEntityReference* This,IXMLDOMNodeList **childList) {
   7713     return This->lpVtbl->get_childNodes(This,childList);
   7714 }
   7715 static inline HRESULT IXMLDOMEntityReference_get_firstChild(IXMLDOMEntityReference* This,IXMLDOMNode **firstChild) {
   7716     return This->lpVtbl->get_firstChild(This,firstChild);
   7717 }
   7718 static inline HRESULT IXMLDOMEntityReference_get_lastChild(IXMLDOMEntityReference* This,IXMLDOMNode **lastChild) {
   7719     return This->lpVtbl->get_lastChild(This,lastChild);
   7720 }
   7721 static inline HRESULT IXMLDOMEntityReference_get_previousSibling(IXMLDOMEntityReference* This,IXMLDOMNode **previousSibling) {
   7722     return This->lpVtbl->get_previousSibling(This,previousSibling);
   7723 }
   7724 static inline HRESULT IXMLDOMEntityReference_get_nextSibling(IXMLDOMEntityReference* This,IXMLDOMNode **nextSibling) {
   7725     return This->lpVtbl->get_nextSibling(This,nextSibling);
   7726 }
   7727 static inline HRESULT IXMLDOMEntityReference_get_attributes(IXMLDOMEntityReference* This,IXMLDOMNamedNodeMap **attributeMap) {
   7728     return This->lpVtbl->get_attributes(This,attributeMap);
   7729 }
   7730 static inline HRESULT IXMLDOMEntityReference_insertBefore(IXMLDOMEntityReference* This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild) {
   7731     return This->lpVtbl->insertBefore(This,newChild,refChild,outNewChild);
   7732 }
   7733 static inline HRESULT IXMLDOMEntityReference_replaceChild(IXMLDOMEntityReference* This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild) {
   7734     return This->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild);
   7735 }
   7736 static inline HRESULT IXMLDOMEntityReference_removeChild(IXMLDOMEntityReference* This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild) {
   7737     return This->lpVtbl->removeChild(This,childNode,oldChild);
   7738 }
   7739 static inline HRESULT IXMLDOMEntityReference_appendChild(IXMLDOMEntityReference* This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild) {
   7740     return This->lpVtbl->appendChild(This,newChild,outNewChild);
   7741 }
   7742 static inline HRESULT IXMLDOMEntityReference_hasChildNodes(IXMLDOMEntityReference* This,VARIANT_BOOL *hasChild) {
   7743     return This->lpVtbl->hasChildNodes(This,hasChild);
   7744 }
   7745 static inline HRESULT IXMLDOMEntityReference_get_ownerDocument(IXMLDOMEntityReference* This,IXMLDOMDocument **DOMDocument) {
   7746     return This->lpVtbl->get_ownerDocument(This,DOMDocument);
   7747 }
   7748 static inline HRESULT IXMLDOMEntityReference_cloneNode(IXMLDOMEntityReference* This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot) {
   7749     return This->lpVtbl->cloneNode(This,deep,cloneRoot);
   7750 }
   7751 static inline HRESULT IXMLDOMEntityReference_get_nodeTypeString(IXMLDOMEntityReference* This,BSTR *nodeType) {
   7752     return This->lpVtbl->get_nodeTypeString(This,nodeType);
   7753 }
   7754 static inline HRESULT IXMLDOMEntityReference_get_text(IXMLDOMEntityReference* This,BSTR *text) {
   7755     return This->lpVtbl->get_text(This,text);
   7756 }
   7757 static inline HRESULT IXMLDOMEntityReference_put_text(IXMLDOMEntityReference* This,BSTR text) {
   7758     return This->lpVtbl->put_text(This,text);
   7759 }
   7760 static inline HRESULT IXMLDOMEntityReference_get_specified(IXMLDOMEntityReference* This,VARIANT_BOOL *isSpecified) {
   7761     return This->lpVtbl->get_specified(This,isSpecified);
   7762 }
   7763 static inline HRESULT IXMLDOMEntityReference_get_definition(IXMLDOMEntityReference* This,IXMLDOMNode **definitionNode) {
   7764     return This->lpVtbl->get_definition(This,definitionNode);
   7765 }
   7766 static inline HRESULT IXMLDOMEntityReference_get_nodeTypedValue(IXMLDOMEntityReference* This,VARIANT *typedValue) {
   7767     return This->lpVtbl->get_nodeTypedValue(This,typedValue);
   7768 }
   7769 static inline HRESULT IXMLDOMEntityReference_put_nodeTypedValue(IXMLDOMEntityReference* This,VARIANT typedValue) {
   7770     return This->lpVtbl->put_nodeTypedValue(This,typedValue);
   7771 }
   7772 static inline HRESULT IXMLDOMEntityReference_get_dataType(IXMLDOMEntityReference* This,VARIANT *dataTypeName) {
   7773     return This->lpVtbl->get_dataType(This,dataTypeName);
   7774 }
   7775 static inline HRESULT IXMLDOMEntityReference_put_dataType(IXMLDOMEntityReference* This,BSTR dataTypeName) {
   7776     return This->lpVtbl->put_dataType(This,dataTypeName);
   7777 }
   7778 static inline HRESULT IXMLDOMEntityReference_get_xml(IXMLDOMEntityReference* This,BSTR *xmlString) {
   7779     return This->lpVtbl->get_xml(This,xmlString);
   7780 }
   7781 static inline HRESULT IXMLDOMEntityReference_transformNode(IXMLDOMEntityReference* This,IXMLDOMNode *styleSheet,BSTR *xmlString) {
   7782     return This->lpVtbl->transformNode(This,styleSheet,xmlString);
   7783 }
   7784 static inline HRESULT IXMLDOMEntityReference_selectNodes(IXMLDOMEntityReference* This,BSTR queryString,IXMLDOMNodeList **resultList) {
   7785     return This->lpVtbl->selectNodes(This,queryString,resultList);
   7786 }
   7787 static inline HRESULT IXMLDOMEntityReference_selectSingleNode(IXMLDOMEntityReference* This,BSTR queryString,IXMLDOMNode **resultNode) {
   7788     return This->lpVtbl->selectSingleNode(This,queryString,resultNode);
   7789 }
   7790 static inline HRESULT IXMLDOMEntityReference_get_parsed(IXMLDOMEntityReference* This,VARIANT_BOOL *isParsed) {
   7791     return This->lpVtbl->get_parsed(This,isParsed);
   7792 }
   7793 static inline HRESULT IXMLDOMEntityReference_get_namespaceURI(IXMLDOMEntityReference* This,BSTR *namespaceURI) {
   7794     return This->lpVtbl->get_namespaceURI(This,namespaceURI);
   7795 }
   7796 static inline HRESULT IXMLDOMEntityReference_get_prefix(IXMLDOMEntityReference* This,BSTR *prefixString) {
   7797     return This->lpVtbl->get_prefix(This,prefixString);
   7798 }
   7799 static inline HRESULT IXMLDOMEntityReference_get_baseName(IXMLDOMEntityReference* This,BSTR *nameString) {
   7800     return This->lpVtbl->get_baseName(This,nameString);
   7801 }
   7802 static inline HRESULT IXMLDOMEntityReference_transformNodeToObject(IXMLDOMEntityReference* This,IXMLDOMNode *stylesheet,VARIANT outputObject) {
   7803     return This->lpVtbl->transformNodeToObject(This,stylesheet,outputObject);
   7804 }
   7805 #endif
   7806 #endif
   7807 
   7808 #endif
   7809 
   7810 
   7811 #endif  /* __IXMLDOMEntityReference_INTERFACE_DEFINED__ */
   7812 
   7813 /*****************************************************************************
   7814  * IXMLDOMImplementation interface
   7815  */
   7816 #ifndef __IXMLDOMImplementation_INTERFACE_DEFINED__
   7817 #define __IXMLDOMImplementation_INTERFACE_DEFINED__
   7818 
   7819 DEFINE_GUID(IID_IXMLDOMImplementation, 0x2933bf8f, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   7820 #if defined(__cplusplus) && !defined(CINTERFACE)
   7821 MIDL_INTERFACE("2933bf8f-7b36-11d2-b20e-00c04f983e60")
   7822 IXMLDOMImplementation : public IDispatch
   7823 {
   7824     virtual HRESULT STDMETHODCALLTYPE hasFeature(
   7825         BSTR feature,
   7826         BSTR version,
   7827         VARIANT_BOOL *pbool) = 0;
   7828 
   7829 };
   7830 #ifdef __CRT_UUID_DECL
   7831 __CRT_UUID_DECL(IXMLDOMImplementation, 0x2933bf8f, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   7832 #endif
   7833 #else
   7834 typedef struct IXMLDOMImplementationVtbl {
   7835     BEGIN_INTERFACE
   7836 
   7837     /*** IUnknown methods ***/
   7838     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7839         IXMLDOMImplementation *This,
   7840         REFIID riid,
   7841         void **ppvObject);
   7842 
   7843     ULONG (STDMETHODCALLTYPE *AddRef)(
   7844         IXMLDOMImplementation *This);
   7845 
   7846     ULONG (STDMETHODCALLTYPE *Release)(
   7847         IXMLDOMImplementation *This);
   7848 
   7849     /*** IDispatch methods ***/
   7850     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7851         IXMLDOMImplementation *This,
   7852         UINT *pctinfo);
   7853 
   7854     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   7855         IXMLDOMImplementation *This,
   7856         UINT iTInfo,
   7857         LCID lcid,
   7858         ITypeInfo **ppTInfo);
   7859 
   7860     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7861         IXMLDOMImplementation *This,
   7862         REFIID riid,
   7863         LPOLESTR *rgszNames,
   7864         UINT cNames,
   7865         LCID lcid,
   7866         DISPID *rgDispId);
   7867 
   7868     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7869         IXMLDOMImplementation *This,
   7870         DISPID dispIdMember,
   7871         REFIID riid,
   7872         LCID lcid,
   7873         WORD wFlags,
   7874         DISPPARAMS *pDispParams,
   7875         VARIANT *pVarResult,
   7876         EXCEPINFO *pExcepInfo,
   7877         UINT *puArgErr);
   7878 
   7879     /*** IXMLDOMImplementation methods ***/
   7880     HRESULT (STDMETHODCALLTYPE *hasFeature)(
   7881         IXMLDOMImplementation *This,
   7882         BSTR feature,
   7883         BSTR version,
   7884         VARIANT_BOOL *pbool);
   7885 
   7886     END_INTERFACE
   7887 } IXMLDOMImplementationVtbl;
   7888 
   7889 interface IXMLDOMImplementation {
   7890     CONST_VTBL IXMLDOMImplementationVtbl* lpVtbl;
   7891 };
   7892 
   7893 #ifdef COBJMACROS
   7894 #ifndef WIDL_C_INLINE_WRAPPERS
   7895 /*** IUnknown methods ***/
   7896 #define IXMLDOMImplementation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7897 #define IXMLDOMImplementation_AddRef(This) (This)->lpVtbl->AddRef(This)
   7898 #define IXMLDOMImplementation_Release(This) (This)->lpVtbl->Release(This)
   7899 /*** IDispatch methods ***/
   7900 #define IXMLDOMImplementation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7901 #define IXMLDOMImplementation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7902 #define IXMLDOMImplementation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7903 #define IXMLDOMImplementation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7904 /*** IXMLDOMImplementation methods ***/
   7905 #define IXMLDOMImplementation_hasFeature(This,feature,version,pbool) (This)->lpVtbl->hasFeature(This,feature,version,pbool)
   7906 #else
   7907 /*** IUnknown methods ***/
   7908 static inline HRESULT IXMLDOMImplementation_QueryInterface(IXMLDOMImplementation* This,REFIID riid,void **ppvObject) {
   7909     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7910 }
   7911 static inline ULONG IXMLDOMImplementation_AddRef(IXMLDOMImplementation* This) {
   7912     return This->lpVtbl->AddRef(This);
   7913 }
   7914 static inline ULONG IXMLDOMImplementation_Release(IXMLDOMImplementation* This) {
   7915     return This->lpVtbl->Release(This);
   7916 }
   7917 /*** IDispatch methods ***/
   7918 static inline HRESULT IXMLDOMImplementation_GetTypeInfoCount(IXMLDOMImplementation* This,UINT *pctinfo) {
   7919     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7920 }
   7921 static inline HRESULT IXMLDOMImplementation_GetTypeInfo(IXMLDOMImplementation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7922     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7923 }
   7924 static inline HRESULT IXMLDOMImplementation_GetIDsOfNames(IXMLDOMImplementation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7925     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7926 }
   7927 static inline HRESULT IXMLDOMImplementation_Invoke(IXMLDOMImplementation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7928     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7929 }
   7930 /*** IXMLDOMImplementation methods ***/
   7931 static inline HRESULT IXMLDOMImplementation_hasFeature(IXMLDOMImplementation* This,BSTR feature,BSTR version,VARIANT_BOOL *pbool) {
   7932     return This->lpVtbl->hasFeature(This,feature,version,pbool);
   7933 }
   7934 #endif
   7935 #endif
   7936 
   7937 #endif
   7938 
   7939 
   7940 #endif  /* __IXMLDOMImplementation_INTERFACE_DEFINED__ */
   7941 
   7942 /*****************************************************************************
   7943  * IXMLDOMParseError interface
   7944  */
   7945 #ifndef __IXMLDOMParseError_INTERFACE_DEFINED__
   7946 #define __IXMLDOMParseError_INTERFACE_DEFINED__
   7947 
   7948 DEFINE_GUID(IID_IXMLDOMParseError, 0x3efaa426, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82);
   7949 #if defined(__cplusplus) && !defined(CINTERFACE)
   7950 MIDL_INTERFACE("3efaa426-272f-11d2-836f-0000f87a7782")
   7951 IXMLDOMParseError : public IDispatch
   7952 {
   7953     virtual HRESULT STDMETHODCALLTYPE get_errorCode(
   7954         LONG *errCode) = 0;
   7955 
   7956     virtual HRESULT STDMETHODCALLTYPE get_url(
   7957         BSTR *p) = 0;
   7958 
   7959     virtual HRESULT STDMETHODCALLTYPE get_reason(
   7960         BSTR *p) = 0;
   7961 
   7962     virtual HRESULT STDMETHODCALLTYPE get_srcText(
   7963         BSTR *p) = 0;
   7964 
   7965     virtual HRESULT STDMETHODCALLTYPE get_line(
   7966         LONG *lineNo) = 0;
   7967 
   7968     virtual HRESULT STDMETHODCALLTYPE get_linepos(
   7969         LONG *linePos) = 0;
   7970 
   7971     virtual HRESULT STDMETHODCALLTYPE get_filepos(
   7972         LONG *filePos) = 0;
   7973 
   7974 };
   7975 #ifdef __CRT_UUID_DECL
   7976 __CRT_UUID_DECL(IXMLDOMParseError, 0x3efaa426, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82)
   7977 #endif
   7978 #else
   7979 typedef struct IXMLDOMParseErrorVtbl {
   7980     BEGIN_INTERFACE
   7981 
   7982     /*** IUnknown methods ***/
   7983     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7984         IXMLDOMParseError *This,
   7985         REFIID riid,
   7986         void **ppvObject);
   7987 
   7988     ULONG (STDMETHODCALLTYPE *AddRef)(
   7989         IXMLDOMParseError *This);
   7990 
   7991     ULONG (STDMETHODCALLTYPE *Release)(
   7992         IXMLDOMParseError *This);
   7993 
   7994     /*** IDispatch methods ***/
   7995     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7996         IXMLDOMParseError *This,
   7997         UINT *pctinfo);
   7998 
   7999     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8000         IXMLDOMParseError *This,
   8001         UINT iTInfo,
   8002         LCID lcid,
   8003         ITypeInfo **ppTInfo);
   8004 
   8005     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8006         IXMLDOMParseError *This,
   8007         REFIID riid,
   8008         LPOLESTR *rgszNames,
   8009         UINT cNames,
   8010         LCID lcid,
   8011         DISPID *rgDispId);
   8012 
   8013     HRESULT (STDMETHODCALLTYPE *Invoke)(
   8014         IXMLDOMParseError *This,
   8015         DISPID dispIdMember,
   8016         REFIID riid,
   8017         LCID lcid,
   8018         WORD wFlags,
   8019         DISPPARAMS *pDispParams,
   8020         VARIANT *pVarResult,
   8021         EXCEPINFO *pExcepInfo,
   8022         UINT *puArgErr);
   8023 
   8024     /*** IXMLDOMParseError methods ***/
   8025     HRESULT (STDMETHODCALLTYPE *get_errorCode)(
   8026         IXMLDOMParseError *This,
   8027         LONG *errCode);
   8028 
   8029     HRESULT (STDMETHODCALLTYPE *get_url)(
   8030         IXMLDOMParseError *This,
   8031         BSTR *p);
   8032 
   8033     HRESULT (STDMETHODCALLTYPE *get_reason)(
   8034         IXMLDOMParseError *This,
   8035         BSTR *p);
   8036 
   8037     HRESULT (STDMETHODCALLTYPE *get_srcText)(
   8038         IXMLDOMParseError *This,
   8039         BSTR *p);
   8040 
   8041     HRESULT (STDMETHODCALLTYPE *get_line)(
   8042         IXMLDOMParseError *This,
   8043         LONG *lineNo);
   8044 
   8045     HRESULT (STDMETHODCALLTYPE *get_linepos)(
   8046         IXMLDOMParseError *This,
   8047         LONG *linePos);
   8048 
   8049     HRESULT (STDMETHODCALLTYPE *get_filepos)(
   8050         IXMLDOMParseError *This,
   8051         LONG *filePos);
   8052 
   8053     END_INTERFACE
   8054 } IXMLDOMParseErrorVtbl;
   8055 
   8056 interface IXMLDOMParseError {
   8057     CONST_VTBL IXMLDOMParseErrorVtbl* lpVtbl;
   8058 };
   8059 
   8060 #ifdef COBJMACROS
   8061 #ifndef WIDL_C_INLINE_WRAPPERS
   8062 /*** IUnknown methods ***/
   8063 #define IXMLDOMParseError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8064 #define IXMLDOMParseError_AddRef(This) (This)->lpVtbl->AddRef(This)
   8065 #define IXMLDOMParseError_Release(This) (This)->lpVtbl->Release(This)
   8066 /*** IDispatch methods ***/
   8067 #define IXMLDOMParseError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   8068 #define IXMLDOMParseError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   8069 #define IXMLDOMParseError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   8070 #define IXMLDOMParseError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   8071 /*** IXMLDOMParseError methods ***/
   8072 #define IXMLDOMParseError_get_errorCode(This,errCode) (This)->lpVtbl->get_errorCode(This,errCode)
   8073 #define IXMLDOMParseError_get_url(This,p) (This)->lpVtbl->get_url(This,p)
   8074 #define IXMLDOMParseError_get_reason(This,p) (This)->lpVtbl->get_reason(This,p)
   8075 #define IXMLDOMParseError_get_srcText(This,p) (This)->lpVtbl->get_srcText(This,p)
   8076 #define IXMLDOMParseError_get_line(This,lineNo) (This)->lpVtbl->get_line(This,lineNo)
   8077 #define IXMLDOMParseError_get_linepos(This,linePos) (This)->lpVtbl->get_linepos(This,linePos)
   8078 #define IXMLDOMParseError_get_filepos(This,filePos) (This)->lpVtbl->get_filepos(This,filePos)
   8079 #else
   8080 /*** IUnknown methods ***/
   8081 static inline HRESULT IXMLDOMParseError_QueryInterface(IXMLDOMParseError* This,REFIID riid,void **ppvObject) {
   8082     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8083 }
   8084 static inline ULONG IXMLDOMParseError_AddRef(IXMLDOMParseError* This) {
   8085     return This->lpVtbl->AddRef(This);
   8086 }
   8087 static inline ULONG IXMLDOMParseError_Release(IXMLDOMParseError* This) {
   8088     return This->lpVtbl->Release(This);
   8089 }
   8090 /*** IDispatch methods ***/
   8091 static inline HRESULT IXMLDOMParseError_GetTypeInfoCount(IXMLDOMParseError* This,UINT *pctinfo) {
   8092     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   8093 }
   8094 static inline HRESULT IXMLDOMParseError_GetTypeInfo(IXMLDOMParseError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   8095     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   8096 }
   8097 static inline HRESULT IXMLDOMParseError_GetIDsOfNames(IXMLDOMParseError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   8098     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   8099 }
   8100 static inline HRESULT IXMLDOMParseError_Invoke(IXMLDOMParseError* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   8101     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   8102 }
   8103 /*** IXMLDOMParseError methods ***/
   8104 static inline HRESULT IXMLDOMParseError_get_errorCode(IXMLDOMParseError* This,LONG *errCode) {
   8105     return This->lpVtbl->get_errorCode(This,errCode);
   8106 }
   8107 static inline HRESULT IXMLDOMParseError_get_url(IXMLDOMParseError* This,BSTR *p) {
   8108     return This->lpVtbl->get_url(This,p);
   8109 }
   8110 static inline HRESULT IXMLDOMParseError_get_reason(IXMLDOMParseError* This,BSTR *p) {
   8111     return This->lpVtbl->get_reason(This,p);
   8112 }
   8113 static inline HRESULT IXMLDOMParseError_get_srcText(IXMLDOMParseError* This,BSTR *p) {
   8114     return This->lpVtbl->get_srcText(This,p);
   8115 }
   8116 static inline HRESULT IXMLDOMParseError_get_line(IXMLDOMParseError* This,LONG *lineNo) {
   8117     return This->lpVtbl->get_line(This,lineNo);
   8118 }
   8119 static inline HRESULT IXMLDOMParseError_get_linepos(IXMLDOMParseError* This,LONG *linePos) {
   8120     return This->lpVtbl->get_linepos(This,linePos);
   8121 }
   8122 static inline HRESULT IXMLDOMParseError_get_filepos(IXMLDOMParseError* This,LONG *filePos) {
   8123     return This->lpVtbl->get_filepos(This,filePos);
   8124 }
   8125 #endif
   8126 #endif
   8127 
   8128 #endif
   8129 
   8130 
   8131 #endif  /* __IXMLDOMParseError_INTERFACE_DEFINED__ */
   8132 
   8133 /*****************************************************************************
   8134  * XMLDOMDocumentEvents dispinterface
   8135  */
   8136 #ifndef __XMLDOMDocumentEvents_DISPINTERFACE_DEFINED__
   8137 #define __XMLDOMDocumentEvents_DISPINTERFACE_DEFINED__
   8138 
   8139 DEFINE_GUID(DIID_XMLDOMDocumentEvents, 0x3efaa427, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82);
   8140 #if defined(__cplusplus) && !defined(CINTERFACE)
   8141 MIDL_INTERFACE("3efaa427-272f-11d2-836f-0000f87a7782")
   8142 XMLDOMDocumentEvents : public IDispatch
   8143 {
   8144 };
   8145 #ifdef __CRT_UUID_DECL
   8146 __CRT_UUID_DECL(XMLDOMDocumentEvents, 0x3efaa427, 0x272f, 0x11d2, 0x83,0x6f, 0x00,0x00,0xf8,0x7a,0x77,0x82)
   8147 #endif
   8148 #else
   8149 typedef struct XMLDOMDocumentEventsVtbl {
   8150     BEGIN_INTERFACE
   8151 
   8152     /*** IUnknown methods ***/
   8153     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8154         XMLDOMDocumentEvents *This,
   8155         REFIID riid,
   8156         void **ppvObject);
   8157 
   8158     ULONG (STDMETHODCALLTYPE *AddRef)(
   8159         XMLDOMDocumentEvents *This);
   8160 
   8161     ULONG (STDMETHODCALLTYPE *Release)(
   8162         XMLDOMDocumentEvents *This);
   8163 
   8164     /*** IDispatch methods ***/
   8165     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   8166         XMLDOMDocumentEvents *This,
   8167         UINT *pctinfo);
   8168 
   8169     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8170         XMLDOMDocumentEvents *This,
   8171         UINT iTInfo,
   8172         LCID lcid,
   8173         ITypeInfo **ppTInfo);
   8174 
   8175     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8176         XMLDOMDocumentEvents *This,
   8177         REFIID riid,
   8178         LPOLESTR *rgszNames,
   8179         UINT cNames,
   8180         LCID lcid,
   8181         DISPID *rgDispId);
   8182 
   8183     HRESULT (STDMETHODCALLTYPE *Invoke)(
   8184         XMLDOMDocumentEvents *This,
   8185         DISPID dispIdMember,
   8186         REFIID riid,
   8187         LCID lcid,
   8188         WORD wFlags,
   8189         DISPPARAMS *pDispParams,
   8190         VARIANT *pVarResult,
   8191         EXCEPINFO *pExcepInfo,
   8192         UINT *puArgErr);
   8193 
   8194     END_INTERFACE
   8195 } XMLDOMDocumentEventsVtbl;
   8196 
   8197 interface XMLDOMDocumentEvents {
   8198     CONST_VTBL XMLDOMDocumentEventsVtbl* lpVtbl;
   8199 };
   8200 
   8201 #ifdef COBJMACROS
   8202 #ifndef WIDL_C_INLINE_WRAPPERS
   8203 /*** IUnknown methods ***/
   8204 #define XMLDOMDocumentEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8205 #define XMLDOMDocumentEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   8206 #define XMLDOMDocumentEvents_Release(This) (This)->lpVtbl->Release(This)
   8207 /*** IDispatch methods ***/
   8208 #define XMLDOMDocumentEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   8209 #define XMLDOMDocumentEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   8210 #define XMLDOMDocumentEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   8211 #define XMLDOMDocumentEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   8212 #else
   8213 /*** IUnknown methods ***/
   8214 static inline HRESULT XMLDOMDocumentEvents_QueryInterface(XMLDOMDocumentEvents* This,REFIID riid,void **ppvObject) {
   8215     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8216 }
   8217 static inline ULONG XMLDOMDocumentEvents_AddRef(XMLDOMDocumentEvents* This) {
   8218     return This->lpVtbl->AddRef(This);
   8219 }
   8220 static inline ULONG XMLDOMDocumentEvents_Release(XMLDOMDocumentEvents* This) {
   8221     return This->lpVtbl->Release(This);
   8222 }
   8223 /*** IDispatch methods ***/
   8224 static inline HRESULT XMLDOMDocumentEvents_GetTypeInfoCount(XMLDOMDocumentEvents* This,UINT *pctinfo) {
   8225     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   8226 }
   8227 static inline HRESULT XMLDOMDocumentEvents_GetTypeInfo(XMLDOMDocumentEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   8228     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   8229 }
   8230 static inline HRESULT XMLDOMDocumentEvents_GetIDsOfNames(XMLDOMDocumentEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   8231     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   8232 }
   8233 static inline HRESULT XMLDOMDocumentEvents_Invoke(XMLDOMDocumentEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   8234     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   8235 }
   8236 #endif
   8237 #endif
   8238 
   8239 #endif
   8240 
   8241 #endif  /* __XMLDOMDocumentEvents_DISPINTERFACE_DEFINED__ */
   8242 
   8243 /*****************************************************************************
   8244  * DOMDocument coclass
   8245  */
   8246 
   8247 DEFINE_GUID(CLSID_DOMDocument, 0x2933bf90, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   8248 
   8249 #ifdef __cplusplus
   8250 class DECLSPEC_UUID("2933bf90-7b36-11d2-b20e-00c04f983e60") DOMDocument;
   8251 #ifdef __CRT_UUID_DECL
   8252 __CRT_UUID_DECL(DOMDocument, 0x2933bf90, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   8253 #endif
   8254 #endif
   8255 
   8256 /*****************************************************************************
   8257  * DOMFreeThreadedDocument coclass
   8258  */
   8259 
   8260 DEFINE_GUID(CLSID_DOMFreeThreadedDocument, 0x2933bf91, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60);
   8261 
   8262 #ifdef __cplusplus
   8263 class DECLSPEC_UUID("2933bf91-7b36-11d2-b20e-00c04f983e60") DOMFreeThreadedDocument;
   8264 #ifdef __CRT_UUID_DECL
   8265 __CRT_UUID_DECL(DOMFreeThreadedDocument, 0x2933bf91, 0x7b36, 0x11d2, 0xb2,0x0e, 0x00,0xc0,0x4f,0x98,0x3e,0x60)
   8266 #endif
   8267 #endif
   8268 
   8269 /*****************************************************************************
   8270  * IXMLHttpRequest interface
   8271  */
   8272 #ifndef __IXMLHttpRequest_INTERFACE_DEFINED__
   8273 #define __IXMLHttpRequest_INTERFACE_DEFINED__
   8274 
   8275 DEFINE_GUID(IID_IXMLHttpRequest, 0xed8c108d, 0x4349, 0x11d2, 0x91,0xa4, 0x00,0xc0,0x4f,0x79,0x69,0xe8);
   8276 #if defined(__cplusplus) && !defined(CINTERFACE)
   8277 MIDL_INTERFACE("ed8c108d-4349-11d2-91a4-00c04f7969e8")
   8278 IXMLHttpRequest : public IDispatch
   8279 {
   8280     virtual HRESULT STDMETHODCALLTYPE open(
   8281         BSTR bstrMethod,
   8282         BSTR bstrUrl,
   8283         VARIANT varAsync,
   8284         VARIANT varUser,
   8285         VARIANT varPassword) = 0;
   8286 
   8287     virtual HRESULT STDMETHODCALLTYPE setRequestHeader(
   8288         BSTR bstrHeader,
   8289         BSTR bstrValue) = 0;
   8290 
   8291     virtual HRESULT STDMETHODCALLTYPE getResponseHeader(
   8292         BSTR bstrHeader,
   8293         BSTR *pbstrValue) = 0;
   8294 
   8295     virtual HRESULT STDMETHODCALLTYPE getAllResponseHeaders(
   8296         BSTR *pbstrHeaders) = 0;
   8297 
   8298     virtual HRESULT STDMETHODCALLTYPE send(
   8299         VARIANT varBody) = 0;
   8300 
   8301     virtual HRESULT STDMETHODCALLTYPE abort(
   8302         ) = 0;
   8303 
   8304     virtual HRESULT STDMETHODCALLTYPE get_status(
   8305         LONG *plStatus) = 0;
   8306 
   8307     virtual HRESULT STDMETHODCALLTYPE get_statusText(
   8308         BSTR *bstrStatus) = 0;
   8309 
   8310     virtual HRESULT STDMETHODCALLTYPE get_responseXML(
   8311         IDispatch **ppBody) = 0;
   8312 
   8313     virtual HRESULT STDMETHODCALLTYPE get_responseText(
   8314         BSTR *pbstrBody) = 0;
   8315 
   8316     virtual HRESULT STDMETHODCALLTYPE get_responseBody(
   8317         VARIANT *pvarBody) = 0;
   8318 
   8319     virtual HRESULT STDMETHODCALLTYPE get_responseStream(
   8320         VARIANT *pvarBody) = 0;
   8321 
   8322     virtual HRESULT STDMETHODCALLTYPE get_readyState(
   8323         LONG *plState) = 0;
   8324 
   8325     virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
   8326         IDispatch *pReadyStateSink) = 0;
   8327 
   8328 };
   8329 #ifdef __CRT_UUID_DECL
   8330 __CRT_UUID_DECL(IXMLHttpRequest, 0xed8c108d, 0x4349, 0x11d2, 0x91,0xa4, 0x00,0xc0,0x4f,0x79,0x69,0xe8)
   8331 #endif
   8332 #else
   8333 typedef struct IXMLHttpRequestVtbl {
   8334     BEGIN_INTERFACE
   8335 
   8336     /*** IUnknown methods ***/
   8337     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8338         IXMLHttpRequest *This,
   8339         REFIID riid,
   8340         void **ppvObject);
   8341 
   8342     ULONG (STDMETHODCALLTYPE *AddRef)(
   8343         IXMLHttpRequest *This);
   8344 
   8345     ULONG (STDMETHODCALLTYPE *Release)(
   8346         IXMLHttpRequest *This);
   8347 
   8348     /*** IDispatch methods ***/
   8349     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   8350         IXMLHttpRequest *This,
   8351         UINT *pctinfo);
   8352 
   8353     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8354         IXMLHttpRequest *This,
   8355         UINT iTInfo,
   8356         LCID lcid,
   8357         ITypeInfo **ppTInfo);
   8358 
   8359     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8360         IXMLHttpRequest *This,
   8361         REFIID riid,
   8362         LPOLESTR *rgszNames,
   8363         UINT cNames,
   8364         LCID lcid,
   8365         DISPID *rgDispId);
   8366 
   8367     HRESULT (STDMETHODCALLTYPE *Invoke)(
   8368         IXMLHttpRequest *This,
   8369         DISPID dispIdMember,
   8370         REFIID riid,
   8371         LCID lcid,
   8372         WORD wFlags,
   8373         DISPPARAMS *pDispParams,
   8374         VARIANT *pVarResult,
   8375         EXCEPINFO *pExcepInfo,
   8376         UINT *puArgErr);
   8377 
   8378     /*** IXMLHttpRequest methods ***/
   8379     HRESULT (STDMETHODCALLTYPE *open)(
   8380         IXMLHttpRequest *This,
   8381         BSTR bstrMethod,
   8382         BSTR bstrUrl,
   8383         VARIANT varAsync,
   8384         VARIANT varUser,
   8385         VARIANT varPassword);
   8386 
   8387     HRESULT (STDMETHODCALLTYPE *setRequestHeader)(
   8388         IXMLHttpRequest *This,
   8389         BSTR bstrHeader,
   8390         BSTR bstrValue);
   8391 
   8392     HRESULT (STDMETHODCALLTYPE *getResponseHeader)(
   8393         IXMLHttpRequest *This,
   8394         BSTR bstrHeader,
   8395         BSTR *pbstrValue);
   8396 
   8397     HRESULT (STDMETHODCALLTYPE *getAllResponseHeaders)(
   8398         IXMLHttpRequest *This,
   8399         BSTR *pbstrHeaders);
   8400 
   8401     HRESULT (STDMETHODCALLTYPE *send)(
   8402         IXMLHttpRequest *This,
   8403         VARIANT varBody);
   8404 
   8405     HRESULT (STDMETHODCALLTYPE *abort)(
   8406         IXMLHttpRequest *This);
   8407 
   8408     HRESULT (STDMETHODCALLTYPE *get_status)(
   8409         IXMLHttpRequest *This,
   8410         LONG *plStatus);
   8411 
   8412     HRESULT (STDMETHODCALLTYPE *get_statusText)(
   8413         IXMLHttpRequest *This,
   8414         BSTR *bstrStatus);
   8415 
   8416     HRESULT (STDMETHODCALLTYPE *get_responseXML)(
   8417         IXMLHttpRequest *This,
   8418         IDispatch **ppBody);
   8419 
   8420     HRESULT (STDMETHODCALLTYPE *get_responseText)(
   8421         IXMLHttpRequest *This,
   8422         BSTR *pbstrBody);
   8423 
   8424     HRESULT (STDMETHODCALLTYPE *get_responseBody)(
   8425         IXMLHttpRequest *This,
   8426         VARIANT *pvarBody);
   8427 
   8428     HRESULT (STDMETHODCALLTYPE *get_responseStream)(
   8429         IXMLHttpRequest *This,
   8430         VARIANT *pvarBody);
   8431 
   8432     HRESULT (STDMETHODCALLTYPE *get_readyState)(
   8433         IXMLHttpRequest *This,
   8434         LONG *plState);
   8435 
   8436     HRESULT (STDMETHODCALLTYPE *put_onreadystatechange)(
   8437         IXMLHttpRequest *This,
   8438         IDispatch *pReadyStateSink);
   8439 
   8440     END_INTERFACE
   8441 } IXMLHttpRequestVtbl;
   8442 
   8443 interface IXMLHttpRequest {
   8444     CONST_VTBL IXMLHttpRequestVtbl* lpVtbl;
   8445 };
   8446 
   8447 #ifdef COBJMACROS
   8448 #ifndef WIDL_C_INLINE_WRAPPERS
   8449 /*** IUnknown methods ***/
   8450 #define IXMLHttpRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8451 #define IXMLHttpRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
   8452 #define IXMLHttpRequest_Release(This) (This)->lpVtbl->Release(This)
   8453 /*** IDispatch methods ***/
   8454 #define IXMLHttpRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   8455 #define IXMLHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   8456 #define IXMLHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   8457 #define IXMLHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   8458 /*** IXMLHttpRequest methods ***/
   8459 #define IXMLHttpRequest_open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword) (This)->lpVtbl->open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword)
   8460 #define IXMLHttpRequest_setRequestHeader(This,bstrHeader,bstrValue) (This)->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue)
   8461 #define IXMLHttpRequest_getResponseHeader(This,bstrHeader,pbstrValue) (This)->lpVtbl->getResponseHeader(This,bstrHeader,pbstrValue)
   8462 #define IXMLHttpRequest_getAllResponseHeaders(This,pbstrHeaders) (This)->lpVtbl->getAllResponseHeaders(This,pbstrHeaders)
   8463 #define IXMLHttpRequest_send(This,varBody) (This)->lpVtbl->send(This,varBody)
   8464 #define IXMLHttpRequest_abort(This) (This)->lpVtbl->abort(This)
   8465 #define IXMLHttpRequest_get_status(This,plStatus) (This)->lpVtbl->get_status(This,plStatus)
   8466 #define IXMLHttpRequest_get_statusText(This,bstrStatus) (This)->lpVtbl->get_statusText(This,bstrStatus)
   8467 #define IXMLHttpRequest_get_responseXML(This,ppBody) (This)->lpVtbl->get_responseXML(This,ppBody)
   8468 #define IXMLHttpRequest_get_responseText(This,pbstrBody) (This)->lpVtbl->get_responseText(This,pbstrBody)
   8469 #define IXMLHttpRequest_get_responseBody(This,pvarBody) (This)->lpVtbl->get_responseBody(This,pvarBody)
   8470 #define IXMLHttpRequest_get_responseStream(This,pvarBody) (This)->lpVtbl->get_responseStream(This,pvarBody)
   8471 #define IXMLHttpRequest_get_readyState(This,plState) (This)->lpVtbl->get_readyState(This,plState)
   8472 #define IXMLHttpRequest_put_onreadystatechange(This,pReadyStateSink) (This)->lpVtbl->put_onreadystatechange(This,pReadyStateSink)
   8473 #else
   8474 /*** IUnknown methods ***/
   8475 static inline HRESULT IXMLHttpRequest_QueryInterface(IXMLHttpRequest* This,REFIID riid,void **ppvObject) {
   8476     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8477 }
   8478 static inline ULONG IXMLHttpRequest_AddRef(IXMLHttpRequest* This) {
   8479     return This->lpVtbl->AddRef(This);
   8480 }
   8481 static inline ULONG IXMLHttpRequest_Release(IXMLHttpRequest* This) {
   8482     return This->lpVtbl->Release(This);
   8483 }
   8484 /*** IDispatch methods ***/
   8485 static inline HRESULT IXMLHttpRequest_GetTypeInfoCount(IXMLHttpRequest* This,UINT *pctinfo) {
   8486     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   8487 }
   8488 static inline HRESULT IXMLHttpRequest_GetTypeInfo(IXMLHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   8489     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   8490 }
   8491 static inline HRESULT IXMLHttpRequest_GetIDsOfNames(IXMLHttpRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   8492     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   8493 }
   8494 static inline HRESULT IXMLHttpRequest_Invoke(IXMLHttpRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   8495     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   8496 }
   8497 /*** IXMLHttpRequest methods ***/
   8498 static inline HRESULT IXMLHttpRequest_open(IXMLHttpRequest* This,BSTR bstrMethod,BSTR bstrUrl,VARIANT varAsync,VARIANT varUser,VARIANT varPassword) {
   8499     return This->lpVtbl->open(This,bstrMethod,bstrUrl,varAsync,varUser,varPassword);
   8500 }
   8501 static inline HRESULT IXMLHttpRequest_setRequestHeader(IXMLHttpRequest* This,BSTR bstrHeader,BSTR bstrValue) {
   8502     return This->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue);
   8503 }
   8504 static inline HRESULT IXMLHttpRequest_getResponseHeader(IXMLHttpRequest* This,BSTR bstrHeader,BSTR *pbstrValue) {
   8505     return This->lpVtbl->getResponseHeader(This,bstrHeader,pbstrValue);
   8506 }
   8507 static inline HRESULT IXMLHttpRequest_getAllResponseHeaders(IXMLHttpRequest* This,BSTR *pbstrHeaders) {
   8508     return This->lpVtbl->getAllResponseHeaders(This,pbstrHeaders);
   8509 }
   8510 static inline HRESULT IXMLHttpRequest_send(IXMLHttpRequest* This,VARIANT varBody) {
   8511     return This->lpVtbl->send(This,varBody);
   8512 }
   8513 static inline HRESULT IXMLHttpRequest_abort(IXMLHttpRequest* This) {
   8514     return This->lpVtbl->abort(This);
   8515 }
   8516 static inline HRESULT IXMLHttpRequest_get_status(IXMLHttpRequest* This,LONG *plStatus) {
   8517     return This->lpVtbl->get_status(This,plStatus);
   8518 }
   8519 static inline HRESULT IXMLHttpRequest_get_statusText(IXMLHttpRequest* This,BSTR *bstrStatus) {
   8520     return This->lpVtbl->get_statusText(This,bstrStatus);
   8521 }
   8522 static inline HRESULT IXMLHttpRequest_get_responseXML(IXMLHttpRequest* This,IDispatch **ppBody) {
   8523     return This->lpVtbl->get_responseXML(This,ppBody);
   8524 }
   8525 static inline HRESULT IXMLHttpRequest_get_responseText(IXMLHttpRequest* This,BSTR *pbstrBody) {
   8526     return This->lpVtbl->get_responseText(This,pbstrBody);
   8527 }
   8528 static inline HRESULT IXMLHttpRequest_get_responseBody(IXMLHttpRequest* This,VARIANT *pvarBody) {
   8529     return This->lpVtbl->get_responseBody(This,pvarBody);
   8530 }
   8531 static inline HRESULT IXMLHttpRequest_get_responseStream(IXMLHttpRequest* This,VARIANT *pvarBody) {
   8532     return This->lpVtbl->get_responseStream(This,pvarBody);
   8533 }
   8534 static inline HRESULT IXMLHttpRequest_get_readyState(IXMLHttpRequest* This,LONG *plState) {
   8535     return This->lpVtbl->get_readyState(This,plState);
   8536 }
   8537 static inline HRESULT IXMLHttpRequest_put_onreadystatechange(IXMLHttpRequest* This,IDispatch *pReadyStateSink) {
   8538     return This->lpVtbl->put_onreadystatechange(This,pReadyStateSink);
   8539 }
   8540 #endif
   8541 #endif
   8542 
   8543 #endif
   8544 
   8545 
   8546 #endif  /* __IXMLHttpRequest_INTERFACE_DEFINED__ */
   8547 
   8548 /*****************************************************************************
   8549  * XMLHTTPRequest coclass
   8550  */
   8551 
   8552 DEFINE_GUID(CLSID_XMLHTTPRequest, 0xed8c108e, 0x4349, 0x11d2, 0x91,0xa4, 0x00,0xc0,0x4f,0x79,0x69,0xe8);
   8553 
   8554 #ifdef __cplusplus
   8555 class DECLSPEC_UUID("ed8c108e-4349-11d2-91a4-00c04f7969e8") XMLHTTPRequest;
   8556 #ifdef __CRT_UUID_DECL
   8557 __CRT_UUID_DECL(XMLHTTPRequest, 0xed8c108e, 0x4349, 0x11d2, 0x91,0xa4, 0x00,0xc0,0x4f,0x79,0x69,0xe8)
   8558 #endif
   8559 #endif
   8560 
   8561 #ifndef __IXMLDOMDocument_FWD_DEFINED__
   8562 #define __IXMLDOMDocument_FWD_DEFINED__
   8563 typedef interface IXMLDOMDocument IXMLDOMDocument;
   8564 #ifdef __cplusplus
   8565 interface IXMLDOMDocument;
   8566 #endif /* __cplusplus */
   8567 #endif
   8568 
   8569 /*****************************************************************************
   8570  * IXMLDSOControl interface
   8571  */
   8572 #ifndef __IXMLDSOControl_INTERFACE_DEFINED__
   8573 #define __IXMLDSOControl_INTERFACE_DEFINED__
   8574 
   8575 DEFINE_GUID(IID_IXMLDSOControl, 0x310afa62, 0x0575, 0x11d2, 0x9c,0xa9, 0x00,0x60,0xb0,0xec,0x3d,0x39);
   8576 #if defined(__cplusplus) && !defined(CINTERFACE)
   8577 MIDL_INTERFACE("310afa62-0575-11d2-9ca9-0060b0ec3d39")
   8578 IXMLDSOControl : public IDispatch
   8579 {
   8580     virtual HRESULT STDMETHODCALLTYPE get_XMLDocument(
   8581         IXMLDOMDocument **ppDoc) = 0;
   8582 
   8583     virtual HRESULT STDMETHODCALLTYPE put_XMLDocument(
   8584         IXMLDOMDocument *ppDoc) = 0;
   8585 
   8586     virtual HRESULT STDMETHODCALLTYPE get_JavaDSOCompatible(
   8587         WINBOOL *fJavaDSOCompatible) = 0;
   8588 
   8589     virtual HRESULT STDMETHODCALLTYPE put_JavaDSOCompatible(
   8590         WINBOOL fJavaDSOCompatible) = 0;
   8591 
   8592     virtual HRESULT STDMETHODCALLTYPE get_readyState(
   8593         LONG *state) = 0;
   8594 
   8595 };
   8596 #ifdef __CRT_UUID_DECL
   8597 __CRT_UUID_DECL(IXMLDSOControl, 0x310afa62, 0x0575, 0x11d2, 0x9c,0xa9, 0x00,0x60,0xb0,0xec,0x3d,0x39)
   8598 #endif
   8599 #else
   8600 typedef struct IXMLDSOControlVtbl {
   8601     BEGIN_INTERFACE
   8602 
   8603     /*** IUnknown methods ***/
   8604     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8605         IXMLDSOControl *This,
   8606         REFIID riid,
   8607         void **ppvObject);
   8608 
   8609     ULONG (STDMETHODCALLTYPE *AddRef)(
   8610         IXMLDSOControl *This);
   8611 
   8612     ULONG (STDMETHODCALLTYPE *Release)(
   8613         IXMLDSOControl *This);
   8614 
   8615     /*** IDispatch methods ***/
   8616     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   8617         IXMLDSOControl *This,
   8618         UINT *pctinfo);
   8619 
   8620     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8621         IXMLDSOControl *This,
   8622         UINT iTInfo,
   8623         LCID lcid,
   8624         ITypeInfo **ppTInfo);
   8625 
   8626     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8627         IXMLDSOControl *This,
   8628         REFIID riid,
   8629         LPOLESTR *rgszNames,
   8630         UINT cNames,
   8631         LCID lcid,
   8632         DISPID *rgDispId);
   8633 
   8634     HRESULT (STDMETHODCALLTYPE *Invoke)(
   8635         IXMLDSOControl *This,
   8636         DISPID dispIdMember,
   8637         REFIID riid,
   8638         LCID lcid,
   8639         WORD wFlags,
   8640         DISPPARAMS *pDispParams,
   8641         VARIANT *pVarResult,
   8642         EXCEPINFO *pExcepInfo,
   8643         UINT *puArgErr);
   8644 
   8645     /*** IXMLDSOControl methods ***/
   8646     HRESULT (STDMETHODCALLTYPE *get_XMLDocument)(
   8647         IXMLDSOControl *This,
   8648         IXMLDOMDocument **ppDoc);
   8649 
   8650     HRESULT (STDMETHODCALLTYPE *put_XMLDocument)(
   8651         IXMLDSOControl *This,
   8652         IXMLDOMDocument *ppDoc);
   8653 
   8654     HRESULT (STDMETHODCALLTYPE *get_JavaDSOCompatible)(
   8655         IXMLDSOControl *This,
   8656         WINBOOL *fJavaDSOCompatible);
   8657 
   8658     HRESULT (STDMETHODCALLTYPE *put_JavaDSOCompatible)(
   8659         IXMLDSOControl *This,
   8660         WINBOOL fJavaDSOCompatible);
   8661 
   8662     HRESULT (STDMETHODCALLTYPE *get_readyState)(
   8663         IXMLDSOControl *This,
   8664         LONG *state);
   8665 
   8666     END_INTERFACE
   8667 } IXMLDSOControlVtbl;
   8668 
   8669 interface IXMLDSOControl {
   8670     CONST_VTBL IXMLDSOControlVtbl* lpVtbl;
   8671 };
   8672 
   8673 #ifdef COBJMACROS
   8674 #ifndef WIDL_C_INLINE_WRAPPERS
   8675 /*** IUnknown methods ***/
   8676 #define IXMLDSOControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8677 #define IXMLDSOControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   8678 #define IXMLDSOControl_Release(This) (This)->lpVtbl->Release(This)
   8679 /*** IDispatch methods ***/
   8680 #define IXMLDSOControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   8681 #define IXMLDSOControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   8682 #define IXMLDSOControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   8683 #define IXMLDSOControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   8684 /*** IXMLDSOControl methods ***/
   8685 #define IXMLDSOControl_get_XMLDocument(This,ppDoc) (This)->lpVtbl->get_XMLDocument(This,ppDoc)
   8686 #define IXMLDSOControl_put_XMLDocument(This,ppDoc) (This)->lpVtbl->put_XMLDocument(This,ppDoc)
   8687 #define IXMLDSOControl_get_JavaDSOCompatible(This,fJavaDSOCompatible) (This)->lpVtbl->get_JavaDSOCompatible(This,fJavaDSOCompatible)
   8688 #define IXMLDSOControl_put_JavaDSOCompatible(This,fJavaDSOCompatible) (This)->lpVtbl->put_JavaDSOCompatible(This,fJavaDSOCompatible)
   8689 #define IXMLDSOControl_get_readyState(This,state) (This)->lpVtbl->get_readyState(This,state)
   8690 #else
   8691 /*** IUnknown methods ***/
   8692 static inline HRESULT IXMLDSOControl_QueryInterface(IXMLDSOControl* This,REFIID riid,void **ppvObject) {
   8693     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8694 }
   8695 static inline ULONG IXMLDSOControl_AddRef(IXMLDSOControl* This) {
   8696     return This->lpVtbl->AddRef(This);
   8697 }
   8698 static inline ULONG IXMLDSOControl_Release(IXMLDSOControl* This) {
   8699     return This->lpVtbl->Release(This);
   8700 }
   8701 /*** IDispatch methods ***/
   8702 static inline HRESULT IXMLDSOControl_GetTypeInfoCount(IXMLDSOControl* This,UINT *pctinfo) {
   8703     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   8704 }
   8705 static inline HRESULT IXMLDSOControl_GetTypeInfo(IXMLDSOControl* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   8706     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   8707 }
   8708 static inline HRESULT IXMLDSOControl_GetIDsOfNames(IXMLDSOControl* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   8709     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   8710 }
   8711 static inline HRESULT IXMLDSOControl_Invoke(IXMLDSOControl* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   8712     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   8713 }
   8714 /*** IXMLDSOControl methods ***/
   8715 static inline HRESULT IXMLDSOControl_get_XMLDocument(IXMLDSOControl* This,IXMLDOMDocument **ppDoc) {
   8716     return This->lpVtbl->get_XMLDocument(This,ppDoc);
   8717 }
   8718 static inline HRESULT IXMLDSOControl_put_XMLDocument(IXMLDSOControl* This,IXMLDOMDocument *ppDoc) {
   8719     return This->lpVtbl->put_XMLDocument(This,ppDoc);
   8720 }
   8721 static inline HRESULT IXMLDSOControl_get_JavaDSOCompatible(IXMLDSOControl* This,WINBOOL *fJavaDSOCompatible) {
   8722     return This->lpVtbl->get_JavaDSOCompatible(This,fJavaDSOCompatible);
   8723 }
   8724 static inline HRESULT IXMLDSOControl_put_JavaDSOCompatible(IXMLDSOControl* This,WINBOOL fJavaDSOCompatible) {
   8725     return This->lpVtbl->put_JavaDSOCompatible(This,fJavaDSOCompatible);
   8726 }
   8727 static inline HRESULT IXMLDSOControl_get_readyState(IXMLDSOControl* This,LONG *state) {
   8728     return This->lpVtbl->get_readyState(This,state);
   8729 }
   8730 #endif
   8731 #endif
   8732 
   8733 #endif
   8734 
   8735 
   8736 #endif  /* __IXMLDSOControl_INTERFACE_DEFINED__ */
   8737 
   8738 /*****************************************************************************
   8739  * XMLDSOControl coclass
   8740  */
   8741 
   8742 DEFINE_GUID(CLSID_XMLDSOControl, 0x550dda30, 0x0541, 0x11d2, 0x9c,0xa9, 0x00,0x60,0xb0,0xec,0x3d,0x39);
   8743 
   8744 #ifdef __cplusplus
   8745 class DECLSPEC_UUID("550dda30-0541-11d2-9ca9-0060b0ec3d39") XMLDSOControl;
   8746 #ifdef __CRT_UUID_DECL
   8747 __CRT_UUID_DECL(XMLDSOControl, 0x550dda30, 0x0541, 0x11d2, 0x9c,0xa9, 0x00,0x60,0xb0,0xec,0x3d,0x39)
   8748 #endif
   8749 #endif
   8750 
   8751 /*****************************************************************************
   8752  * IXMLElementCollection interface
   8753  */
   8754 #ifndef __IXMLElementCollection_INTERFACE_DEFINED__
   8755 #define __IXMLElementCollection_INTERFACE_DEFINED__
   8756 
   8757 DEFINE_GUID(IID_IXMLElementCollection, 0x65725580, 0x9b5d, 0x11d0, 0x9b,0xfe, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
   8758 #if defined(__cplusplus) && !defined(CINTERFACE)
   8759 MIDL_INTERFACE("65725580-9b5d-11d0-9bfe-00c04fc99c8e")
   8760 IXMLElementCollection : public IDispatch
   8761 {
   8762     virtual HRESULT STDMETHODCALLTYPE put_length(
   8763         LONG v) = 0;
   8764 
   8765     virtual HRESULT STDMETHODCALLTYPE get_length(
   8766         LONG *p) = 0;
   8767 
   8768     virtual HRESULT STDMETHODCALLTYPE get__newEnum(
   8769         IUnknown **ppUnk) = 0;
   8770 
   8771     virtual HRESULT STDMETHODCALLTYPE item(
   8772         VARIANT var1,
   8773         VARIANT var2,
   8774         IDispatch **ppDisp) = 0;
   8775 
   8776 };
   8777 #ifdef __CRT_UUID_DECL
   8778 __CRT_UUID_DECL(IXMLElementCollection, 0x65725580, 0x9b5d, 0x11d0, 0x9b,0xfe, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e)
   8779 #endif
   8780 #else
   8781 typedef struct IXMLElementCollectionVtbl {
   8782     BEGIN_INTERFACE
   8783 
   8784     /*** IUnknown methods ***/
   8785     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8786         IXMLElementCollection *This,
   8787         REFIID riid,
   8788         void **ppvObject);
   8789 
   8790     ULONG (STDMETHODCALLTYPE *AddRef)(
   8791         IXMLElementCollection *This);
   8792 
   8793     ULONG (STDMETHODCALLTYPE *Release)(
   8794         IXMLElementCollection *This);
   8795 
   8796     /*** IDispatch methods ***/
   8797     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   8798         IXMLElementCollection *This,
   8799         UINT *pctinfo);
   8800 
   8801     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8802         IXMLElementCollection *This,
   8803         UINT iTInfo,
   8804         LCID lcid,
   8805         ITypeInfo **ppTInfo);
   8806 
   8807     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8808         IXMLElementCollection *This,
   8809         REFIID riid,
   8810         LPOLESTR *rgszNames,
   8811         UINT cNames,
   8812         LCID lcid,
   8813         DISPID *rgDispId);
   8814 
   8815     HRESULT (STDMETHODCALLTYPE *Invoke)(
   8816         IXMLElementCollection *This,
   8817         DISPID dispIdMember,
   8818         REFIID riid,
   8819         LCID lcid,
   8820         WORD wFlags,
   8821         DISPPARAMS *pDispParams,
   8822         VARIANT *pVarResult,
   8823         EXCEPINFO *pExcepInfo,
   8824         UINT *puArgErr);
   8825 
   8826     /*** IXMLElementCollection methods ***/
   8827     HRESULT (STDMETHODCALLTYPE *put_length)(
   8828         IXMLElementCollection *This,
   8829         LONG v);
   8830 
   8831     HRESULT (STDMETHODCALLTYPE *get_length)(
   8832         IXMLElementCollection *This,
   8833         LONG *p);
   8834 
   8835     HRESULT (STDMETHODCALLTYPE *get__newEnum)(
   8836         IXMLElementCollection *This,
   8837         IUnknown **ppUnk);
   8838 
   8839     HRESULT (STDMETHODCALLTYPE *item)(
   8840         IXMLElementCollection *This,
   8841         VARIANT var1,
   8842         VARIANT var2,
   8843         IDispatch **ppDisp);
   8844 
   8845     END_INTERFACE
   8846 } IXMLElementCollectionVtbl;
   8847 
   8848 interface IXMLElementCollection {
   8849     CONST_VTBL IXMLElementCollectionVtbl* lpVtbl;
   8850 };
   8851 
   8852 #ifdef COBJMACROS
   8853 #ifndef WIDL_C_INLINE_WRAPPERS
   8854 /*** IUnknown methods ***/
   8855 #define IXMLElementCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8856 #define IXMLElementCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   8857 #define IXMLElementCollection_Release(This) (This)->lpVtbl->Release(This)
   8858 /*** IDispatch methods ***/
   8859 #define IXMLElementCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   8860 #define IXMLElementCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   8861 #define IXMLElementCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   8862 #define IXMLElementCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   8863 /*** IXMLElementCollection methods ***/
   8864 #define IXMLElementCollection_put_length(This,v) (This)->lpVtbl->put_length(This,v)
   8865 #define IXMLElementCollection_get_length(This,p) (This)->lpVtbl->get_length(This,p)
   8866 #define IXMLElementCollection_get__newEnum(This,ppUnk) (This)->lpVtbl->get__newEnum(This,ppUnk)
   8867 #define IXMLElementCollection_item(This,var1,var2,ppDisp) (This)->lpVtbl->item(This,var1,var2,ppDisp)
   8868 #else
   8869 /*** IUnknown methods ***/
   8870 static inline HRESULT IXMLElementCollection_QueryInterface(IXMLElementCollection* This,REFIID riid,void **ppvObject) {
   8871     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8872 }
   8873 static inline ULONG IXMLElementCollection_AddRef(IXMLElementCollection* This) {
   8874     return This->lpVtbl->AddRef(This);
   8875 }
   8876 static inline ULONG IXMLElementCollection_Release(IXMLElementCollection* This) {
   8877     return This->lpVtbl->Release(This);
   8878 }
   8879 /*** IDispatch methods ***/
   8880 static inline HRESULT IXMLElementCollection_GetTypeInfoCount(IXMLElementCollection* This,UINT *pctinfo) {
   8881     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   8882 }
   8883 static inline HRESULT IXMLElementCollection_GetTypeInfo(IXMLElementCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   8884     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   8885 }
   8886 static inline HRESULT IXMLElementCollection_GetIDsOfNames(IXMLElementCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   8887     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   8888 }
   8889 static inline HRESULT IXMLElementCollection_Invoke(IXMLElementCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   8890     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   8891 }
   8892 /*** IXMLElementCollection methods ***/
   8893 static inline HRESULT IXMLElementCollection_put_length(IXMLElementCollection* This,LONG v) {
   8894     return This->lpVtbl->put_length(This,v);
   8895 }
   8896 static inline HRESULT IXMLElementCollection_get_length(IXMLElementCollection* This,LONG *p) {
   8897     return This->lpVtbl->get_length(This,p);
   8898 }
   8899 static inline HRESULT IXMLElementCollection_get__newEnum(IXMLElementCollection* This,IUnknown **ppUnk) {
   8900     return This->lpVtbl->get__newEnum(This,ppUnk);
   8901 }
   8902 static inline HRESULT IXMLElementCollection_item(IXMLElementCollection* This,VARIANT var1,VARIANT var2,IDispatch **ppDisp) {
   8903     return This->lpVtbl->item(This,var1,var2,ppDisp);
   8904 }
   8905 #endif
   8906 #endif
   8907 
   8908 #endif
   8909 
   8910 
   8911 #endif  /* __IXMLElementCollection_INTERFACE_DEFINED__ */
   8912 
   8913 /*****************************************************************************
   8914  * IXMLElement interface
   8915  */
   8916 #ifndef __IXMLElement_INTERFACE_DEFINED__
   8917 #define __IXMLElement_INTERFACE_DEFINED__
   8918 
   8919 DEFINE_GUID(IID_IXMLElement, 0x3f7f31ac, 0xe15f, 0x11d0, 0x9c,0x25, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
   8920 #if defined(__cplusplus) && !defined(CINTERFACE)
   8921 MIDL_INTERFACE("3f7f31ac-e15f-11d0-9c25-00c04fc99c8e")
   8922 IXMLElement : public IDispatch
   8923 {
   8924     virtual HRESULT STDMETHODCALLTYPE get_tagName(
   8925         BSTR *p) = 0;
   8926 
   8927     virtual HRESULT STDMETHODCALLTYPE put_tagName(
   8928         BSTR p) = 0;
   8929 
   8930     virtual HRESULT STDMETHODCALLTYPE get_parent(
   8931         IXMLElement **parent) = 0;
   8932 
   8933     virtual HRESULT STDMETHODCALLTYPE setAttribute(
   8934         BSTR strPropertyName,
   8935         VARIANT PropertyValue) = 0;
   8936 
   8937     virtual HRESULT STDMETHODCALLTYPE getAttribute(
   8938         BSTR strPropertyName,
   8939         VARIANT *PropertyValue) = 0;
   8940 
   8941     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
   8942         BSTR strPropertyName) = 0;
   8943 
   8944     virtual HRESULT STDMETHODCALLTYPE get_children(
   8945         IXMLElementCollection **p) = 0;
   8946 
   8947     virtual HRESULT STDMETHODCALLTYPE get_type(
   8948         LONG *p) = 0;
   8949 
   8950     virtual HRESULT STDMETHODCALLTYPE get_text(
   8951         BSTR *p) = 0;
   8952 
   8953     virtual HRESULT STDMETHODCALLTYPE put_text(
   8954         BSTR p) = 0;
   8955 
   8956     virtual HRESULT STDMETHODCALLTYPE addChild(
   8957         IXMLElement *pChildElem,
   8958         LONG lIndex,
   8959         LONG lreserved) = 0;
   8960 
   8961     virtual HRESULT STDMETHODCALLTYPE removeChild(
   8962         IXMLElement *pChildElem) = 0;
   8963 
   8964 };
   8965 #ifdef __CRT_UUID_DECL
   8966 __CRT_UUID_DECL(IXMLElement, 0x3f7f31ac, 0xe15f, 0x11d0, 0x9c,0x25, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e)
   8967 #endif
   8968 #else
   8969 typedef struct IXMLElementVtbl {
   8970     BEGIN_INTERFACE
   8971 
   8972     /*** IUnknown methods ***/
   8973     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8974         IXMLElement *This,
   8975         REFIID riid,
   8976         void **ppvObject);
   8977 
   8978     ULONG (STDMETHODCALLTYPE *AddRef)(
   8979         IXMLElement *This);
   8980 
   8981     ULONG (STDMETHODCALLTYPE *Release)(
   8982         IXMLElement *This);
   8983 
   8984     /*** IDispatch methods ***/
   8985     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   8986         IXMLElement *This,
   8987         UINT *pctinfo);
   8988 
   8989     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   8990         IXMLElement *This,
   8991         UINT iTInfo,
   8992         LCID lcid,
   8993         ITypeInfo **ppTInfo);
   8994 
   8995     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   8996         IXMLElement *This,
   8997         REFIID riid,
   8998         LPOLESTR *rgszNames,
   8999         UINT cNames,
   9000         LCID lcid,
   9001         DISPID *rgDispId);
   9002 
   9003     HRESULT (STDMETHODCALLTYPE *Invoke)(
   9004         IXMLElement *This,
   9005         DISPID dispIdMember,
   9006         REFIID riid,
   9007         LCID lcid,
   9008         WORD wFlags,
   9009         DISPPARAMS *pDispParams,
   9010         VARIANT *pVarResult,
   9011         EXCEPINFO *pExcepInfo,
   9012         UINT *puArgErr);
   9013 
   9014     /*** IXMLElement methods ***/
   9015     HRESULT (STDMETHODCALLTYPE *get_tagName)(
   9016         IXMLElement *This,
   9017         BSTR *p);
   9018 
   9019     HRESULT (STDMETHODCALLTYPE *put_tagName)(
   9020         IXMLElement *This,
   9021         BSTR p);
   9022 
   9023     HRESULT (STDMETHODCALLTYPE *get_parent)(
   9024         IXMLElement *This,
   9025         IXMLElement **parent);
   9026 
   9027     HRESULT (STDMETHODCALLTYPE *setAttribute)(
   9028         IXMLElement *This,
   9029         BSTR strPropertyName,
   9030         VARIANT PropertyValue);
   9031 
   9032     HRESULT (STDMETHODCALLTYPE *getAttribute)(
   9033         IXMLElement *This,
   9034         BSTR strPropertyName,
   9035         VARIANT *PropertyValue);
   9036 
   9037     HRESULT (STDMETHODCALLTYPE *removeAttribute)(
   9038         IXMLElement *This,
   9039         BSTR strPropertyName);
   9040 
   9041     HRESULT (STDMETHODCALLTYPE *get_children)(
   9042         IXMLElement *This,
   9043         IXMLElementCollection **p);
   9044 
   9045     HRESULT (STDMETHODCALLTYPE *get_type)(
   9046         IXMLElement *This,
   9047         LONG *p);
   9048 
   9049     HRESULT (STDMETHODCALLTYPE *get_text)(
   9050         IXMLElement *This,
   9051         BSTR *p);
   9052 
   9053     HRESULT (STDMETHODCALLTYPE *put_text)(
   9054         IXMLElement *This,
   9055         BSTR p);
   9056 
   9057     HRESULT (STDMETHODCALLTYPE *addChild)(
   9058         IXMLElement *This,
   9059         IXMLElement *pChildElem,
   9060         LONG lIndex,
   9061         LONG lreserved);
   9062 
   9063     HRESULT (STDMETHODCALLTYPE *removeChild)(
   9064         IXMLElement *This,
   9065         IXMLElement *pChildElem);
   9066 
   9067     END_INTERFACE
   9068 } IXMLElementVtbl;
   9069 
   9070 interface IXMLElement {
   9071     CONST_VTBL IXMLElementVtbl* lpVtbl;
   9072 };
   9073 
   9074 #ifdef COBJMACROS
   9075 #ifndef WIDL_C_INLINE_WRAPPERS
   9076 /*** IUnknown methods ***/
   9077 #define IXMLElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9078 #define IXMLElement_AddRef(This) (This)->lpVtbl->AddRef(This)
   9079 #define IXMLElement_Release(This) (This)->lpVtbl->Release(This)
   9080 /*** IDispatch methods ***/
   9081 #define IXMLElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   9082 #define IXMLElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   9083 #define IXMLElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   9084 #define IXMLElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   9085 /*** IXMLElement methods ***/
   9086 #define IXMLElement_get_tagName(This,p) (This)->lpVtbl->get_tagName(This,p)
   9087 #define IXMLElement_put_tagName(This,p) (This)->lpVtbl->put_tagName(This,p)
   9088 #define IXMLElement_get_parent(This,parent) (This)->lpVtbl->get_parent(This,parent)
   9089 #define IXMLElement_setAttribute(This,strPropertyName,PropertyValue) (This)->lpVtbl->setAttribute(This,strPropertyName,PropertyValue)
   9090 #define IXMLElement_getAttribute(This,strPropertyName,PropertyValue) (This)->lpVtbl->getAttribute(This,strPropertyName,PropertyValue)
   9091 #define IXMLElement_removeAttribute(This,strPropertyName) (This)->lpVtbl->removeAttribute(This,strPropertyName)
   9092 #define IXMLElement_get_children(This,p) (This)->lpVtbl->get_children(This,p)
   9093 #define IXMLElement_get_type(This,p) (This)->lpVtbl->get_type(This,p)
   9094 #define IXMLElement_get_text(This,p) (This)->lpVtbl->get_text(This,p)
   9095 #define IXMLElement_put_text(This,p) (This)->lpVtbl->put_text(This,p)
   9096 #define IXMLElement_addChild(This,pChildElem,lIndex,lreserved) (This)->lpVtbl->addChild(This,pChildElem,lIndex,lreserved)
   9097 #define IXMLElement_removeChild(This,pChildElem) (This)->lpVtbl->removeChild(This,pChildElem)
   9098 #else
   9099 /*** IUnknown methods ***/
   9100 static inline HRESULT IXMLElement_QueryInterface(IXMLElement* This,REFIID riid,void **ppvObject) {
   9101     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9102 }
   9103 static inline ULONG IXMLElement_AddRef(IXMLElement* This) {
   9104     return This->lpVtbl->AddRef(This);
   9105 }
   9106 static inline ULONG IXMLElement_Release(IXMLElement* This) {
   9107     return This->lpVtbl->Release(This);
   9108 }
   9109 /*** IDispatch methods ***/
   9110 static inline HRESULT IXMLElement_GetTypeInfoCount(IXMLElement* This,UINT *pctinfo) {
   9111     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   9112 }
   9113 static inline HRESULT IXMLElement_GetTypeInfo(IXMLElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   9114     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   9115 }
   9116 static inline HRESULT IXMLElement_GetIDsOfNames(IXMLElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   9117     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   9118 }
   9119 static inline HRESULT IXMLElement_Invoke(IXMLElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   9120     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   9121 }
   9122 /*** IXMLElement methods ***/
   9123 static inline HRESULT IXMLElement_get_tagName(IXMLElement* This,BSTR *p) {
   9124     return This->lpVtbl->get_tagName(This,p);
   9125 }
   9126 static inline HRESULT IXMLElement_put_tagName(IXMLElement* This,BSTR p) {
   9127     return This->lpVtbl->put_tagName(This,p);
   9128 }
   9129 static inline HRESULT IXMLElement_get_parent(IXMLElement* This,IXMLElement **parent) {
   9130     return This->lpVtbl->get_parent(This,parent);
   9131 }
   9132 static inline HRESULT IXMLElement_setAttribute(IXMLElement* This,BSTR strPropertyName,VARIANT PropertyValue) {
   9133     return This->lpVtbl->setAttribute(This,strPropertyName,PropertyValue);
   9134 }
   9135 static inline HRESULT IXMLElement_getAttribute(IXMLElement* This,BSTR strPropertyName,VARIANT *PropertyValue) {
   9136     return This->lpVtbl->getAttribute(This,strPropertyName,PropertyValue);
   9137 }
   9138 static inline HRESULT IXMLElement_removeAttribute(IXMLElement* This,BSTR strPropertyName) {
   9139     return This->lpVtbl->removeAttribute(This,strPropertyName);
   9140 }
   9141 static inline HRESULT IXMLElement_get_children(IXMLElement* This,IXMLElementCollection **p) {
   9142     return This->lpVtbl->get_children(This,p);
   9143 }
   9144 static inline HRESULT IXMLElement_get_type(IXMLElement* This,LONG *p) {
   9145     return This->lpVtbl->get_type(This,p);
   9146 }
   9147 static inline HRESULT IXMLElement_get_text(IXMLElement* This,BSTR *p) {
   9148     return This->lpVtbl->get_text(This,p);
   9149 }
   9150 static inline HRESULT IXMLElement_put_text(IXMLElement* This,BSTR p) {
   9151     return This->lpVtbl->put_text(This,p);
   9152 }
   9153 static inline HRESULT IXMLElement_addChild(IXMLElement* This,IXMLElement *pChildElem,LONG lIndex,LONG lreserved) {
   9154     return This->lpVtbl->addChild(This,pChildElem,lIndex,lreserved);
   9155 }
   9156 static inline HRESULT IXMLElement_removeChild(IXMLElement* This,IXMLElement *pChildElem) {
   9157     return This->lpVtbl->removeChild(This,pChildElem);
   9158 }
   9159 #endif
   9160 #endif
   9161 
   9162 #endif
   9163 
   9164 
   9165 #endif  /* __IXMLElement_INTERFACE_DEFINED__ */
   9166 
   9167 /*****************************************************************************
   9168  * IXMLDocument interface
   9169  */
   9170 #ifndef __IXMLDocument_INTERFACE_DEFINED__
   9171 #define __IXMLDocument_INTERFACE_DEFINED__
   9172 
   9173 DEFINE_GUID(IID_IXMLDocument, 0xf52e2b61, 0x18a1, 0x11d1, 0xb1,0x05, 0x00,0x80,0x5f,0x49,0x91,0x6b);
   9174 #if defined(__cplusplus) && !defined(CINTERFACE)
   9175 MIDL_INTERFACE("f52e2b61-18a1-11d1-b105-00805f49916b")
   9176 IXMLDocument : public IDispatch
   9177 {
   9178     virtual HRESULT STDMETHODCALLTYPE get_root(
   9179         IXMLElement **p) = 0;
   9180 
   9181     virtual HRESULT STDMETHODCALLTYPE get_fileSize(
   9182         BSTR *p) = 0;
   9183 
   9184     virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate(
   9185         BSTR *p) = 0;
   9186 
   9187     virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate(
   9188         BSTR *p) = 0;
   9189 
   9190     virtual HRESULT STDMETHODCALLTYPE get_URL(
   9191         BSTR *p) = 0;
   9192 
   9193     virtual HRESULT STDMETHODCALLTYPE put_URL(
   9194         BSTR p) = 0;
   9195 
   9196     virtual HRESULT STDMETHODCALLTYPE get_mimeType(
   9197         BSTR *p) = 0;
   9198 
   9199     virtual HRESULT STDMETHODCALLTYPE get_readyState(
   9200         LONG *p) = 0;
   9201 
   9202     virtual HRESULT STDMETHODCALLTYPE get_charset(
   9203         BSTR *p) = 0;
   9204 
   9205     virtual HRESULT STDMETHODCALLTYPE put_charset(
   9206         BSTR p) = 0;
   9207 
   9208     virtual HRESULT STDMETHODCALLTYPE get_version(
   9209         BSTR *p) = 0;
   9210 
   9211     virtual HRESULT STDMETHODCALLTYPE get_doctype(
   9212         BSTR *p) = 0;
   9213 
   9214     virtual HRESULT STDMETHODCALLTYPE get_dtdURl(
   9215         BSTR *p) = 0;
   9216 
   9217     virtual HRESULT STDMETHODCALLTYPE createElement(
   9218         VARIANT vType,
   9219         VARIANT var1,
   9220         IXMLElement **ppElem) = 0;
   9221 
   9222 };
   9223 #ifdef __CRT_UUID_DECL
   9224 __CRT_UUID_DECL(IXMLDocument, 0xf52e2b61, 0x18a1, 0x11d1, 0xb1,0x05, 0x00,0x80,0x5f,0x49,0x91,0x6b)
   9225 #endif
   9226 #else
   9227 typedef struct IXMLDocumentVtbl {
   9228     BEGIN_INTERFACE
   9229 
   9230     /*** IUnknown methods ***/
   9231     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9232         IXMLDocument *This,
   9233         REFIID riid,
   9234         void **ppvObject);
   9235 
   9236     ULONG (STDMETHODCALLTYPE *AddRef)(
   9237         IXMLDocument *This);
   9238 
   9239     ULONG (STDMETHODCALLTYPE *Release)(
   9240         IXMLDocument *This);
   9241 
   9242     /*** IDispatch methods ***/
   9243     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   9244         IXMLDocument *This,
   9245         UINT *pctinfo);
   9246 
   9247     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   9248         IXMLDocument *This,
   9249         UINT iTInfo,
   9250         LCID lcid,
   9251         ITypeInfo **ppTInfo);
   9252 
   9253     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   9254         IXMLDocument *This,
   9255         REFIID riid,
   9256         LPOLESTR *rgszNames,
   9257         UINT cNames,
   9258         LCID lcid,
   9259         DISPID *rgDispId);
   9260 
   9261     HRESULT (STDMETHODCALLTYPE *Invoke)(
   9262         IXMLDocument *This,
   9263         DISPID dispIdMember,
   9264         REFIID riid,
   9265         LCID lcid,
   9266         WORD wFlags,
   9267         DISPPARAMS *pDispParams,
   9268         VARIANT *pVarResult,
   9269         EXCEPINFO *pExcepInfo,
   9270         UINT *puArgErr);
   9271 
   9272     /*** IXMLDocument methods ***/
   9273     HRESULT (STDMETHODCALLTYPE *get_root)(
   9274         IXMLDocument *This,
   9275         IXMLElement **p);
   9276 
   9277     HRESULT (STDMETHODCALLTYPE *get_fileSize)(
   9278         IXMLDocument *This,
   9279         BSTR *p);
   9280 
   9281     HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate)(
   9282         IXMLDocument *This,
   9283         BSTR *p);
   9284 
   9285     HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate)(
   9286         IXMLDocument *This,
   9287         BSTR *p);
   9288 
   9289     HRESULT (STDMETHODCALLTYPE *get_URL)(
   9290         IXMLDocument *This,
   9291         BSTR *p);
   9292 
   9293     HRESULT (STDMETHODCALLTYPE *put_URL)(
   9294         IXMLDocument *This,
   9295         BSTR p);
   9296 
   9297     HRESULT (STDMETHODCALLTYPE *get_mimeType)(
   9298         IXMLDocument *This,
   9299         BSTR *p);
   9300 
   9301     HRESULT (STDMETHODCALLTYPE *get_readyState)(
   9302         IXMLDocument *This,
   9303         LONG *p);
   9304 
   9305     HRESULT (STDMETHODCALLTYPE *get_charset)(
   9306         IXMLDocument *This,
   9307         BSTR *p);
   9308 
   9309     HRESULT (STDMETHODCALLTYPE *put_charset)(
   9310         IXMLDocument *This,
   9311         BSTR p);
   9312 
   9313     HRESULT (STDMETHODCALLTYPE *get_version)(
   9314         IXMLDocument *This,
   9315         BSTR *p);
   9316 
   9317     HRESULT (STDMETHODCALLTYPE *get_doctype)(
   9318         IXMLDocument *This,
   9319         BSTR *p);
   9320 
   9321     HRESULT (STDMETHODCALLTYPE *get_dtdURl)(
   9322         IXMLDocument *This,
   9323         BSTR *p);
   9324 
   9325     HRESULT (STDMETHODCALLTYPE *createElement)(
   9326         IXMLDocument *This,
   9327         VARIANT vType,
   9328         VARIANT var1,
   9329         IXMLElement **ppElem);
   9330 
   9331     END_INTERFACE
   9332 } IXMLDocumentVtbl;
   9333 
   9334 interface IXMLDocument {
   9335     CONST_VTBL IXMLDocumentVtbl* lpVtbl;
   9336 };
   9337 
   9338 #ifdef COBJMACROS
   9339 #ifndef WIDL_C_INLINE_WRAPPERS
   9340 /*** IUnknown methods ***/
   9341 #define IXMLDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9342 #define IXMLDocument_AddRef(This) (This)->lpVtbl->AddRef(This)
   9343 #define IXMLDocument_Release(This) (This)->lpVtbl->Release(This)
   9344 /*** IDispatch methods ***/
   9345 #define IXMLDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   9346 #define IXMLDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   9347 #define IXMLDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   9348 #define IXMLDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   9349 /*** IXMLDocument methods ***/
   9350 #define IXMLDocument_get_root(This,p) (This)->lpVtbl->get_root(This,p)
   9351 #define IXMLDocument_get_fileSize(This,p) (This)->lpVtbl->get_fileSize(This,p)
   9352 #define IXMLDocument_get_fileModifiedDate(This,p) (This)->lpVtbl->get_fileModifiedDate(This,p)
   9353 #define IXMLDocument_get_fileUpdatedDate(This,p) (This)->lpVtbl->get_fileUpdatedDate(This,p)
   9354 #define IXMLDocument_get_URL(This,p) (This)->lpVtbl->get_URL(This,p)
   9355 #define IXMLDocument_put_URL(This,p) (This)->lpVtbl->put_URL(This,p)
   9356 #define IXMLDocument_get_mimeType(This,p) (This)->lpVtbl->get_mimeType(This,p)
   9357 #define IXMLDocument_get_readyState(This,p) (This)->lpVtbl->get_readyState(This,p)
   9358 #define IXMLDocument_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
   9359 #define IXMLDocument_put_charset(This,p) (This)->lpVtbl->put_charset(This,p)
   9360 #define IXMLDocument_get_version(This,p) (This)->lpVtbl->get_version(This,p)
   9361 #define IXMLDocument_get_doctype(This,p) (This)->lpVtbl->get_doctype(This,p)
   9362 #define IXMLDocument_get_dtdURl(This,p) (This)->lpVtbl->get_dtdURl(This,p)
   9363 #define IXMLDocument_createElement(This,vType,var1,ppElem) (This)->lpVtbl->createElement(This,vType,var1,ppElem)
   9364 #else
   9365 /*** IUnknown methods ***/
   9366 static inline HRESULT IXMLDocument_QueryInterface(IXMLDocument* This,REFIID riid,void **ppvObject) {
   9367     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9368 }
   9369 static inline ULONG IXMLDocument_AddRef(IXMLDocument* This) {
   9370     return This->lpVtbl->AddRef(This);
   9371 }
   9372 static inline ULONG IXMLDocument_Release(IXMLDocument* This) {
   9373     return This->lpVtbl->Release(This);
   9374 }
   9375 /*** IDispatch methods ***/
   9376 static inline HRESULT IXMLDocument_GetTypeInfoCount(IXMLDocument* This,UINT *pctinfo) {
   9377     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   9378 }
   9379 static inline HRESULT IXMLDocument_GetTypeInfo(IXMLDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   9380     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   9381 }
   9382 static inline HRESULT IXMLDocument_GetIDsOfNames(IXMLDocument* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   9383     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   9384 }
   9385 static inline HRESULT IXMLDocument_Invoke(IXMLDocument* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   9386     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   9387 }
   9388 /*** IXMLDocument methods ***/
   9389 static inline HRESULT IXMLDocument_get_root(IXMLDocument* This,IXMLElement **p) {
   9390     return This->lpVtbl->get_root(This,p);
   9391 }
   9392 static inline HRESULT IXMLDocument_get_fileSize(IXMLDocument* This,BSTR *p) {
   9393     return This->lpVtbl->get_fileSize(This,p);
   9394 }
   9395 static inline HRESULT IXMLDocument_get_fileModifiedDate(IXMLDocument* This,BSTR *p) {
   9396     return This->lpVtbl->get_fileModifiedDate(This,p);
   9397 }
   9398 static inline HRESULT IXMLDocument_get_fileUpdatedDate(IXMLDocument* This,BSTR *p) {
   9399     return This->lpVtbl->get_fileUpdatedDate(This,p);
   9400 }
   9401 static inline HRESULT IXMLDocument_get_URL(IXMLDocument* This,BSTR *p) {
   9402     return This->lpVtbl->get_URL(This,p);
   9403 }
   9404 static inline HRESULT IXMLDocument_put_URL(IXMLDocument* This,BSTR p) {
   9405     return This->lpVtbl->put_URL(This,p);
   9406 }
   9407 static inline HRESULT IXMLDocument_get_mimeType(IXMLDocument* This,BSTR *p) {
   9408     return This->lpVtbl->get_mimeType(This,p);
   9409 }
   9410 static inline HRESULT IXMLDocument_get_readyState(IXMLDocument* This,LONG *p) {
   9411     return This->lpVtbl->get_readyState(This,p);
   9412 }
   9413 static inline HRESULT IXMLDocument_get_charset(IXMLDocument* This,BSTR *p) {
   9414     return This->lpVtbl->get_charset(This,p);
   9415 }
   9416 static inline HRESULT IXMLDocument_put_charset(IXMLDocument* This,BSTR p) {
   9417     return This->lpVtbl->put_charset(This,p);
   9418 }
   9419 static inline HRESULT IXMLDocument_get_version(IXMLDocument* This,BSTR *p) {
   9420     return This->lpVtbl->get_version(This,p);
   9421 }
   9422 static inline HRESULT IXMLDocument_get_doctype(IXMLDocument* This,BSTR *p) {
   9423     return This->lpVtbl->get_doctype(This,p);
   9424 }
   9425 static inline HRESULT IXMLDocument_get_dtdURl(IXMLDocument* This,BSTR *p) {
   9426     return This->lpVtbl->get_dtdURl(This,p);
   9427 }
   9428 static inline HRESULT IXMLDocument_createElement(IXMLDocument* This,VARIANT vType,VARIANT var1,IXMLElement **ppElem) {
   9429     return This->lpVtbl->createElement(This,vType,var1,ppElem);
   9430 }
   9431 #endif
   9432 #endif
   9433 
   9434 #endif
   9435 
   9436 
   9437 #endif  /* __IXMLDocument_INTERFACE_DEFINED__ */
   9438 
   9439 /*****************************************************************************
   9440  * IXMLElement2 interface
   9441  */
   9442 #ifndef __IXMLElement2_INTERFACE_DEFINED__
   9443 #define __IXMLElement2_INTERFACE_DEFINED__
   9444 
   9445 DEFINE_GUID(IID_IXMLElement2, 0x2b8de2ff, 0x8d2d, 0x11d1, 0xb2,0xfc, 0x00,0xc0,0x4f,0xd9,0x15,0xa9);
   9446 #if defined(__cplusplus) && !defined(CINTERFACE)
   9447 MIDL_INTERFACE("2b8de2ff-8d2d-11d1-b2fc-00c04fd915a9")
   9448 IXMLElement2 : public IDispatch
   9449 {
   9450     virtual HRESULT STDMETHODCALLTYPE get_tagName(
   9451         BSTR *p) = 0;
   9452 
   9453     virtual HRESULT STDMETHODCALLTYPE put_tagName(
   9454         BSTR p) = 0;
   9455 
   9456     virtual HRESULT STDMETHODCALLTYPE get_parent(
   9457         IXMLElement2 **ppParent) = 0;
   9458 
   9459     virtual HRESULT STDMETHODCALLTYPE setAttribute(
   9460         BSTR strPropertyName,
   9461         VARIANT PropertyValue) = 0;
   9462 
   9463     virtual HRESULT STDMETHODCALLTYPE getAttribute(
   9464         BSTR strPropertyName,
   9465         VARIANT *PropertyValue) = 0;
   9466 
   9467     virtual HRESULT STDMETHODCALLTYPE removeAttribute(
   9468         BSTR strPropertyName) = 0;
   9469 
   9470     virtual HRESULT STDMETHODCALLTYPE get_children(
   9471         IXMLElementCollection **pp) = 0;
   9472 
   9473     virtual HRESULT STDMETHODCALLTYPE get_type(
   9474         LONG *plType) = 0;
   9475 
   9476     virtual HRESULT STDMETHODCALLTYPE get_text(
   9477         BSTR *p) = 0;
   9478 
   9479     virtual HRESULT STDMETHODCALLTYPE put_text(
   9480         BSTR p) = 0;
   9481 
   9482     virtual HRESULT STDMETHODCALLTYPE addChild(
   9483         IXMLElement2 *pChildElem,
   9484         LONG lIndex,
   9485         LONG lReserved) = 0;
   9486 
   9487     virtual HRESULT STDMETHODCALLTYPE removeChild(
   9488         IXMLElement2 *pChildElem) = 0;
   9489 
   9490     virtual HRESULT STDMETHODCALLTYPE get_attributes(
   9491         IXMLElementCollection **pp) = 0;
   9492 
   9493 };
   9494 #ifdef __CRT_UUID_DECL
   9495 __CRT_UUID_DECL(IXMLElement2, 0x2b8de2ff, 0x8d2d, 0x11d1, 0xb2,0xfc, 0x00,0xc0,0x4f,0xd9,0x15,0xa9)
   9496 #endif
   9497 #else
   9498 typedef struct IXMLElement2Vtbl {
   9499     BEGIN_INTERFACE
   9500 
   9501     /*** IUnknown methods ***/
   9502     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9503         IXMLElement2 *This,
   9504         REFIID riid,
   9505         void **ppvObject);
   9506 
   9507     ULONG (STDMETHODCALLTYPE *AddRef)(
   9508         IXMLElement2 *This);
   9509 
   9510     ULONG (STDMETHODCALLTYPE *Release)(
   9511         IXMLElement2 *This);
   9512 
   9513     /*** IDispatch methods ***/
   9514     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   9515         IXMLElement2 *This,
   9516         UINT *pctinfo);
   9517 
   9518     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   9519         IXMLElement2 *This,
   9520         UINT iTInfo,
   9521         LCID lcid,
   9522         ITypeInfo **ppTInfo);
   9523 
   9524     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   9525         IXMLElement2 *This,
   9526         REFIID riid,
   9527         LPOLESTR *rgszNames,
   9528         UINT cNames,
   9529         LCID lcid,
   9530         DISPID *rgDispId);
   9531 
   9532     HRESULT (STDMETHODCALLTYPE *Invoke)(
   9533         IXMLElement2 *This,
   9534         DISPID dispIdMember,
   9535         REFIID riid,
   9536         LCID lcid,
   9537         WORD wFlags,
   9538         DISPPARAMS *pDispParams,
   9539         VARIANT *pVarResult,
   9540         EXCEPINFO *pExcepInfo,
   9541         UINT *puArgErr);
   9542 
   9543     /*** IXMLElement2 methods ***/
   9544     HRESULT (STDMETHODCALLTYPE *get_tagName)(
   9545         IXMLElement2 *This,
   9546         BSTR *p);
   9547 
   9548     HRESULT (STDMETHODCALLTYPE *put_tagName)(
   9549         IXMLElement2 *This,
   9550         BSTR p);
   9551 
   9552     HRESULT (STDMETHODCALLTYPE *get_parent)(
   9553         IXMLElement2 *This,
   9554         IXMLElement2 **ppParent);
   9555 
   9556     HRESULT (STDMETHODCALLTYPE *setAttribute)(
   9557         IXMLElement2 *This,
   9558         BSTR strPropertyName,
   9559         VARIANT PropertyValue);
   9560 
   9561     HRESULT (STDMETHODCALLTYPE *getAttribute)(
   9562         IXMLElement2 *This,
   9563         BSTR strPropertyName,
   9564         VARIANT *PropertyValue);
   9565 
   9566     HRESULT (STDMETHODCALLTYPE *removeAttribute)(
   9567         IXMLElement2 *This,
   9568         BSTR strPropertyName);
   9569 
   9570     HRESULT (STDMETHODCALLTYPE *get_children)(
   9571         IXMLElement2 *This,
   9572         IXMLElementCollection **pp);
   9573 
   9574     HRESULT (STDMETHODCALLTYPE *get_type)(
   9575         IXMLElement2 *This,
   9576         LONG *plType);
   9577 
   9578     HRESULT (STDMETHODCALLTYPE *get_text)(
   9579         IXMLElement2 *This,
   9580         BSTR *p);
   9581 
   9582     HRESULT (STDMETHODCALLTYPE *put_text)(
   9583         IXMLElement2 *This,
   9584         BSTR p);
   9585 
   9586     HRESULT (STDMETHODCALLTYPE *addChild)(
   9587         IXMLElement2 *This,
   9588         IXMLElement2 *pChildElem,
   9589         LONG lIndex,
   9590         LONG lReserved);
   9591 
   9592     HRESULT (STDMETHODCALLTYPE *removeChild)(
   9593         IXMLElement2 *This,
   9594         IXMLElement2 *pChildElem);
   9595 
   9596     HRESULT (STDMETHODCALLTYPE *get_attributes)(
   9597         IXMLElement2 *This,
   9598         IXMLElementCollection **pp);
   9599 
   9600     END_INTERFACE
   9601 } IXMLElement2Vtbl;
   9602 
   9603 interface IXMLElement2 {
   9604     CONST_VTBL IXMLElement2Vtbl* lpVtbl;
   9605 };
   9606 
   9607 #ifdef COBJMACROS
   9608 #ifndef WIDL_C_INLINE_WRAPPERS
   9609 /*** IUnknown methods ***/
   9610 #define IXMLElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9611 #define IXMLElement2_AddRef(This) (This)->lpVtbl->AddRef(This)
   9612 #define IXMLElement2_Release(This) (This)->lpVtbl->Release(This)
   9613 /*** IDispatch methods ***/
   9614 #define IXMLElement2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   9615 #define IXMLElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   9616 #define IXMLElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   9617 #define IXMLElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   9618 /*** IXMLElement2 methods ***/
   9619 #define IXMLElement2_get_tagName(This,p) (This)->lpVtbl->get_tagName(This,p)
   9620 #define IXMLElement2_put_tagName(This,p) (This)->lpVtbl->put_tagName(This,p)
   9621 #define IXMLElement2_get_parent(This,ppParent) (This)->lpVtbl->get_parent(This,ppParent)
   9622 #define IXMLElement2_setAttribute(This,strPropertyName,PropertyValue) (This)->lpVtbl->setAttribute(This,strPropertyName,PropertyValue)
   9623 #define IXMLElement2_getAttribute(This,strPropertyName,PropertyValue) (This)->lpVtbl->getAttribute(This,strPropertyName,PropertyValue)
   9624 #define IXMLElement2_removeAttribute(This,strPropertyName) (This)->lpVtbl->removeAttribute(This,strPropertyName)
   9625 #define IXMLElement2_get_children(This,pp) (This)->lpVtbl->get_children(This,pp)
   9626 #define IXMLElement2_get_type(This,plType) (This)->lpVtbl->get_type(This,plType)
   9627 #define IXMLElement2_get_text(This,p) (This)->lpVtbl->get_text(This,p)
   9628 #define IXMLElement2_put_text(This,p) (This)->lpVtbl->put_text(This,p)
   9629 #define IXMLElement2_addChild(This,pChildElem,lIndex,lReserved) (This)->lpVtbl->addChild(This,pChildElem,lIndex,lReserved)
   9630 #define IXMLElement2_removeChild(This,pChildElem) (This)->lpVtbl->removeChild(This,pChildElem)
   9631 #define IXMLElement2_get_attributes(This,pp) (This)->lpVtbl->get_attributes(This,pp)
   9632 #else
   9633 /*** IUnknown methods ***/
   9634 static inline HRESULT IXMLElement2_QueryInterface(IXMLElement2* This,REFIID riid,void **ppvObject) {
   9635     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9636 }
   9637 static inline ULONG IXMLElement2_AddRef(IXMLElement2* This) {
   9638     return This->lpVtbl->AddRef(This);
   9639 }
   9640 static inline ULONG IXMLElement2_Release(IXMLElement2* This) {
   9641     return This->lpVtbl->Release(This);
   9642 }
   9643 /*** IDispatch methods ***/
   9644 static inline HRESULT IXMLElement2_GetTypeInfoCount(IXMLElement2* This,UINT *pctinfo) {
   9645     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   9646 }
   9647 static inline HRESULT IXMLElement2_GetTypeInfo(IXMLElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   9648     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   9649 }
   9650 static inline HRESULT IXMLElement2_GetIDsOfNames(IXMLElement2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   9651     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   9652 }
   9653 static inline HRESULT IXMLElement2_Invoke(IXMLElement2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   9654     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   9655 }
   9656 /*** IXMLElement2 methods ***/
   9657 static inline HRESULT IXMLElement2_get_tagName(IXMLElement2* This,BSTR *p) {
   9658     return This->lpVtbl->get_tagName(This,p);
   9659 }
   9660 static inline HRESULT IXMLElement2_put_tagName(IXMLElement2* This,BSTR p) {
   9661     return This->lpVtbl->put_tagName(This,p);
   9662 }
   9663 static inline HRESULT IXMLElement2_get_parent(IXMLElement2* This,IXMLElement2 **ppParent) {
   9664     return This->lpVtbl->get_parent(This,ppParent);
   9665 }
   9666 static inline HRESULT IXMLElement2_setAttribute(IXMLElement2* This,BSTR strPropertyName,VARIANT PropertyValue) {
   9667     return This->lpVtbl->setAttribute(This,strPropertyName,PropertyValue);
   9668 }
   9669 static inline HRESULT IXMLElement2_getAttribute(IXMLElement2* This,BSTR strPropertyName,VARIANT *PropertyValue) {
   9670     return This->lpVtbl->getAttribute(This,strPropertyName,PropertyValue);
   9671 }
   9672 static inline HRESULT IXMLElement2_removeAttribute(IXMLElement2* This,BSTR strPropertyName) {
   9673     return This->lpVtbl->removeAttribute(This,strPropertyName);
   9674 }
   9675 static inline HRESULT IXMLElement2_get_children(IXMLElement2* This,IXMLElementCollection **pp) {
   9676     return This->lpVtbl->get_children(This,pp);
   9677 }
   9678 static inline HRESULT IXMLElement2_get_type(IXMLElement2* This,LONG *plType) {
   9679     return This->lpVtbl->get_type(This,plType);
   9680 }
   9681 static inline HRESULT IXMLElement2_get_text(IXMLElement2* This,BSTR *p) {
   9682     return This->lpVtbl->get_text(This,p);
   9683 }
   9684 static inline HRESULT IXMLElement2_put_text(IXMLElement2* This,BSTR p) {
   9685     return This->lpVtbl->put_text(This,p);
   9686 }
   9687 static inline HRESULT IXMLElement2_addChild(IXMLElement2* This,IXMLElement2 *pChildElem,LONG lIndex,LONG lReserved) {
   9688     return This->lpVtbl->addChild(This,pChildElem,lIndex,lReserved);
   9689 }
   9690 static inline HRESULT IXMLElement2_removeChild(IXMLElement2* This,IXMLElement2 *pChildElem) {
   9691     return This->lpVtbl->removeChild(This,pChildElem);
   9692 }
   9693 static inline HRESULT IXMLElement2_get_attributes(IXMLElement2* This,IXMLElementCollection **pp) {
   9694     return This->lpVtbl->get_attributes(This,pp);
   9695 }
   9696 #endif
   9697 #endif
   9698 
   9699 #endif
   9700 
   9701 
   9702 #endif  /* __IXMLElement2_INTERFACE_DEFINED__ */
   9703 
   9704 /*****************************************************************************
   9705  * IXMLDocument2 interface
   9706  */
   9707 #ifndef __IXMLDocument2_INTERFACE_DEFINED__
   9708 #define __IXMLDocument2_INTERFACE_DEFINED__
   9709 
   9710 DEFINE_GUID(IID_IXMLDocument2, 0x2b8de2fe, 0x8d2d, 0x11d1, 0xb2,0xfc, 0x00,0xc0,0x4f,0xd9,0x15,0xa9);
   9711 #if defined(__cplusplus) && !defined(CINTERFACE)
   9712 MIDL_INTERFACE("2b8de2fe-8d2d-11d1-b2fc-00c04fd915a9")
   9713 IXMLDocument2 : public IDispatch
   9714 {
   9715     virtual HRESULT STDMETHODCALLTYPE get_root(
   9716         IXMLElement2 **p) = 0;
   9717 
   9718     virtual HRESULT STDMETHODCALLTYPE get_fileSize(
   9719         BSTR *p) = 0;
   9720 
   9721     virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate(
   9722         BSTR *p) = 0;
   9723 
   9724     virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate(
   9725         BSTR *p) = 0;
   9726 
   9727     virtual HRESULT STDMETHODCALLTYPE get_URL(
   9728         BSTR *p) = 0;
   9729 
   9730     virtual HRESULT STDMETHODCALLTYPE put_URL(
   9731         BSTR p) = 0;
   9732 
   9733     virtual HRESULT STDMETHODCALLTYPE get_mimeType(
   9734         BSTR *p) = 0;
   9735 
   9736     virtual HRESULT STDMETHODCALLTYPE get_readyState(
   9737         LONG *pl) = 0;
   9738 
   9739     virtual HRESULT STDMETHODCALLTYPE get_charset(
   9740         BSTR *p) = 0;
   9741 
   9742     virtual HRESULT STDMETHODCALLTYPE put_charset(
   9743         BSTR p) = 0;
   9744 
   9745     virtual HRESULT STDMETHODCALLTYPE get_version(
   9746         BSTR *p) = 0;
   9747 
   9748     virtual HRESULT STDMETHODCALLTYPE get_doctype(
   9749         BSTR *p) = 0;
   9750 
   9751     virtual HRESULT STDMETHODCALLTYPE get_dtdURL(
   9752         BSTR *p) = 0;
   9753 
   9754     virtual HRESULT STDMETHODCALLTYPE createElement(
   9755         VARIANT vType,
   9756         VARIANT var,
   9757         IXMLElement2 **ppElem) = 0;
   9758 
   9759     virtual HRESULT STDMETHODCALLTYPE get_async(
   9760         VARIANT_BOOL *pf) = 0;
   9761 
   9762     virtual HRESULT STDMETHODCALLTYPE put_async(
   9763         VARIANT_BOOL f) = 0;
   9764 
   9765 };
   9766 #ifdef __CRT_UUID_DECL
   9767 __CRT_UUID_DECL(IXMLDocument2, 0x2b8de2fe, 0x8d2d, 0x11d1, 0xb2,0xfc, 0x00,0xc0,0x4f,0xd9,0x15,0xa9)
   9768 #endif
   9769 #else
   9770 typedef struct IXMLDocument2Vtbl {
   9771     BEGIN_INTERFACE
   9772 
   9773     /*** IUnknown methods ***/
   9774     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9775         IXMLDocument2 *This,
   9776         REFIID riid,
   9777         void **ppvObject);
   9778 
   9779     ULONG (STDMETHODCALLTYPE *AddRef)(
   9780         IXMLDocument2 *This);
   9781 
   9782     ULONG (STDMETHODCALLTYPE *Release)(
   9783         IXMLDocument2 *This);
   9784 
   9785     /*** IDispatch methods ***/
   9786     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   9787         IXMLDocument2 *This,
   9788         UINT *pctinfo);
   9789 
   9790     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   9791         IXMLDocument2 *This,
   9792         UINT iTInfo,
   9793         LCID lcid,
   9794         ITypeInfo **ppTInfo);
   9795 
   9796     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   9797         IXMLDocument2 *This,
   9798         REFIID riid,
   9799         LPOLESTR *rgszNames,
   9800         UINT cNames,
   9801         LCID lcid,
   9802         DISPID *rgDispId);
   9803 
   9804     HRESULT (STDMETHODCALLTYPE *Invoke)(
   9805         IXMLDocument2 *This,
   9806         DISPID dispIdMember,
   9807         REFIID riid,
   9808         LCID lcid,
   9809         WORD wFlags,
   9810         DISPPARAMS *pDispParams,
   9811         VARIANT *pVarResult,
   9812         EXCEPINFO *pExcepInfo,
   9813         UINT *puArgErr);
   9814 
   9815     /*** IXMLDocument2 methods ***/
   9816     HRESULT (STDMETHODCALLTYPE *get_root)(
   9817         IXMLDocument2 *This,
   9818         IXMLElement2 **p);
   9819 
   9820     HRESULT (STDMETHODCALLTYPE *get_fileSize)(
   9821         IXMLDocument2 *This,
   9822         BSTR *p);
   9823 
   9824     HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate)(
   9825         IXMLDocument2 *This,
   9826         BSTR *p);
   9827 
   9828     HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate)(
   9829         IXMLDocument2 *This,
   9830         BSTR *p);
   9831 
   9832     HRESULT (STDMETHODCALLTYPE *get_URL)(
   9833         IXMLDocument2 *This,
   9834         BSTR *p);
   9835 
   9836     HRESULT (STDMETHODCALLTYPE *put_URL)(
   9837         IXMLDocument2 *This,
   9838         BSTR p);
   9839 
   9840     HRESULT (STDMETHODCALLTYPE *get_mimeType)(
   9841         IXMLDocument2 *This,
   9842         BSTR *p);
   9843 
   9844     HRESULT (STDMETHODCALLTYPE *get_readyState)(
   9845         IXMLDocument2 *This,
   9846         LONG *pl);
   9847 
   9848     HRESULT (STDMETHODCALLTYPE *get_charset)(
   9849         IXMLDocument2 *This,
   9850         BSTR *p);
   9851 
   9852     HRESULT (STDMETHODCALLTYPE *put_charset)(
   9853         IXMLDocument2 *This,
   9854         BSTR p);
   9855 
   9856     HRESULT (STDMETHODCALLTYPE *get_version)(
   9857         IXMLDocument2 *This,
   9858         BSTR *p);
   9859 
   9860     HRESULT (STDMETHODCALLTYPE *get_doctype)(
   9861         IXMLDocument2 *This,
   9862         BSTR *p);
   9863 
   9864     HRESULT (STDMETHODCALLTYPE *get_dtdURL)(
   9865         IXMLDocument2 *This,
   9866         BSTR *p);
   9867 
   9868     HRESULT (STDMETHODCALLTYPE *createElement)(
   9869         IXMLDocument2 *This,
   9870         VARIANT vType,
   9871         VARIANT var,
   9872         IXMLElement2 **ppElem);
   9873 
   9874     HRESULT (STDMETHODCALLTYPE *get_async)(
   9875         IXMLDocument2 *This,
   9876         VARIANT_BOOL *pf);
   9877 
   9878     HRESULT (STDMETHODCALLTYPE *put_async)(
   9879         IXMLDocument2 *This,
   9880         VARIANT_BOOL f);
   9881 
   9882     END_INTERFACE
   9883 } IXMLDocument2Vtbl;
   9884 
   9885 interface IXMLDocument2 {
   9886     CONST_VTBL IXMLDocument2Vtbl* lpVtbl;
   9887 };
   9888 
   9889 #ifdef COBJMACROS
   9890 #ifndef WIDL_C_INLINE_WRAPPERS
   9891 /*** IUnknown methods ***/
   9892 #define IXMLDocument2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9893 #define IXMLDocument2_AddRef(This) (This)->lpVtbl->AddRef(This)
   9894 #define IXMLDocument2_Release(This) (This)->lpVtbl->Release(This)
   9895 /*** IDispatch methods ***/
   9896 #define IXMLDocument2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   9897 #define IXMLDocument2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   9898 #define IXMLDocument2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   9899 #define IXMLDocument2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   9900 /*** IXMLDocument2 methods ***/
   9901 #define IXMLDocument2_get_root(This,p) (This)->lpVtbl->get_root(This,p)
   9902 #define IXMLDocument2_get_fileSize(This,p) (This)->lpVtbl->get_fileSize(This,p)
   9903 #define IXMLDocument2_get_fileModifiedDate(This,p) (This)->lpVtbl->get_fileModifiedDate(This,p)
   9904 #define IXMLDocument2_get_fileUpdatedDate(This,p) (This)->lpVtbl->get_fileUpdatedDate(This,p)
   9905 #define IXMLDocument2_get_URL(This,p) (This)->lpVtbl->get_URL(This,p)
   9906 #define IXMLDocument2_put_URL(This,p) (This)->lpVtbl->put_URL(This,p)
   9907 #define IXMLDocument2_get_mimeType(This,p) (This)->lpVtbl->get_mimeType(This,p)
   9908 #define IXMLDocument2_get_readyState(This,pl) (This)->lpVtbl->get_readyState(This,pl)
   9909 #define IXMLDocument2_get_charset(This,p) (This)->lpVtbl->get_charset(This,p)
   9910 #define IXMLDocument2_put_charset(This,p) (This)->lpVtbl->put_charset(This,p)
   9911 #define IXMLDocument2_get_version(This,p) (This)->lpVtbl->get_version(This,p)
   9912 #define IXMLDocument2_get_doctype(This,p) (This)->lpVtbl->get_doctype(This,p)
   9913 #define IXMLDocument2_get_dtdURL(This,p) (This)->lpVtbl->get_dtdURL(This,p)
   9914 #define IXMLDocument2_createElement(This,vType,var,ppElem) (This)->lpVtbl->createElement(This,vType,var,ppElem)
   9915 #define IXMLDocument2_get_async(This,pf) (This)->lpVtbl->get_async(This,pf)
   9916 #define IXMLDocument2_put_async(This,f) (This)->lpVtbl->put_async(This,f)
   9917 #else
   9918 /*** IUnknown methods ***/
   9919 static inline HRESULT IXMLDocument2_QueryInterface(IXMLDocument2* This,REFIID riid,void **ppvObject) {
   9920     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9921 }
   9922 static inline ULONG IXMLDocument2_AddRef(IXMLDocument2* This) {
   9923     return This->lpVtbl->AddRef(This);
   9924 }
   9925 static inline ULONG IXMLDocument2_Release(IXMLDocument2* This) {
   9926     return This->lpVtbl->Release(This);
   9927 }
   9928 /*** IDispatch methods ***/
   9929 static inline HRESULT IXMLDocument2_GetTypeInfoCount(IXMLDocument2* This,UINT *pctinfo) {
   9930     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   9931 }
   9932 static inline HRESULT IXMLDocument2_GetTypeInfo(IXMLDocument2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   9933     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   9934 }
   9935 static inline HRESULT IXMLDocument2_GetIDsOfNames(IXMLDocument2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   9936     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   9937 }
   9938 static inline HRESULT IXMLDocument2_Invoke(IXMLDocument2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   9939     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   9940 }
   9941 /*** IXMLDocument2 methods ***/
   9942 static inline HRESULT IXMLDocument2_get_root(IXMLDocument2* This,IXMLElement2 **p) {
   9943     return This->lpVtbl->get_root(This,p);
   9944 }
   9945 static inline HRESULT IXMLDocument2_get_fileSize(IXMLDocument2* This,BSTR *p) {
   9946     return This->lpVtbl->get_fileSize(This,p);
   9947 }
   9948 static inline HRESULT IXMLDocument2_get_fileModifiedDate(IXMLDocument2* This,BSTR *p) {
   9949     return This->lpVtbl->get_fileModifiedDate(This,p);
   9950 }
   9951 static inline HRESULT IXMLDocument2_get_fileUpdatedDate(IXMLDocument2* This,BSTR *p) {
   9952     return This->lpVtbl->get_fileUpdatedDate(This,p);
   9953 }
   9954 static inline HRESULT IXMLDocument2_get_URL(IXMLDocument2* This,BSTR *p) {
   9955     return This->lpVtbl->get_URL(This,p);
   9956 }
   9957 static inline HRESULT IXMLDocument2_put_URL(IXMLDocument2* This,BSTR p) {
   9958     return This->lpVtbl->put_URL(This,p);
   9959 }
   9960 static inline HRESULT IXMLDocument2_get_mimeType(IXMLDocument2* This,BSTR *p) {
   9961     return This->lpVtbl->get_mimeType(This,p);
   9962 }
   9963 static inline HRESULT IXMLDocument2_get_readyState(IXMLDocument2* This,LONG *pl) {
   9964     return This->lpVtbl->get_readyState(This,pl);
   9965 }
   9966 static inline HRESULT IXMLDocument2_get_charset(IXMLDocument2* This,BSTR *p) {
   9967     return This->lpVtbl->get_charset(This,p);
   9968 }
   9969 static inline HRESULT IXMLDocument2_put_charset(IXMLDocument2* This,BSTR p) {
   9970     return This->lpVtbl->put_charset(This,p);
   9971 }
   9972 static inline HRESULT IXMLDocument2_get_version(IXMLDocument2* This,BSTR *p) {
   9973     return This->lpVtbl->get_version(This,p);
   9974 }
   9975 static inline HRESULT IXMLDocument2_get_doctype(IXMLDocument2* This,BSTR *p) {
   9976     return This->lpVtbl->get_doctype(This,p);
   9977 }
   9978 static inline HRESULT IXMLDocument2_get_dtdURL(IXMLDocument2* This,BSTR *p) {
   9979     return This->lpVtbl->get_dtdURL(This,p);
   9980 }
   9981 static inline HRESULT IXMLDocument2_createElement(IXMLDocument2* This,VARIANT vType,VARIANT var,IXMLElement2 **ppElem) {
   9982     return This->lpVtbl->createElement(This,vType,var,ppElem);
   9983 }
   9984 static inline HRESULT IXMLDocument2_get_async(IXMLDocument2* This,VARIANT_BOOL *pf) {
   9985     return This->lpVtbl->get_async(This,pf);
   9986 }
   9987 static inline HRESULT IXMLDocument2_put_async(IXMLDocument2* This,VARIANT_BOOL f) {
   9988     return This->lpVtbl->put_async(This,f);
   9989 }
   9990 #endif
   9991 #endif
   9992 
   9993 #endif
   9994 
   9995 
   9996 #endif  /* __IXMLDocument2_INTERFACE_DEFINED__ */
   9997 
   9998 typedef enum tagXMLEMEM_TYPE {
   9999     XMLELEMTYPE_ELEMENT = 0,
  10000     XMLELEMTYPE_TEXT = 1,
  10001     XMLELEMTYPE_COMMENT = 2,
  10002     XMLELEMTYPE_DOCUMENT = 3,
  10003     XMLELEMTYPE_DTD = 4,
  10004     XMLELEMTYPE_PI = 5,
  10005     XMLELEMTYPE_OTHER = 6
  10006 } XMLELEM_TYPE;
  10007 typedef struct _xml_error {
  10008     UINT _nLine;
  10009     BSTR _pchBuf;
  10010     BSTR _cchBuf;
  10011     UINT _ich;
  10012     BSTR _pszFound;
  10013     BSTR _pszExpected;
  10014     DWORD _reserved1;
  10015     DWORD _reserved2;
  10016 } XML_ERROR;
  10017 /*****************************************************************************
  10018  * IXMLAttribute interface
  10019  */
  10020 #ifndef __IXMLAttribute_INTERFACE_DEFINED__
  10021 #define __IXMLAttribute_INTERFACE_DEFINED__
  10022 
  10023 DEFINE_GUID(IID_IXMLAttribute, 0xd4d4a0fc, 0x3b73, 0x11d1, 0xb2,0xb4, 0x00,0xc0,0x4f,0xb9,0x25,0x96);
  10024 #if defined(__cplusplus) && !defined(CINTERFACE)
  10025 MIDL_INTERFACE("d4d4a0fc-3b73-11d1-b2b4-00c04fb92596")
  10026 IXMLAttribute : public IDispatch
  10027 {
  10028     virtual HRESULT STDMETHODCALLTYPE get_name(
  10029         BSTR *p) = 0;
  10030 
  10031     virtual HRESULT STDMETHODCALLTYPE get_value(
  10032         BSTR *p) = 0;
  10033 
  10034 };
  10035 #ifdef __CRT_UUID_DECL
  10036 __CRT_UUID_DECL(IXMLAttribute, 0xd4d4a0fc, 0x3b73, 0x11d1, 0xb2,0xb4, 0x00,0xc0,0x4f,0xb9,0x25,0x96)
  10037 #endif
  10038 #else
  10039 typedef struct IXMLAttributeVtbl {
  10040     BEGIN_INTERFACE
  10041 
  10042     /*** IUnknown methods ***/
  10043     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10044         IXMLAttribute *This,
  10045         REFIID riid,
  10046         void **ppvObject);
  10047 
  10048     ULONG (STDMETHODCALLTYPE *AddRef)(
  10049         IXMLAttribute *This);
  10050 
  10051     ULONG (STDMETHODCALLTYPE *Release)(
  10052         IXMLAttribute *This);
  10053 
  10054     /*** IDispatch methods ***/
  10055     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10056         IXMLAttribute *This,
  10057         UINT *pctinfo);
  10058 
  10059     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10060         IXMLAttribute *This,
  10061         UINT iTInfo,
  10062         LCID lcid,
  10063         ITypeInfo **ppTInfo);
  10064 
  10065     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10066         IXMLAttribute *This,
  10067         REFIID riid,
  10068         LPOLESTR *rgszNames,
  10069         UINT cNames,
  10070         LCID lcid,
  10071         DISPID *rgDispId);
  10072 
  10073     HRESULT (STDMETHODCALLTYPE *Invoke)(
  10074         IXMLAttribute *This,
  10075         DISPID dispIdMember,
  10076         REFIID riid,
  10077         LCID lcid,
  10078         WORD wFlags,
  10079         DISPPARAMS *pDispParams,
  10080         VARIANT *pVarResult,
  10081         EXCEPINFO *pExcepInfo,
  10082         UINT *puArgErr);
  10083 
  10084     /*** IXMLAttribute methods ***/
  10085     HRESULT (STDMETHODCALLTYPE *get_name)(
  10086         IXMLAttribute *This,
  10087         BSTR *p);
  10088 
  10089     HRESULT (STDMETHODCALLTYPE *get_value)(
  10090         IXMLAttribute *This,
  10091         BSTR *p);
  10092 
  10093     END_INTERFACE
  10094 } IXMLAttributeVtbl;
  10095 
  10096 interface IXMLAttribute {
  10097     CONST_VTBL IXMLAttributeVtbl* lpVtbl;
  10098 };
  10099 
  10100 #ifdef COBJMACROS
  10101 #ifndef WIDL_C_INLINE_WRAPPERS
  10102 /*** IUnknown methods ***/
  10103 #define IXMLAttribute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10104 #define IXMLAttribute_AddRef(This) (This)->lpVtbl->AddRef(This)
  10105 #define IXMLAttribute_Release(This) (This)->lpVtbl->Release(This)
  10106 /*** IDispatch methods ***/
  10107 #define IXMLAttribute_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10108 #define IXMLAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10109 #define IXMLAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10110 #define IXMLAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10111 /*** IXMLAttribute methods ***/
  10112 #define IXMLAttribute_get_name(This,p) (This)->lpVtbl->get_name(This,p)
  10113 #define IXMLAttribute_get_value(This,p) (This)->lpVtbl->get_value(This,p)
  10114 #else
  10115 /*** IUnknown methods ***/
  10116 static inline HRESULT IXMLAttribute_QueryInterface(IXMLAttribute* This,REFIID riid,void **ppvObject) {
  10117     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10118 }
  10119 static inline ULONG IXMLAttribute_AddRef(IXMLAttribute* This) {
  10120     return This->lpVtbl->AddRef(This);
  10121 }
  10122 static inline ULONG IXMLAttribute_Release(IXMLAttribute* This) {
  10123     return This->lpVtbl->Release(This);
  10124 }
  10125 /*** IDispatch methods ***/
  10126 static inline HRESULT IXMLAttribute_GetTypeInfoCount(IXMLAttribute* This,UINT *pctinfo) {
  10127     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10128 }
  10129 static inline HRESULT IXMLAttribute_GetTypeInfo(IXMLAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10130     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10131 }
  10132 static inline HRESULT IXMLAttribute_GetIDsOfNames(IXMLAttribute* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10133     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10134 }
  10135 static inline HRESULT IXMLAttribute_Invoke(IXMLAttribute* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10136     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10137 }
  10138 /*** IXMLAttribute methods ***/
  10139 static inline HRESULT IXMLAttribute_get_name(IXMLAttribute* This,BSTR *p) {
  10140     return This->lpVtbl->get_name(This,p);
  10141 }
  10142 static inline HRESULT IXMLAttribute_get_value(IXMLAttribute* This,BSTR *p) {
  10143     return This->lpVtbl->get_value(This,p);
  10144 }
  10145 #endif
  10146 #endif
  10147 
  10148 #endif
  10149 
  10150 
  10151 #endif  /* __IXMLAttribute_INTERFACE_DEFINED__ */
  10152 
  10153 /*****************************************************************************
  10154  * IXMLError interface
  10155  */
  10156 #ifndef __IXMLError_INTERFACE_DEFINED__
  10157 #define __IXMLError_INTERFACE_DEFINED__
  10158 
  10159 DEFINE_GUID(IID_IXMLError, 0x948c5ad3, 0xc58d, 0x11d0, 0x9c,0x0b, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
  10160 #if defined(__cplusplus) && !defined(CINTERFACE)
  10161 MIDL_INTERFACE("948c5ad3-c58d-11d0-9c0b-00c04fc99c8e")
  10162 IXMLError : public IUnknown
  10163 {
  10164     virtual HRESULT STDMETHODCALLTYPE GetErrorInfo(
  10165         XML_ERROR *pErrorReturn) = 0;
  10166 
  10167 };
  10168 #ifdef __CRT_UUID_DECL
  10169 __CRT_UUID_DECL(IXMLError, 0x948c5ad3, 0xc58d, 0x11d0, 0x9c,0x0b, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e)
  10170 #endif
  10171 #else
  10172 typedef struct IXMLErrorVtbl {
  10173     BEGIN_INTERFACE
  10174 
  10175     /*** IUnknown methods ***/
  10176     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10177         IXMLError *This,
  10178         REFIID riid,
  10179         void **ppvObject);
  10180 
  10181     ULONG (STDMETHODCALLTYPE *AddRef)(
  10182         IXMLError *This);
  10183 
  10184     ULONG (STDMETHODCALLTYPE *Release)(
  10185         IXMLError *This);
  10186 
  10187     /*** IXMLError methods ***/
  10188     HRESULT (STDMETHODCALLTYPE *GetErrorInfo)(
  10189         IXMLError *This,
  10190         XML_ERROR *pErrorReturn);
  10191 
  10192     END_INTERFACE
  10193 } IXMLErrorVtbl;
  10194 
  10195 interface IXMLError {
  10196     CONST_VTBL IXMLErrorVtbl* lpVtbl;
  10197 };
  10198 
  10199 #ifdef COBJMACROS
  10200 #ifndef WIDL_C_INLINE_WRAPPERS
  10201 /*** IUnknown methods ***/
  10202 #define IXMLError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10203 #define IXMLError_AddRef(This) (This)->lpVtbl->AddRef(This)
  10204 #define IXMLError_Release(This) (This)->lpVtbl->Release(This)
  10205 /*** IXMLError methods ***/
  10206 #define IXMLError_GetErrorInfo(This,pErrorReturn) (This)->lpVtbl->GetErrorInfo(This,pErrorReturn)
  10207 #else
  10208 /*** IUnknown methods ***/
  10209 static inline HRESULT IXMLError_QueryInterface(IXMLError* This,REFIID riid,void **ppvObject) {
  10210     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10211 }
  10212 static inline ULONG IXMLError_AddRef(IXMLError* This) {
  10213     return This->lpVtbl->AddRef(This);
  10214 }
  10215 static inline ULONG IXMLError_Release(IXMLError* This) {
  10216     return This->lpVtbl->Release(This);
  10217 }
  10218 /*** IXMLError methods ***/
  10219 static inline HRESULT IXMLError_GetErrorInfo(IXMLError* This,XML_ERROR *pErrorReturn) {
  10220     return This->lpVtbl->GetErrorInfo(This,pErrorReturn);
  10221 }
  10222 #endif
  10223 #endif
  10224 
  10225 #endif
  10226 
  10227 
  10228 #endif  /* __IXMLError_INTERFACE_DEFINED__ */
  10229 
  10230 /*****************************************************************************
  10231  * IXMLElementNotificationSink interface
  10232  */
  10233 #ifndef __IXMLElementNotificationSink_INTERFACE_DEFINED__
  10234 #define __IXMLElementNotificationSink_INTERFACE_DEFINED__
  10235 
  10236 DEFINE_GUID(IID_IXMLElementNotificationSink, 0xd9f1e15a, 0xccdb, 0x11d0, 0x9c,0x0c, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
  10237 #if defined(__cplusplus) && !defined(CINTERFACE)
  10238 MIDL_INTERFACE("d9f1e15a-ccdb-11d0-9c0c-00c04fc99c8e")
  10239 IXMLElementNotificationSink : public IDispatch
  10240 {
  10241     virtual HRESULT STDMETHODCALLTYPE ChildAdded(
  10242         IDispatch *pChildElem) = 0;
  10243 
  10244 };
  10245 #ifdef __CRT_UUID_DECL
  10246 __CRT_UUID_DECL(IXMLElementNotificationSink, 0xd9f1e15a, 0xccdb, 0x11d0, 0x9c,0x0c, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e)
  10247 #endif
  10248 #else
  10249 typedef struct IXMLElementNotificationSinkVtbl {
  10250     BEGIN_INTERFACE
  10251 
  10252     /*** IUnknown methods ***/
  10253     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  10254         IXMLElementNotificationSink *This,
  10255         REFIID riid,
  10256         void **ppvObject);
  10257 
  10258     ULONG (STDMETHODCALLTYPE *AddRef)(
  10259         IXMLElementNotificationSink *This);
  10260 
  10261     ULONG (STDMETHODCALLTYPE *Release)(
  10262         IXMLElementNotificationSink *This);
  10263 
  10264     /*** IDispatch methods ***/
  10265     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  10266         IXMLElementNotificationSink *This,
  10267         UINT *pctinfo);
  10268 
  10269     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  10270         IXMLElementNotificationSink *This,
  10271         UINT iTInfo,
  10272         LCID lcid,
  10273         ITypeInfo **ppTInfo);
  10274 
  10275     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  10276         IXMLElementNotificationSink *This,
  10277         REFIID riid,
  10278         LPOLESTR *rgszNames,
  10279         UINT cNames,
  10280         LCID lcid,
  10281         DISPID *rgDispId);
  10282 
  10283     HRESULT (STDMETHODCALLTYPE *Invoke)(
  10284         IXMLElementNotificationSink *This,
  10285         DISPID dispIdMember,
  10286         REFIID riid,
  10287         LCID lcid,
  10288         WORD wFlags,
  10289         DISPPARAMS *pDispParams,
  10290         VARIANT *pVarResult,
  10291         EXCEPINFO *pExcepInfo,
  10292         UINT *puArgErr);
  10293 
  10294     /*** IXMLElementNotificationSink methods ***/
  10295     HRESULT (STDMETHODCALLTYPE *ChildAdded)(
  10296         IXMLElementNotificationSink *This,
  10297         IDispatch *pChildElem);
  10298 
  10299     END_INTERFACE
  10300 } IXMLElementNotificationSinkVtbl;
  10301 
  10302 interface IXMLElementNotificationSink {
  10303     CONST_VTBL IXMLElementNotificationSinkVtbl* lpVtbl;
  10304 };
  10305 
  10306 #ifdef COBJMACROS
  10307 #ifndef WIDL_C_INLINE_WRAPPERS
  10308 /*** IUnknown methods ***/
  10309 #define IXMLElementNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  10310 #define IXMLElementNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  10311 #define IXMLElementNotificationSink_Release(This) (This)->lpVtbl->Release(This)
  10312 /*** IDispatch methods ***/
  10313 #define IXMLElementNotificationSink_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  10314 #define IXMLElementNotificationSink_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  10315 #define IXMLElementNotificationSink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  10316 #define IXMLElementNotificationSink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  10317 /*** IXMLElementNotificationSink methods ***/
  10318 #define IXMLElementNotificationSink_ChildAdded(This,pChildElem) (This)->lpVtbl->ChildAdded(This,pChildElem)
  10319 #else
  10320 /*** IUnknown methods ***/
  10321 static inline HRESULT IXMLElementNotificationSink_QueryInterface(IXMLElementNotificationSink* This,REFIID riid,void **ppvObject) {
  10322     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  10323 }
  10324 static inline ULONG IXMLElementNotificationSink_AddRef(IXMLElementNotificationSink* This) {
  10325     return This->lpVtbl->AddRef(This);
  10326 }
  10327 static inline ULONG IXMLElementNotificationSink_Release(IXMLElementNotificationSink* This) {
  10328     return This->lpVtbl->Release(This);
  10329 }
  10330 /*** IDispatch methods ***/
  10331 static inline HRESULT IXMLElementNotificationSink_GetTypeInfoCount(IXMLElementNotificationSink* This,UINT *pctinfo) {
  10332     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  10333 }
  10334 static inline HRESULT IXMLElementNotificationSink_GetTypeInfo(IXMLElementNotificationSink* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  10335     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  10336 }
  10337 static inline HRESULT IXMLElementNotificationSink_GetIDsOfNames(IXMLElementNotificationSink* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  10338     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  10339 }
  10340 static inline HRESULT IXMLElementNotificationSink_Invoke(IXMLElementNotificationSink* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  10341     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  10342 }
  10343 /*** IXMLElementNotificationSink methods ***/
  10344 static inline HRESULT IXMLElementNotificationSink_ChildAdded(IXMLElementNotificationSink* This,IDispatch *pChildElem) {
  10345     return This->lpVtbl->ChildAdded(This,pChildElem);
  10346 }
  10347 #endif
  10348 #endif
  10349 
  10350 #endif
  10351 
  10352 
  10353 #endif  /* __IXMLElementNotificationSink_INTERFACE_DEFINED__ */
  10354 
  10355 /*****************************************************************************
  10356  * XMLDocument coclass
  10357  */
  10358 
  10359 DEFINE_GUID(CLSID_XMLDocument, 0xcfc399af, 0xd876, 0x11d0, 0x9c,0x10, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e);
  10360 
  10361 #ifdef __cplusplus
  10362 class DECLSPEC_UUID("cfc399af-d876-11d0-9c10-00c04fc99c8e") XMLDocument;
  10363 #ifdef __CRT_UUID_DECL
  10364 __CRT_UUID_DECL(XMLDocument, 0xcfc399af, 0xd876, 0x11d0, 0x9c,0x10, 0x00,0xc0,0x4f,0xc9,0x9c,0x8e)
  10365 #endif
  10366 #endif
  10367 
  10368 #endif /* __MSXML_LIBRARY_DEFINED__ */
  10369 /* Begin additional prototypes for all interfaces */
  10370 
  10371 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
  10372 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
  10373 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  10374 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
  10375 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
  10376 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
  10377 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  10378 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
  10379 
  10380 /* End additional prototypes */
  10381 
  10382 #ifdef __cplusplus
  10383 }
  10384 #endif
  10385 
  10386 #endif /* __msxml_h__ */