ReactOS  0.4.14-dev-828-g8dc90a4
vbscript_main.c File Reference
#include "initguid.h"
#include "vbscript.h"
#include "objsafe.h"
#include "mshtmhst.h"
#include "rpcproxy.h"
#include "vbscript_classes.h"
#include "vbsglobal.h"
#include "vbsregexp55.h"
#include "wine/debug.h"
Include dependency graph for vbscript_main.c:

Go to the source code of this file.

Macros

#define MIN_BLOCK_SIZE   128
 
#define ARENA_FREE_FILLER   0xaa
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (vbscript)
 
 WINE_DECLARE_DEBUG_CHANNEL (heap)
 
 DEFINE_GUID (GUID_NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 
BSTR get_vbscript_string (int id)
 
BSTR get_vbscript_error_string (HRESULT error)
 
static DWORD block_size (DWORD block)
 
void heap_pool_init (heap_pool_t *heap)
 
voidheap_pool_alloc (heap_pool_t *heap, size_t size)
 
voidheap_pool_grow (heap_pool_t *heap, void *mem, DWORD size, DWORD inc)
 
void heap_pool_clear (heap_pool_t *heap)
 
void heap_pool_free (heap_pool_t *heap)
 
heap_pool_theap_pool_mark (heap_pool_t *heap)
 
static HRESULT WINAPI ClassFactory_QueryInterface (IClassFactory *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ClassFactory_AddRef (IClassFactory *iface)
 
static ULONG WINAPI ClassFactory_Release (IClassFactory *iface)
 
static HRESULT WINAPI ClassFactory_LockServer (IClassFactory *iface, BOOL fLock)
 
BOOL WINAPI DllMain (HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
 
HRESULT WINAPI DllGetClassObject (REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI DllCanUnloadNow (void)
 
HRESULT WINAPI DllRegisterServer (void)
 
HRESULT WINAPI DllUnregisterServer (void)
 

Variables

static HINSTANCE vbscript_hinstance
 
static const IClassFactoryVtbl VBScriptFactoryVtbl
 
static IClassFactory VBScriptFactory = { &VBScriptFactoryVtbl }
 
static const IClassFactoryVtbl VBScriptRegExpFactoryVtbl
 
static IClassFactory VBScriptRegExpFactory = { &VBScriptRegExpFactoryVtbl }
 

Macro Definition Documentation

◆ ARENA_FREE_FILLER

#define ARENA_FREE_FILLER   0xaa

Definition at line 54 of file vbscript_main.c.

◆ MIN_BLOCK_SIZE

#define MIN_BLOCK_SIZE   128

Definition at line 53 of file vbscript_main.c.

Function Documentation

◆ block_size()

static DWORD block_size ( DWORD  block)
inlinestatic

Definition at line 56 of file vbscript_main.c.

57 {
58  return MIN_BLOCK_SIZE << block;
59 }
static unsigned int block
Definition: xmlmemory.c:118
#define MIN_BLOCK_SIZE
Definition: vbscript_main.c:53

Referenced by heap_pool_alloc(), heap_pool_clear(), and heap_pool_grow().

◆ ClassFactory_AddRef()

static ULONG WINAPI ClassFactory_AddRef ( IClassFactory iface)
static

Definition at line 204 of file vbscript_main.c.

205 {
206  TRACE("(%p)\n", iface);
207  return 2;
208 }
#define TRACE(s)
Definition: solgame.cpp:4

◆ ClassFactory_LockServer()

static HRESULT WINAPI ClassFactory_LockServer ( IClassFactory iface,
BOOL  fLock 
)
static

Definition at line 216 of file vbscript_main.c.

217 {
218  TRACE("(%p)->(%x)\n", iface, fLock);
219  return S_OK;
220 }
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ ClassFactory_QueryInterface()

static HRESULT WINAPI ClassFactory_QueryInterface ( IClassFactory iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 183 of file vbscript_main.c.

184 {
185  *ppv = NULL;
186 
187  if(IsEqualGUID(&IID_IUnknown, riid)) {
188  TRACE("(%p)->(IID_IUnknown %p)\n", iface, ppv);
189  *ppv = iface;
190  }else if(IsEqualGUID(&IID_IClassFactory, riid)) {
191  TRACE("(%p)->(IID_IClassFactory %p)\n", iface, ppv);
192  *ppv = iface;
193  }
194 
195  if(*ppv) {
196  IUnknown_AddRef((IUnknown*)*ppv);
197  return S_OK;
198  }
199 
200  FIXME("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppv);
201  return E_NOINTERFACE;
202 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
const GUID IID_IClassFactory

◆ ClassFactory_Release()

static ULONG WINAPI ClassFactory_Release ( IClassFactory iface)
static

Definition at line 210 of file vbscript_main.c.

211 {
212  TRACE("(%p)\n", iface);
213  return 1;
214 }
#define TRACE(s)
Definition: solgame.cpp:4

◆ DEFINE_GUID()

DEFINE_GUID ( GUID_NULL  ,
,
,
,
,
,
,
,
,
,
,
 
)

◆ DllCanUnloadNow()

HRESULT WINAPI DllCanUnloadNow ( void  )

Definition at line 285 of file vbscript_main.c.

286 {
287  return S_FALSE;
288 }
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

HRESULT WINAPI DllGetClassObject ( REFCLSID  rclsid,
REFIID  riid,
LPVOID ppv 
)

Definition at line 268 of file vbscript_main.c.

269 {
270  if(IsEqualGUID(&CLSID_VBScript, rclsid)) {
271  TRACE("(CLSID_VBScript %s %p)\n", debugstr_guid(riid), ppv);
272  return IClassFactory_QueryInterface(&VBScriptFactory, riid, ppv);
273  }else if(IsEqualGUID(&CLSID_VBScriptRegExp, rclsid)) {
274  TRACE("(CLSID_VBScriptRegExp %s %p)\n", debugstr_guid(riid), ppv);
275  return IClassFactory_QueryInterface(&VBScriptRegExpFactory, riid, ppv);
276  }
277 
278  FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
280 }
static IClassFactory VBScriptRegExpFactory
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663
const CLSID CLSID_VBScript
#define FIXME(fmt,...)
Definition: debug.h:110
const CLSID CLSID_VBScriptRegExp
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
static IClassFactory VBScriptFactory
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hInstDLL,
DWORD  fdwReason,
LPVOID  lpv 
)

Definition at line 245 of file vbscript_main.c.

246 {
247  TRACE("(%p %d %p)\n", hInstDLL, fdwReason, lpv);
248 
249  switch(fdwReason)
250  {
251  case DLL_WINE_PREATTACH:
252  return FALSE; /* prefer native version */
253  case DLL_PROCESS_ATTACH:
254  DisableThreadLibraryCalls(hInstDLL);
255  vbscript_hinstance = hInstDLL;
256  break;
257  case DLL_PROCESS_DETACH:
258  if (lpv) break;
260  }
261 
262  return TRUE;
263 }
#define TRUE
Definition: types.h:120
static HINSTANCE vbscript_hinstance
Definition: vbscript_main.c:36
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
#define DLL_PROCESS_DETACH
Definition: compat.h:119
#define TRACE(s)
Definition: solgame.cpp:4
void release_regexp_typelib(void)
Definition: vbregexp.c:1634

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 293 of file vbscript_main.c.

294 {
295  TRACE("()\n");
297 }
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:98
static HINSTANCE vbscript_hinstance
Definition: vbscript_main.c:36
#define TRACE(s)
Definition: solgame.cpp:4

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 302 of file vbscript_main.c.

303 {
304  TRACE("()\n");
306 }
static HINSTANCE vbscript_hinstance
Definition: vbscript_main.c:36
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:110

◆ get_vbscript_error_string()

BSTR get_vbscript_error_string ( HRESULT  error)

Definition at line 45 of file vbscript_main.c.

46 {
47  BSTR ret;
50  return ret;
51 }
#define error(str)
Definition: mkdosfs.c:1605
OLECHAR * BSTR
Definition: compat.h:1942
#define VBS_UNKNOWN_RUNTIME_ERROR
#define HRESULT_FACILITY(hr)
Definition: winerror.h:79
int ret
#define HRESULT_CODE(hr)
Definition: winerror.h:76
#define FACILITY_VBS
Definition: vbscript.h:378
BSTR get_vbscript_string(int id)
Definition: vbscript_main.c:38

Referenced by compile_error(), Err_Raise(), and exec_script().

◆ get_vbscript_string()

BSTR get_vbscript_string ( int  id)

Definition at line 38 of file vbscript_main.c.

39 {
40  WCHAR buf[512];
42  return SysAllocString(buf);
43 }
static HINSTANCE vbscript_hinstance
Definition: vbscript_main.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
smooth NULL
Definition: ftsmooth.c:416
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define ARRAY_SIZE(a)
Definition: main.h:24

Referenced by compile_error(), Err_Raise(), exec_script(), and get_vbscript_error_string().

◆ heap_pool_alloc()

void* heap_pool_alloc ( heap_pool_t heap,
size_t  size 
)

Definition at line 67 of file vbscript_main.c.

68 {
69  struct list *list;
70  void *tmp;
71 
72  size = (size+3)&~3;
73 
74  if(!heap->block_cnt) {
75  if(!heap->blocks) {
76  heap->blocks = heap_alloc(sizeof(void*));
77  if(!heap->blocks)
78  return NULL;
79  }
80 
81  tmp = heap_alloc(block_size(0));
82  if(!tmp)
83  return NULL;
84 
85  heap->blocks[0] = tmp;
86  heap->block_cnt = 1;
87  }
88 
89  if(heap->offset + size <= block_size(heap->last_block)) {
90  tmp = ((BYTE*)heap->blocks[heap->last_block])+heap->offset;
91  heap->offset += size;
92  return tmp;
93  }
94 
95  if(size <= block_size(heap->last_block+1)) {
96  if(heap->last_block+1 == heap->block_cnt) {
97  tmp = heap_realloc(heap->blocks, (heap->block_cnt+1)*sizeof(void*));
98  if(!tmp)
99  return NULL;
100 
101  heap->blocks = tmp;
102  heap->blocks[heap->block_cnt] = heap_alloc(block_size(heap->block_cnt));
103  if(!heap->blocks[heap->block_cnt])
104  return NULL;
105 
106  heap->block_cnt++;
107  }
108 
109  heap->last_block++;
110  heap->offset = size;
111  return heap->blocks[heap->last_block];
112  }
113 
114  list = heap_alloc(size + sizeof(struct list));
115  if(!list)
116  return NULL;
117 
119  return list+1;
120 }
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
Definition: list.h:96
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:70
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
smooth NULL
Definition: ftsmooth.c:416
GLsizeiptr size
Definition: glext.h:5919
static DWORD block_size(DWORD block)
Definition: vbscript_main.c:56
DWORD offset
Definition: jscript.h:64
struct list custom_blocks
Definition: jscript.h:66
unsigned char BYTE
Definition: mem.h:68
Definition: _list.h:228
void ** blocks
Definition: jscript.h:61
#define list
Definition: rosglue.h:35
DWORD last_block
Definition: jscript.h:63
DWORD block_cnt
Definition: jscript.h:62

Referenced by heap_pool_grow().

◆ heap_pool_clear()

void heap_pool_clear ( heap_pool_t heap)

Definition at line 138 of file vbscript_main.c.

139 {
140  struct list *tmp;
141 
142  if(!heap)
143  return;
144 
145  while((tmp = list_next(&heap->custom_blocks, &heap->custom_blocks))) {
146  list_remove(tmp);
147  heap_free(tmp);
148  }
149 
150  if(WARN_ON(heap)) {
151  DWORD i;
152 
153  for(i=0; i < heap->block_cnt; i++)
155  }
156 
157  heap->last_block = heap->offset = 0;
158  heap->mark = FALSE;
159 }
BOOL mark
Definition: jscript.h:65
#define WARN_ON(c)
Definition: module.h:255
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
#define ARENA_FREE_FILLER
Definition: vbscript_main.c:54
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
Definition: list.h:108
static DWORD block_size(DWORD block)
Definition: vbscript_main.c:56
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD offset
Definition: jscript.h:64
struct list custom_blocks
Definition: jscript.h:66
Definition: _list.h:228
void ** blocks
Definition: jscript.h:61
DWORD last_block
Definition: jscript.h:63
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
Definition: list.h:115
#define memset(x, y, z)
Definition: compat.h:39
DWORD block_cnt
Definition: jscript.h:62
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by heap_pool_free(), RegExp2_Test(), RegExp_exec(), regexp_execute(), regexp_match(), regexp_match_next(), regexp_new(), regexp_string_match(), RegExp_test(), and script_parse().

◆ heap_pool_free()

void heap_pool_free ( heap_pool_t heap)

Definition at line 161 of file vbscript_main.c.

162 {
163  DWORD i;
164 
165  heap_pool_clear(heap);
166 
167  for(i=0; i < heap->block_cnt; i++)
168  heap_free(heap->blocks[i]);
169  heap_free(heap->blocks);
170 
171  heap_pool_init(heap);
172 }
void heap_pool_clear(heap_pool_t *heap)
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
void heap_pool_init(heap_pool_t *heap)
Definition: vbscript_main.c:61
unsigned long DWORD
Definition: ntddk_ex.h:95
void ** blocks
Definition: jscript.h:61
DWORD block_cnt
Definition: jscript.h:62
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by compile_script(), parser_release(), RegExp2_Release(), release_bytecode(), release_exec(), release_script(), release_vbscode(), and script_release().

◆ heap_pool_grow()

void* heap_pool_grow ( heap_pool_t heap,
void mem,
DWORD  size,
DWORD  inc 
)

Definition at line 122 of file vbscript_main.c.

123 {
124  void *ret;
125 
126  if(mem == (BYTE*)heap->blocks[heap->last_block] + heap->offset-size
127  && heap->offset+inc < block_size(heap->last_block)) {
128  heap->offset += inc;
129  return mem;
130  }
131 
132  ret = heap_pool_alloc(heap, size+inc);
133  if(ret) /* FIXME: avoid copying for custom blocks */
134  memcpy(ret, mem, size);
135  return ret;
136 }
void * heap_pool_alloc(heap_pool_t *heap, size_t size)
Definition: vbscript_main.c:67
GLsizeiptr size
Definition: glext.h:5919
static DWORD block_size(DWORD block)
Definition: vbscript_main.c:56
int ret
DWORD offset
Definition: jscript.h:64
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
unsigned char BYTE
Definition: mem.h:68
void ** blocks
Definition: jscript.h:61
DWORD last_block
Definition: jscript.h:63
Definition: mem.c:156

Referenced by PushBackTrackState(), and ReallocStateStack().

◆ heap_pool_init()

void heap_pool_init ( heap_pool_t heap)

Definition at line 61 of file vbscript_main.c.

62 {
63  memset(heap, 0, sizeof(*heap));
64  list_init(&heap->custom_blocks);
65 }
struct list custom_blocks
Definition: jscript.h:66
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
#define memset(x, y, z)
Definition: compat.h:39

Referenced by alloc_vbscode(), compile_script(), create_regexp(), exec_script(), heap_pool_free(), init_code(), JScriptParse_InitNew(), parse_script(), release_script(), script_parse(), and VBScriptFactory_CreateInstance().

◆ heap_pool_mark()

heap_pool_t* heap_pool_mark ( heap_pool_t heap)

Definition at line 174 of file vbscript_main.c.

175 {
176  if(heap->mark)
177  return NULL;
178 
179  heap->mark = TRUE;
180  return heap;
181 }
#define TRUE
Definition: types.h:120
BOOL mark
Definition: jscript.h:65
smooth NULL
Definition: ftsmooth.c:416

Referenced by RegExp2_Test(), RegExp_exec(), regexp_execute(), regexp_match(), regexp_match_next(), regexp_new(), regexp_string_match(), RegExp_test(), and script_parse().

◆ WINE_DECLARE_DEBUG_CHANNEL()

WINE_DECLARE_DEBUG_CHANNEL ( heap  )

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( vbscript  )

Variable Documentation

◆ vbscript_hinstance

HINSTANCE vbscript_hinstance
static

◆ VBScriptFactory

IClassFactory VBScriptFactory = { &VBScriptFactoryVtbl }
static

Definition at line 230 of file vbscript_main.c.

Referenced by DllGetClassObject().

◆ VBScriptFactoryVtbl

const IClassFactoryVtbl VBScriptFactoryVtbl
static
Initial value:
= {
}
HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
Definition: vbscript.c:930
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL fLock)

Definition at line 222 of file vbscript_main.c.

◆ VBScriptRegExpFactory

IClassFactory VBScriptRegExpFactory = { &VBScriptRegExpFactoryVtbl }
static

Definition at line 240 of file vbscript_main.c.

Referenced by DllGetClassObject().

◆ VBScriptRegExpFactoryVtbl

const IClassFactoryVtbl VBScriptRegExpFactoryVtbl
static
Initial value:
= {
}
HRESULT WINAPI VBScriptRegExpFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
Definition: vbregexp.c:1618
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL fLock)

Definition at line 232 of file vbscript_main.c.