ReactOS 0.4.16-dev-2135-g2f5a67f
msxml_dispex.h
Go to the documentation of this file.
1/*
2 * Copyright 2005 Mike McCormack
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#ifndef __MSXML_DISPEX__
20#define __MSXML_DISPEX__
21
22#include "dispex.h"
23
24#include "wine/list.h"
25
26typedef enum
27{
29 MSXML2 = 20,
30 MSXML26 = 26,
31 MSXML3 = 30,
32 MSXML4 = 40,
33 MSXML6 = 60
35
36typedef enum tid_t
37{
81
83extern void release_typelib(void);
84
86
87typedef struct
88{
90 HRESULT (*invoke)(IUnknown*,DISPID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*);
92
93typedef struct
94{
95 const dispex_static_data_vtbl_t *vtbl;
96 const tid_t disp_tid;
98 const tid_t* const iface_tids;
100
101typedef struct
102{
103 IDispatchEx IDispatchEx_iface;
104
105 IUnknown *outer;
106
108} DispatchEx;
109
113const IID *get_riid_from_tid(enum tid_t tid);
114
115static inline HRESULT return_bstr(const WCHAR *value, BSTR *p)
116{
117 if (!p)
118 return E_INVALIDARG;
119
120 if (value)
121 {
123 if (!*p)
124 return E_OUTOFMEMORY;
125 }
126 else
127 *p = NULL;
128
129 return S_OK;
130}
131
132static inline HRESULT return_bstrn(const WCHAR *value, int len, BSTR *p)
133{
134 if (value)
135 {
137 if (!*p)
138 return E_OUTOFMEMORY;
139 }
140 else
141 *p = NULL;
142
143 return S_OK;
144}
145
146extern HRESULT dom_document_create(MSXML_VERSION class_version, void **document);
147
148typedef struct bsc_t bsc_t;
149
151HRESULT create_uri(IUri *base, const WCHAR *, IUri **);
152HRESULT bind_url(IMoniker*, HRESULT (*onDataAvailable)(void*,char*,DWORD), void*, bsc_t**);
155
156#endif /* __MSXML_DISPEX__ */
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NULL
Definition: types.h:112
OLECHAR * BSTR
Definition: compat.h:2293
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLfloat GLfloat p
Definition: glext.h:8902
GLenum GLsizei len
Definition: glext.h:6722
tid_t
Definition: ieframe.h:311
static TfClientId tid
#define S_OK
Definition: intsafe.h:52
static IActiveScriptSite * site
Definition: script.c:149
static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, VARTYPE vtResult)
Definition: automation.c:736
static DISPID get_dispid(IDispatch *disp, const char *name)
Definition: automation.c:397
static VARIANTARG static DISPID
Definition: ordinal.c:49
MSXML_VERSION
Definition: msxml_dispex.h:27
@ MSXML_DEFAULT
Definition: msxml_dispex.h:28
@ MSXML4
Definition: msxml_dispex.h:32
@ MSXML6
Definition: msxml_dispex.h:33
@ MSXML26
Definition: msxml_dispex.h:30
@ MSXML3
Definition: msxml_dispex.h:31
HRESULT detach_bsc(bsc_t *)
Definition: bsc.c:342
IUri * get_base_uri(IUnknown *site)
Definition: httprequest.c:1629
HRESULT create_moniker_from_url(LPCWSTR, IMoniker **)
Definition: bsc.c:284
tid_t
Definition: msxml_dispex.h:37
@ IVBSAXDTDHandler_tid
Definition: msxml_dispex.h:67
@ IXMLDOMNodeList_tid
Definition: msxml_dispex.h:52
@ IXMLDOMDocumentFragment_tid
Definition: msxml_dispex.h:45
@ IXMLDOMElement_tid
Definition: msxml_dispex.h:47
@ IMXReaderControl_tid
Definition: msxml_dispex.h:75
@ IXMLDOMEntityReference_tid
Definition: msxml_dispex.h:48
@ IXMLDocument_tid
Definition: msxml_dispex.h:60
@ IXMLDOMSchemaCollection2_tid
Definition: msxml_dispex.h:56
@ IVBSAXContentHandler_tid
Definition: msxml_dispex.h:65
@ IVBSAXLocator_tid
Definition: msxml_dispex.h:71
@ IXMLElement_tid
Definition: msxml_dispex.h:59
@ IXMLDOMNamedNodeMap_tid
Definition: msxml_dispex.h:50
@ IXMLDOMNode_tid
Definition: msxml_dispex.h:51
@ IXMLDOMText_tid
Definition: msxml_dispex.h:58
@ LAST_tid
Definition: msxml_dispex.h:79
@ IXMLDOMCDATASection_tid
Definition: msxml_dispex.h:40
@ IXMLDOMDocument3_tid
Definition: msxml_dispex.h:44
@ IMXWriter_tid
Definition: msxml_dispex.h:76
@ IServerXMLHTTPRequest_tid
Definition: msxml_dispex.h:78
@ IXMLDOMProcessingInstruction_tid
Definition: msxml_dispex.h:54
@ IVBSAXEntityResolver_tid
Definition: msxml_dispex.h:68
@ IVBSAXErrorHandler_tid
Definition: msxml_dispex.h:69
@ IXMLHTTPRequest_tid
Definition: msxml_dispex.h:61
@ IVBSAXXMLFilter_tid
Definition: msxml_dispex.h:72
@ IXMLDOMImplementation_tid
Definition: msxml_dispex.h:49
@ IVBSAXXMLReader_tid
Definition: msxml_dispex.h:73
@ IVBMXNamespaceManager_tid
Definition: msxml_dispex.h:77
@ IXMLDOMDocument2_tid
Definition: msxml_dispex.h:43
@ NULL_tid
Definition: msxml_dispex.h:38
@ IXMLDOMSchemaCollection_tid
Definition: msxml_dispex.h:55
@ IXMLDOMDocument_tid
Definition: msxml_dispex.h:42
@ IMXAttributes_tid
Definition: msxml_dispex.h:74
@ IXMLDOMDocumentType_tid
Definition: msxml_dispex.h:46
@ IXSLProcessor_tid
Definition: msxml_dispex.h:62
@ IVBSAXDeclHandler_tid
Definition: msxml_dispex.h:66
@ IXMLDOMAttribute_tid
Definition: msxml_dispex.h:39
@ IXSLTemplate_tid
Definition: msxml_dispex.h:63
@ IXMLDOMSelection_tid
Definition: msxml_dispex.h:57
@ IXMLDOMParseError2_tid
Definition: msxml_dispex.h:53
@ IXMLDOMComment_tid
Definition: msxml_dispex.h:41
@ IVBSAXLexicalHandler_tid
Definition: msxml_dispex.h:70
@ IVBSAXAttributes_tid
Definition: msxml_dispex.h:64
static HRESULT return_bstrn(const WCHAR *value, int len, BSTR *p)
Definition: msxml_dispex.h:132
HRESULT get_typeinfo(tid_t tid, ITypeInfo **typeinfo)
Definition: ieframe_main.c:61
const IID * get_riid_from_tid(enum tid_t tid)
Definition: dispex.c:130
BOOL dispex_query_interface(DispatchEx *, REFIID, void **)
Definition: dispex.c:1656
void init_dispex(DispatchEx *, IUnknown *, dispex_static_data_t *)
Definition: dispex.c:1737
static HRESULT return_bstr(const WCHAR *value, BSTR *p)
Definition: msxml_dispex.h:115
void release_typelib(void)
Definition: apps.c:159
void release_dispex(DispatchEx *)
Definition: dispex.c:1706
HRESULT dom_document_create(MSXML_VERSION class_version, void **document)
Definition: domdoc.c:3788
HRESULT create_uri(IUri *base, const WCHAR *, IUri **)
Definition: bsc.c:241
HRESULT bind_url(IMoniker *, HRESULT(*onDataAvailable)(void *, char *, DWORD), void *, bsc_t **)
Definition: bsc.c:299
#define DWORD
Definition: nt_native.h:44
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
Definition: bsc.c:39
HRESULT(* onDataAvailable)(void *, char *, DWORD)
Definition: bsc.c:45
Definition: pdh_main.c:96
#define HRESULT
Definition: msvc.h:7
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
__wchar_t WCHAR
Definition: xmlstorage.h:180