28#include "vbsregexp55.h"
34#define IActiveScriptParse_QueryInterface IActiveScriptParse64_QueryInterface
35#define IActiveScriptParse_Release IActiveScriptParse64_Release
36#define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew
37#define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText
38#define IActiveScriptParseProcedure2_Release \
39 IActiveScriptParseProcedure2_64_Release
43#define IActiveScriptParse_QueryInterface IActiveScriptParse32_QueryInterface
44#define IActiveScriptParse_Release IActiveScriptParse32_Release
45#define IActiveScriptParse_InitNew IActiveScriptParse32_InitNew
46#define IActiveScriptParse_ParseScriptText IActiveScriptParse32_ParseScriptText
47#define IActiveScriptParseProcedure2_Release \
48 IActiveScriptParseProcedure2_32_Release
52DEFINE_GUID(
GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
54#define DEFINE_EXPECT(func) \
55 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
57#define SET_EXPECT(func) \
58 expect_ ## func = TRUE
60#define CHECK_EXPECT2(func) \
62 ok(expect_ ##func, "unexpected call " #func "\n"); \
63 called_ ## func = TRUE; \
66#define CHECK_EXPECT(func) \
68 CHECK_EXPECT2(func); \
69 expect_ ## func = FALSE; \
72#define CHECK_CALLED(func) \
74 ok(called_ ## func, "expected " #func "\n"); \
75 expect_ ## func = called_ ## func = FALSE; \
91DEFINE_GUID(
CLSID_VBScript, 0xb54f3741, 0x5b07, 0x11cf, 0xa4,0xb0, 0x00,0xaa,0x00,0x4a,0x55,0xe8);
92DEFINE_GUID(
CLSID_VBScriptRegExp, 0x3f4daca4, 0x160d, 0x11d2, 0xa8,0xe9, 0x00,0x10,0x4b,0x36,0x5c,0x9f);
106#define test_state(s,ss) _test_state(__LINE__,s,ss)
114 ok_(__FILE__,
line) (
state == exstate,
"state=%d, expected %d\n",
state, exstate);
121 IDispatch_AddRef(iface);
153 ok(0,
"unexpected call\n");
165 ok(name_cnt == 1,
"name_cnt = %u\n", name_cnt);
175 ok(
id == 1,
"id = %u\n",
id);
177 ok(!dp->cArgs,
"cArgs = %u\n", dp->cArgs);
240 ok(return_mask == SCRIPTINFO_IUNKNOWN,
"return_mask = %x\n", return_mask);
259 ok(0,
"unexpected call\n");
264 const VARIANT *pvarResult,
const EXCEPINFO *pexcepinfo)
266 ok(0,
"unexpected call\n");
272 switch(ssScriptState) {
292 ok(0,
"unexpected call %d\n", ssScriptState);
300 ok(0,
"unexpected call\n");
338 hres = IActiveScript_QueryInterface(
script, &IID_IObjectSafety, (
void**)&safety);
343 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &
IID_NULL, &supported,
NULL);
344 ok(
hres ==
E_POINTER,
"GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n",
hres);
346 ok(
hres ==
E_POINTER,
"GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n",
hres);
348 supported =
enabled = 0xdeadbeef;
350 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
351 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
352 "supported=%x\n", supported);
355 supported =
enabled = 0xdeadbeef;
356 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScript, &supported, &
enabled);
357 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
358 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
359 "supported=%x\n", supported);
362 supported =
enabled = 0xdeadbeef;
363 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
364 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
365 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
366 "supported=%x\n", supported);
369 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
370 INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER
371 |INTERFACESAFE_FOR_UNTRUSTED_CALLER,
372 INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
373 ok(
hres ==
E_FAIL,
"SetInterfaceSafetyOptions failed: %08x, expected E_FAIL\n",
hres);
375 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
376 INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER,
377 INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
378 ok(
hres ==
S_OK,
"SetInterfaceSafetyOptions failed: %08x\n",
hres);
380 supported =
enabled = 0xdeadbeef;
381 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
382 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
383 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
384 "supported=%x\n", supported);
385 ok(
enabled == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
388 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, INTERFACESAFE_FOR_UNTRUSTED_DATA, 0);
389 ok(
hres ==
S_OK,
"SetInterfaceSafetyOptions failed: %08x\n",
hres);
391 supported =
enabled = 0xdeadbeef;
392 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
393 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
394 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
395 "supported=%x\n", supported);
396 ok(
enabled == (INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
"enabled=%x\n",
enabled);
398 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
399 INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER, 0);
400 ok(
hres ==
S_OK,
"SetInterfaceSafetyOptions failed: %08x\n",
hres);
402 supported =
enabled = 0xdeadbeef;
403 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
404 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
405 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
406 "supported=%x\n", supported);
409 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
410 INTERFACE_USES_DISPEX, 0);
411 ok(
hres ==
S_OK,
"SetInterfaceSafetyOptions failed: %08x\n",
hres);
413 supported =
enabled = 0xdeadbeef;
414 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
415 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
416 ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
417 "supported=%x\n", supported);
420 IObjectSafety_Release(safety);
429 disp = (
void*)0xdeadbeef;
435 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
436 IDispatch_Release(disp);
437 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
458#define get_disp_id(a,b,c,d) _get_disp_id(__LINE__,a,b,c,d)
466 hres = IDispatchEx_GetDispID(dispex,
str, 0,
id);
467 ok_(__FILE__,
line)(
hres == exhres,
"GetDispID(%s) returned %08x, expected %08x\n",
name,
hres, exhres);
471 ok_(__FILE__,
line)(
hres == exhres,
"GetIDsOfNames(%s) returned %08x, expected %08x\n",
name,
hres, exhres);
472 ok_(__FILE__,
line)(*
id == id2,
"GetIDsOfNames(%s) id != id2\n",
name);
480 disp = (
void*)0xdeadbeef;
483 ok(!disp,
"disp != NULL\n");
492 &IID_IActiveScript, (
void**)&
ret);
501 IActiveScriptParse *
parser;
512 hres = IActiveScript_QueryInterface(vbscript, &IID_IActiveScriptParse, (
void**)&
parser);
513 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse iface: %08x\n",
hres);
536 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n",
hres);
542 ok(
script_disp == script_disp2,
"script_disp != script_disp2\n");
543 IDispatchEx_Release(script_disp2);
547 ok(
id == -1,
"id = %d, expected -1\n",
id);
553 memset(&dp, 0,
sizeof(dp));
554 memset(&ei, 0,
sizeof(ei));
572 memset(&dp, 0,
sizeof(dp));
573 memset(&ei, 0,
sizeof(ei));
586 memset(&dp, 0,
sizeof(dp));
587 memset(&ei, 0,
sizeof(ei));
601 ok(
id == id2,
"id != id2\n");
607 ok(
id == id2,
"id != id2\n");
616 hres = IActiveScript_Close(vbscript);
622 ref = IActiveScript_Release(vbscript);
628 IActiveScriptParseProcedure2 *parse_proc;
629 IActiveScriptParse *
parser;
636 hres = IActiveScript_QueryInterface(vbscript, &IID_IActiveScriptParse, (
void**)&
parser);
637 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse iface: %08x\n",
hres);
662 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n",
hres);
670 hres = IActiveScript_Close(vbscript);
681 hres = IActiveScript_QueryInterface(vbscript, &IID_IActiveScriptParseProcedure, (
void**)&parse_proc);
682 ok(
hres ==
E_NOINTERFACE,
"Got IActiveScriptParseProcedure interface, expected E_NOTIMPL\n");
684 hres = IActiveScript_QueryInterface(vbscript, &IID_IActiveScriptParseProcedure2, (
void**)&parse_proc);
685 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 interface\n");
688 ref = IActiveScript_Release(vbscript);
694 IActiveScriptParse *parse;
700 static const WCHAR script_textW[] =
701 {
'F',
'u',
'n',
'c',
't',
'i',
'o',
'n',
' ',
'f',
'\n',
'E',
'n',
'd',
' ',
'F',
'u',
'n',
'c',
't',
'i',
'o',
'n',
'\n',0};
705 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&parse);
706 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
732 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_UNINITIALIZED) failed: %08x\n",
hres);
738 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_UNINITIALIZED) failed: %08x\n",
hres);
751 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n",
hres);
759 ok(dispex !=
NULL,
"dispex == NULL\n");
761 IDispatchEx_Release(dispex);
767 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_UNINITIALIZED) failed: %08x\n",
hres);
780 ok(
hres ==
E_UNEXPECTED,
"SetScriptState(SCRIPTSTATE_UNINITIALIZED) failed: %08x, expected E_UNEXPECTED\n",
hres);
811 IActiveScriptParse *
parser;
818 hres = IActiveScript_QueryInterface(vbscript, &IID_IActiveScriptParse, (
void**)&
parser);
819 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse iface: %08x\n",
hres);
840 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n",
hres);
850 ref = IActiveScript_Release(vbscript);
866 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_UNINITIALIZED) failed: %08x\n",
hres);
874 IActiveScriptParse *parse;
881 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&parse);
882 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
914 IActiveScriptParse *parse;
921 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&parse);
922 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
926 hres = IActiveScript_AddNamedItem(
script,
L"visibleItem", SCRIPTITEM_ISVISIBLE);
928 hres = IActiveScript_AddNamedItem(
script,
L"globalItem", SCRIPTITEM_GLOBALMEMBERS);
937 hres = IActiveScript_AddNamedItem(
script,
L"globalItem", SCRIPTITEM_GLOBALMEMBERS);
941 hres = IActiveScript_AddNamedItem(
script,
L"visibleItem", SCRIPTITEM_ISVISIBLE);
954 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n",
hres);
997 IMatchCollection2 *mc;
1010 CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
1013 win_skip(
"VBScriptRegExp is not registered\n");
1016 ok(
hres ==
S_OK,
"CoCreateInstance(CLSID_VBScriptRegExp) failed: %x\n",
hres);
1018 hres = IUnknown_QueryInterface(unk, &IID_IRegExp2, (
void**)®exp);
1020 win_skip(
"IRegExp2 interface is not available\n");
1023 ok(
hres ==
S_OK,
"QueryInterface(IID_IRegExp2) failed: %x\n",
hres);
1024 IUnknown_Release(unk);
1026 hres = IRegExp2_QueryInterface(regexp, &IID_IRegExp, (
void**)&unk);
1027 ok(
hres ==
S_OK,
"QueryInterface(IID_IRegExp) returned %x\n",
hres);
1028 IUnknown_Release(unk);
1030 hres = IRegExp2_QueryInterface(regexp, &IID_IDispatchEx, (
void**)&unk);
1033 hres = IRegExp2_get_Pattern(regexp, &bstr);
1034 ok(bstr ==
NULL,
"bstr != NULL\n");
1035 ok(
hres ==
S_OK,
"get_Pattern returned %x, expected S_OK\n",
hres);
1037 hres = IRegExp2_get_Pattern(regexp,
NULL);
1040 hres = IRegExp2_get_IgnoreCase(regexp,
NULL);
1043 hres = IRegExp2_get_Global(regexp,
NULL);
1046 hres = IRegExp2_Execute(regexp,
NULL, &disp);
1048 hres = IDispatch_QueryInterface(disp, &IID_IMatchCollection2, (
void**)&mc);
1049 ok(
hres ==
S_OK,
"QueryInterface(IID_IMatchCollection2) returned %x\n",
hres);
1050 IDispatch_Release(disp);
1052 hres = IMatchCollection2_QueryInterface(mc, &IID_IMatchCollection, (
void**)&unk);
1053 ok(
hres ==
S_OK,
"QueryInterface(IID_IMatchCollection) returned %x\n",
hres);
1054 IUnknown_Release(unk);
1056 hres = IMatchCollection2_get_Count(mc,
NULL);
1059 hres = IMatchCollection2_get_Count(mc, &
count);
1060 ok(
hres ==
S_OK,
"get_Count returned %x, expected S_OK\n",
hres);
1063 hres = IMatchCollection2_get_Item(mc, 1, &disp);
1066 hres = IMatchCollection2_get_Item(mc, 1,
NULL);
1069 hres = IMatchCollection2_get_Item(mc, 0, &disp);
1071 hres = IDispatch_QueryInterface(disp, &IID_IMatch2, (
void**)&
match);
1072 ok(
hres ==
S_OK,
"QueryInterface(IID_IMatch2) returned %x\n",
hres);
1073 IDispatch_Release(disp);
1075 hres = IMatch2_QueryInterface(
match, &IID_IMatch, (
void**)&unk);
1076 ok(
hres ==
S_OK,
"QueryInterface(IID_IMatch) returned %x\n",
hres);
1077 IUnknown_Release(unk);
1091 hres = IMatch2_get_SubMatches(
match, &disp);
1092 ok(
hres ==
S_OK,
"get_SubMatches returned %x, expected S_OK\n",
hres);
1093 IMatch2_Release(
match);
1094 hres = IDispatch_QueryInterface(disp, &IID_ISubMatches, (
void**)&sm);
1095 ok(
hres ==
S_OK,
"QueryInterface(IID_ISubMatches) returned %x\n",
hres);
1096 IDispatch_Release(disp);
1098 hres = ISubMatches_get_Item(sm, 0, &
v);
1101 hres = ISubMatches_get_Item(sm, 0,
NULL);
1104 hres = ISubMatches_get_Count(sm,
NULL);
1106 ISubMatches_Release(sm);
1108 hres = IMatchCollection2_get__NewEnum(mc, &unk);
1109 ok(
hres ==
S_OK,
"get__NewEnum returned %x, expected S_OK\n",
hres);
1110 hres = IUnknown_QueryInterface(unk, &IID_IEnumVARIANT, (
void**)&ev);
1111 ok(
hres ==
S_OK,
"QueryInterface(IID_IEnumVARIANT) returned %x\n",
hres);
1112 IUnknown_Release(unk);
1113 IMatchCollection2_Release(mc);
1115 hres = IEnumVARIANT_Skip(ev, 2);
1118 hres = IEnumVARIANT_Next(ev, 1, &
v, &fetched);
1120 ok(fetched == 0,
"fetched = %d\n", fetched);
1122 hres = IEnumVARIANT_Skip(ev, -1);
1125 hres = IEnumVARIANT_Next(ev, 1, &
v, &fetched);
1127 ok(fetched == 1,
"fetched = %d\n", fetched);
1129 IEnumVARIANT_Release(ev);
1131 IRegExp2_Release(regexp);
1136 IActiveScriptParseProcedure2 *vbscript;
1140 &IID_IActiveScriptParseProcedure2, (
void**)&vbscript);
1161 win_skip(
"VBScript engine not available or too old\n");
@ SCRIPTSTATE_INITIALIZED
@ SCRIPTSTATE_DISCONNECTED
@ SCRIPTSTATE_UNINITIALIZED
enum tagSCRIPTSTATE SCRIPTSTATE
const CLSID CLSID_VBScript
#define MultiByteToWideChar
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
GLuint GLuint GLsizei count
GLenum GLenum GLsizei const GLuint GLboolean enabled
static IDispatch * script_disp
static VARIANTARG static DISPID
const CLSID CLSID_VBScriptRegExp
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static const IDispatchVtbl visible_named_item_vtbl
static void test_vbscript_release(void)
static HRESULT WINAPI Dispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
static void test_vbscript(void)
static const IDispatchVtbl global_named_item_vtbl
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
static ULONG visible_named_item_ref
static void test_vbscript_simplecreate(void)
static BOOL check_vbscript(void)
#define get_disp_id(a, b, c, d)
#define CHECK_EXPECT(func)
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static ULONG WINAPI visible_Release(IDispatch *iface)
static void test_scriptdisp(void)
#define DEFINE_EXPECT(func)
#define IActiveScriptParse_InitNew
#define IActiveScriptParse_ParseScriptText
static void test_safety(IActiveScript *script)
#define IActiveScriptParseProcedure2_Release
static void test_vbscript_initializing(void)
#define IActiveScriptParse_Release
static BSTR a2bstr(const char *str)
static void test_named_items(void)
static ULONG WINAPI global_Release(IDispatch *iface)
static void test_vbscript_uninitializing(void)
#define test_state(s, ss)
static HRESULT WINAPI Dispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *names, UINT name_cnt, LCID lcid, DISPID *ids)
static void _test_state(unsigned line, IActiveScript *script, SCRIPTSTATE exstate)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Dispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static IActiveScript * create_vbscript(void)
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
static ULONG WINAPI visible_AddRef(IDispatch *iface)
#define CHECK_CALLED(func)
static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID id, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *dp, VARIANT *res, EXCEPINFO *ei, UINT *err)
static void test_no_script_dispatch(IActiveScript *script)
static HRESULT WINAPI Dispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
static ULONG global_named_item_ref
static IDispatch visible_named_item
static IDispatchEx * get_script_dispatch(IActiveScript *script)
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
static void test_RegExp(void)
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
static void parse_script(IActiveScriptParse *parse, const char *src)
static IDispatch global_named_item
static IActiveScriptSite ActiveScriptSite
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static void _get_disp_id(unsigned line, IDispatchEx *dispex, const char *name, HRESULT exhres, DISPID *id)
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR name, DWORD return_mask, IUnknown **item_unk, ITypeInfo **item_ti)
static ULONG WINAPI global_AddRef(IDispatch *iface)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define DISPATCH_PROPERTYGET
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
#define REGDB_E_CLASSNOTREG
#define DISP_E_UNKNOWNNAME