ReactOS  0.4.14-dev-317-g96040ec
vbscript.h
Go to the documentation of this file.
1 /*
2  * Copyright 2011 Jacek Caban for CodeWeavers
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 #pragma once
20 
21 #include <stdarg.h>
22 
23 #define COBJMACROS
24 
25 #include "windef.h"
26 #include "winbase.h"
27 #include "ole2.h"
28 #include "dispex.h"
29 #include "activscp.h"
30 #include "activdbg.h"
31 
32 #ifdef __REACTOS__
33 #include <initguid.h>
34 #endif
35 #include "vbscript_classes.h"
36 
37 #include "wine/heap.h"
38 #include "wine/list.h"
39 #include "wine/unicode.h"
40 
41 typedef struct {
42  void **blocks;
43  DWORD block_cnt;
44  DWORD last_block;
45  DWORD offset;
46  BOOL mark;
47  struct list custom_blocks;
48 } heap_pool_t;
49 
56 
61 
62 typedef struct named_item_t {
63  IDispatch *disp;
64  DWORD flags;
65  LPWSTR name;
66 
67  struct list entry;
68 } named_item_t;
69 
70 typedef enum {
76 
77 typedef struct {
78  unsigned dim_cnt;
80 } array_desc_t;
81 
82 typedef struct {
85  const WCHAR *name;
87 
88 typedef struct {
89  const WCHAR *name;
94 
95 #define BP_GET 1
96 #define BP_GETPUT 2
97 
98 typedef struct {
101  DWORD flags;
102  unsigned min_args;
105 
106 typedef struct _class_desc_t {
107  const WCHAR *name;
109 
112  unsigned func_cnt;
114 
115  unsigned prop_cnt;
117 
118  unsigned array_cnt;
120 
125 
127 } class_desc_t;
128 
129 struct _vbdisp_t {
130  IDispatchEx IDispatchEx_iface;
131 
134  struct list entry;
135 
139 };
140 
141 typedef struct _ident_map_t ident_map_t;
142 
143 typedef struct {
144  IDispatchEx IDispatchEx_iface;
146 
148  unsigned ident_map_cnt;
149  unsigned ident_map_size;
150 
152 } ScriptDisp;
153 
163 
165 
166 static inline unsigned arg_cnt(const DISPPARAMS *dp)
167 {
168  return dp->cArgs - dp->cNamedArgs;
169 }
170 
171 static inline VARIANT *get_arg(DISPPARAMS *dp, DWORD i)
172 {
173  return dp->rgvarg + dp->cArgs-i-1;
174 }
175 
176 typedef struct _dynamic_var_t {
179  const WCHAR *name;
181 } dynamic_var_t;
182 
183 struct _script_ctx_t {
185  LCID lcid;
186 
188  DWORD safeopt;
189 
191 
193 
196 
199 
201 
206 
208 
209  struct list objects;
210  struct list code_list;
212 };
213 
216 
218 
219 typedef enum {
220  ARG_NONE = 0,
228 
229 #define OP_LIST \
230  X(add, 1, 0, 0) \
231  X(and, 1, 0, 0) \
232  X(assign_ident, 1, ARG_BSTR, ARG_UINT) \
233  X(assign_member, 1, ARG_BSTR, ARG_UINT) \
234  X(bool, 1, ARG_INT, 0) \
235  X(catch, 1, ARG_ADDR, ARG_UINT) \
236  X(case, 0, ARG_ADDR, 0) \
237  X(concat, 1, 0, 0) \
238  X(const, 1, ARG_BSTR, 0) \
239  X(dim, 1, ARG_BSTR, ARG_UINT) \
240  X(div, 1, 0, 0) \
241  X(double, 1, ARG_DOUBLE, 0) \
242  X(empty, 1, 0, 0) \
243  X(enumnext, 0, ARG_ADDR, ARG_BSTR) \
244  X(equal, 1, 0, 0) \
245  X(hres, 1, ARG_UINT, 0) \
246  X(errmode, 1, ARG_INT, 0) \
247  X(eqv, 1, 0, 0) \
248  X(exp, 1, 0, 0) \
249  X(gt, 1, 0, 0) \
250  X(gteq, 1, 0, 0) \
251  X(icall, 1, ARG_BSTR, ARG_UINT) \
252  X(icallv, 1, ARG_BSTR, ARG_UINT) \
253  X(idiv, 1, 0, 0) \
254  X(imp, 1, 0, 0) \
255  X(incc, 1, ARG_BSTR, 0) \
256  X(is, 1, 0, 0) \
257  X(jmp, 0, ARG_ADDR, 0) \
258  X(jmp_false, 0, ARG_ADDR, 0) \
259  X(jmp_true, 0, ARG_ADDR, 0) \
260  X(long, 1, ARG_INT, 0) \
261  X(lt, 1, 0, 0) \
262  X(lteq, 1, 0, 0) \
263  X(mcall, 1, ARG_BSTR, ARG_UINT) \
264  X(mcallv, 1, ARG_BSTR, ARG_UINT) \
265  X(me, 1, 0, 0) \
266  X(mod, 1, 0, 0) \
267  X(mul, 1, 0, 0) \
268  X(neg, 1, 0, 0) \
269  X(nequal, 1, 0, 0) \
270  X(new, 1, ARG_STR, 0) \
271  X(newenum, 1, 0, 0) \
272  X(not, 1, 0, 0) \
273  X(nothing, 1, 0, 0) \
274  X(null, 1, 0, 0) \
275  X(or, 1, 0, 0) \
276  X(pop, 1, ARG_UINT, 0) \
277  X(ret, 0, 0, 0) \
278  X(set_ident, 1, ARG_BSTR, ARG_UINT) \
279  X(set_member, 1, ARG_BSTR, ARG_UINT) \
280  X(short, 1, ARG_INT, 0) \
281  X(step, 0, ARG_ADDR, ARG_BSTR) \
282  X(stop, 1, 0, 0) \
283  X(string, 1, ARG_STR, 0) \
284  X(sub, 1, 0, 0) \
285  X(val, 1, 0, 0) \
286  X(xor, 1, 0, 0)
287 
288 typedef enum {
289 #define X(x,n,a,b) OP_##x,
290 OP_LIST
291 #undef X
293 } vbsop_t;
294 
295 typedef union {
296  const WCHAR *str;
297  BSTR bstr;
298  unsigned uint;
299  LONG lng;
300  double *dbl;
301 } instr_arg_t;
302 
303 typedef struct {
307 } instr_t;
308 
309 typedef struct {
310  const WCHAR *name;
312 } arg_desc_t;
313 
314 typedef enum {
323 
324 typedef struct {
325  const WCHAR *name;
326 } var_desc_t;
327 
328 struct _function_t {
330  const WCHAR *name;
333  unsigned arg_cnt;
335  unsigned var_cnt;
337  unsigned array_cnt;
338  unsigned code_off;
341 };
342 
343 struct _vbscode_t {
346 
348 
352 
354  unsigned bstr_pool_size;
355  unsigned bstr_cnt;
357 
358  struct list entry;
359 };
360 
366 
367 typedef struct {
369  WCHAR buf[7];
371 
372 #define TID_LIST \
373  XDIID(ErrObj) \
374  XDIID(GlobalObj)
375 
376 typedef enum {
377 #define XDIID(iface) iface ## _tid,
378 TID_LIST
379 #undef XDIID
381 } tid_t;
382 
385 
386 #ifndef INT32_MIN
387 #define INT32_MIN (-2147483647-1)
388 #endif
389 
390 #ifndef INT32_MAX
391 #define INT32_MAX (2147483647)
392 #endif
393 
394 static inline BOOL is_int32(double d)
395 {
396  return INT32_MIN <= d && d <= INT32_MAX && (double)(int)d == d;
397 }
398 
400 
402 
404 
405 #define FACILITY_VBS 0xa
406 #define MAKE_VBSERROR(code) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_VBS, code)
407 
408 #define VBSE_ILLEGAL_FUNC_CALL 5
409 #define VBSE_OVERFLOW 6
410 #define VBSE_OUT_OF_MEMORY 7
411 #define VBSE_OUT_OF_BOUNDS 9
412 #define VBSE_ARRAY_LOCKED 10
413 #define VBSE_TYPE_MISMATCH 13
414 #define VBSE_FILE_NOT_FOUND 53
415 #define VBSE_IO_ERROR 57
416 #define VBSE_FILE_ALREADY_EXISTS 58
417 #define VBSE_DISK_FULL 61
418 #define VBSE_TOO_MANY_FILES 67
419 #define VBSE_PERMISSION_DENIED 70
420 #define VBSE_PATH_FILE_ACCESS 75
421 #define VBSE_PATH_NOT_FOUND 76
422 #define VBSE_ILLEGAL_NULL_USE 94
423 #define VBSE_OLE_NOT_SUPPORTED 430
424 #define VBSE_OLE_NO_PROP_OR_METHOD 438
425 #define VBSE_ACTION_NOT_SUPPORTED 445
426 #define VBSE_NAMED_ARGS_NOT_SUPPORTED 446
427 #define VBSE_LOCALE_SETTING_NOT_SUPPORTED 447
428 #define VBSE_NAMED_PARAM_NOT_FOUND 448
429 #define VBSE_INVALID_TYPELIB_VARIABLE 458
430 #define VBSE_FUNC_ARITY_MISMATCH 450
431 #define VBSE_PARAMETER_NOT_OPTIONAL 449
432 #define VBSE_NOT_ENUM 451
433 #define VBSE_INVALID_DLL_FUNCTION_NAME 453
434 #define VBSE_CANT_CREATE_TMP_FILE 322
435 #define VBSE_OLE_FILE_NOT_FOUND 432
436 #define VBSE_CANT_CREATE_OBJECT 429
437 #define VBSE_SERVER_NOT_FOUND 462
438 
441 
443 {
444  LPWSTR ret = NULL;
445 
446  if(str) {
447  DWORD size;
448 
449  size = (strlenW(str)+1)*sizeof(WCHAR);
450  ret = heap_alloc(size);
451  if(ret)
452  memcpy(ret, str, size);
453  }
454 
455  return ret;
456 }
457 
458 #define VBSCRIPT_BUILD_VERSION 16978
459 #define VBSCRIPT_MAJOR_VERSION 5
460 #define VBSCRIPT_MINOR_VERSION 8
HRESULT exec_script(script_ctx_t *, function_t *, vbdisp_t *, DISPPARAMS *, VARIANT *) DECLSPEC_HIDDEN
Definition: interp.c:2064
const WCHAR * name
Definition: vbscript.h:325
vbsop_t op
Definition: vbscript.h:304
DISPID id
Definition: vbscript.h:99
disp
Definition: i386-dis.c:3181
instr_arg_type_t
Definition: vbscript.h:219
#define HRESULT
Definition: msvc.h:9
const WCHAR * name
Definition: vbscript.h:179
void * heap_pool_alloc(heap_pool_t *, size_t) __WINE_ALLOC_SIZE(2) DECLSPEC_HIDDEN
heap_pool_t heap
Definition: vbscript.h:207
#define REFIID
Definition: guiddef.h:118
arg_desc_t * args
Definition: vbscript.h:332
ScriptDisp * script_obj
Definition: vbscript.h:192
heap_pool_t heap
Definition: vbscript.h:356
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
VARIANT v
Definition: vbscript.h:178
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
SAFEARRAYBOUND * bounds
Definition: vbscript.h:79
vbdisp_invoke_type_t
Definition: vbscript.h:70
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
HRESULT disp_get_id(IDispatch *, BSTR, vbdisp_invoke_type_t, BOOL, DISPID *) DECLSPEC_HIDDEN
Definition: vbdisp.c:994
HRESULT vbdisp_get_id(vbdisp_t *, BSTR, vbdisp_invoke_type_t, BOOL, DISPID *) DECLSPEC_HIDDEN
Definition: vbdisp.c:59
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
unsigned class_initialize_id
Definition: vbscript.h:110
tid_t
Definition: ieframe.h:311
vbsop_t
Definition: vbscript.h:288
script_ctx_t * ctx
Definition: vbscript.h:151
unsigned bstr_cnt
Definition: vbscript.h:355
struct list objects
Definition: vbscript.h:209
dynamic_var_t * global_vars
Definition: vbscript.h:202
const WCHAR * str
Definition: vbscript.h:296
unsigned code_off
Definition: vbscript.h:338
GLintptr offset
Definition: glext.h:5920
struct named_item_t named_item_t
HRESULT get_typeinfo(tid_t, ITypeInfo **) DECLSPEC_HIDDEN
Definition: ieframe_main.c:61
script_ctx_t * ctx
Definition: vbscript.h:108
unsigned arg_cnt
Definition: vbscript.h:333
class_desc_t * classes
Definition: vbscript.h:204
DWORD LCID
Definition: nls.h:13
static HANDLE proc()
Definition: pdb.c:32
OLECHAR * BSTR
Definition: compat.h:1934
unsigned ident_map_size
Definition: vbscript.h:149
IDispatch * host_global
Definition: jscript.h:429
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
unsigned array_cnt
Definition: vbscript.h:337
unsigned prop_cnt
Definition: vbscript.h:115
struct _dynamic_var_t dynamic_var_t
HRESULT map_hres(HRESULT) DECLSPEC_HIDDEN
Definition: vbdisp.c:1017
struct _class_desc_t class_desc_t
heap_pool_t * heap_pool_mark(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:182
function_t * global_funcs
Definition: vbscript.h:203
function_type_t
Definition: vbscript.h:314
IUnknown * create_ax_site(script_ctx_t *) DECLSPEC_HIDDEN
Definition: jscript.c:324
LONG ref
Definition: vbscript.h:132
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HRESULT disp_call(script_ctx_t *, IDispatch *, DISPID, DISPPARAMS *, VARIANT *) DECLSPEC_HIDDEN
Definition: vbdisp.c:1078
const WCHAR * name
Definition: vbscript.h:85
unsigned array_cnt
Definition: vbscript.h:118
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
instr_arg_t arg2
Definition: vbscript.h:306
HRESULT get_disp_value(script_ctx_t *, IDispatch *, VARIANT *) DECLSPEC_HIDDEN
Definition: vbdisp.c:1102
HRESULT to_int(VARIANT *, int *) DECLSPEC_HIDDEN
Definition: global.c:163
void heap_pool_clear(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:146
function_type_t type
Definition: vbscript.h:329
array_desc_t * array_descs
Definition: vbscript.h:119
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
Definition: string.c:80
const WCHAR * str
unsigned ident_map_cnt
Definition: vbscript.h:148
void * heap_pool_grow(heap_pool_t *, void *, DWORD, DWORD) DECLSPEC_HIDDEN
Definition: jsutils.c:130
smooth NULL
Definition: ftsmooth.c:416
unsigned bstr_pool_size
Definition: vbscript.h:354
static LPWSTR heap_strdupW(LPCWSTR str)
Definition: vbscript.h:442
vbdisp_t * err_obj
Definition: vbscript.h:198
static int blocks
Definition: mkdosfs.c:527
var_desc_t * vars
Definition: vbscript.h:334
struct list entry
Definition: vbscript.h:358
struct _dynamic_var_t * next
Definition: vbscript.h:177
vbscode_t * code_ctx
Definition: vbscript.h:339
class_desc_t err_desc
Definition: vbscript.h:197
BSTR * bstr_pool
Definition: vbscript.h:353
HRESULT WINAPI VBScriptRegExpFactory_CreateInstance(IClassFactory *, IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: vbregexp.c:1618
void heap_pool_init(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:71
HRESULT create_vbdisp(const class_desc_t *, vbdisp_t **) DECLSPEC_HIDDEN
Definition: vbdisp.c:562
void heap_pool_free(heap_pool_t *) DECLSPEC_HIDDEN
Definition: jsutils.c:169
GLsizeiptr size
Definition: glext.h:5919
ident_map_t * ident_map
Definition: vbscript.h:147
instr_t * instrs
Definition: vbscript.h:344
static BOOL is_int32(double d)
Definition: vbscript.h:394
unsigned min_args
Definition: vbscript.h:102
class_desc_t * procs
Definition: vbscript.h:205
#define d
Definition: ke_i.h:81
function_t main_code
Definition: vbscript.h:350
DWORD safeopt
Definition: jscript.h:419
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
BOOL option_explicit
Definition: vbscript.h:347
#define WINAPI
Definition: msvc.h:8
static VARIANT * get_arg(DISPPARAMS *dp, DWORD i)
Definition: vbscript.h:171
#define TID_LIST
Definition: vbscript.h:372
unsigned short WORD
Definition: ntddk_ex.h:93
HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *, IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: vbscript.c:861
function_t * value_func
Definition: vbscript.h:124
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned dim_cnt
Definition: vbscript.h:78
WCHAR * source
Definition: vbscript.h:345
unsigned builtin_prop_cnt
Definition: vbscript.h:121
struct _class_desc_t * next
Definition: vbscript.h:126
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
void release_vbscode(vbscode_t *) DECLSPEC_HIDDEN
Definition: compile.c:1740
const WCHAR * name
Definition: vbscript.h:89
GLbitfield flags
Definition: glext.h:7161
IDispatchEx IDispatchEx_iface
Definition: vbscript.h:130
int ret
HRESULT disp_propput(script_ctx_t *, IDispatch *, DISPID, WORD, DISPPARAMS *) DECLSPEC_HIDDEN
Definition: vbdisp.c:1108
#define INT32_MAX
Definition: vbscript.h:391
vbdisp_funcprop_desc_t * funcs
Definition: vbscript.h:113
#define INT32_MIN
Definition: vbscript.h:387
uint32_t entry
Definition: isohybrid.c:63
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
HRESULT create_procedure_disp(script_ctx_t *, vbscode_t *, IDispatch **) DECLSPEC_HIDDEN
Definition: vbdisp.c:639
function_t * next
Definition: vbscript.h:340
unsigned func_cnt
Definition: vbscript.h:112
Definition: _list.h:228
HRESULT compile_script(script_ctx_t *, const WCHAR *, const WCHAR *, vbscode_t **) DECLSPEC_HIDDEN
Definition: compile.c:1800
VARIANT props[1]
Definition: vbscript.h:138
BOOL pending_exec
Definition: vbscript.h:349
const class_desc_t * desc
Definition: vbscript.h:136
static VARIANTARG static DISPID
Definition: ordinal.c:49
static unsigned arg_cnt(const DISPPARAMS *dp)
Definition: vbscript.h:166
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
const builtin_prop_t * builtin_props
Definition: vbscript.h:122
IDispatch * context
Definition: vbscript.h:351
class_desc_t global_desc
Definition: vbscript.h:194
UINT_PTR max_args
Definition: vbscript.h:103
HRESULT create_script_disp(script_ctx_t *, ScriptDisp **) DECLSPEC_HIDDEN
Definition: vbdisp.c:959
array_desc_t * array_descs
Definition: vbscript.h:336
struct list entry
Definition: vbscript.h:134
void release_regexp_typelib(void) DECLSPEC_HIDDEN
Definition: vbregexp.c:1634
IDispatch * lookup_named_item(script_ctx_t *, const WCHAR *, unsigned) DECLSPEC_HIDDEN
Definition: vbscript.c:102
const WCHAR * name
Definition: vbscript.h:310
double * dbl
Definition: vbscript.h:300
IActiveScriptSite * site
Definition: jscript.h:417
struct list code_list
Definition: vbscript.h:210
unsigned class_terminate_id
Definition: vbscript.h:111
BOOL is_public
Definition: vbscript.h:331
unsigned short UINT16
IInternetHostSecurityManager * secmgr
Definition: jscript.h:418
HRESULT err_number
Definition: vbscript.h:200
IDispatchEx IDispatchEx_iface
Definition: vbscript.h:144
HRESULT init_global(script_ctx_t *) DECLSPEC_HIDDEN
Definition: global.c:1105
HRESULT create_safearray_iter(SAFEARRAY *sa, IEnumVARIANT **ev) DECLSPEC_HIDDEN
Definition: utils.c:163
void release_dynamic_vars(dynamic_var_t *) DECLSPEC_HIDDEN
Definition: interp.c:2022
struct stdole::DISPPARAMS DISPPARAMS
tid_t
Definition: vbscript.h:376
ITypeInfo * typeinfo
Definition: vbscript.h:123
named_item_t * named_items
Definition: jscript.h:416
vbdisp_prop_desc_t * props
Definition: vbscript.h:116
instr_arg_t arg1
Definition: vbscript.h:305
#define OP_LIST
Definition: vbscript.h:229
UINT32 uint
Definition: types.h:83
const WCHAR * name
Definition: vbscript.h:107
WCHAR * LPWSTR
Definition: xmlstorage.h:184
unsigned var_cnt
Definition: vbscript.h:335
const WCHAR * name
Definition: vbscript.h:330
HRESULT init_err(script_ctx_t *) DECLSPEC_HIDDEN
vbdisp_t * global_obj
Definition: vbscript.h:195
void collect_objects(script_ctx_t *) DECLSPEC_HIDDEN
Definition: vbdisp.c:975
static struct sockaddr_in sa
Definition: adnsresfilter.c:69
BOOL by_ref
Definition: vbscript.h:311
BOOL terminator_ran
Definition: vbscript.h:133
LONG ref
Definition: vbscript.h:145
HRESULT create_regexp(IDispatch **) DECLSPEC_HIDDEN
Definition: vbregexp.c:1596
SAFEARRAY ** arrays
Definition: vbscript.h:137
GLuint const GLchar * name
Definition: glext.h:6031