33#define IActiveScriptParse_QueryInterface IActiveScriptParse64_QueryInterface
34#define IActiveScriptParse_Release IActiveScriptParse64_Release
35#define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew
36#define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText
40#define IActiveScriptParse_QueryInterface IActiveScriptParse32_QueryInterface
41#define IActiveScriptParse_Release IActiveScriptParse32_Release
42#define IActiveScriptParse_InitNew IActiveScriptParse32_InitNew
43#define IActiveScriptParse_ParseScriptText IActiveScriptParse32_ParseScriptText
49#define DEFINE_EXPECT(func) \
50 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
52#define SET_EXPECT(func) \
53 expect_ ## func = TRUE
55#define CHECK_EXPECT2(func) \
57 ok(expect_ ##func, "unexpected call " #func "\n"); \
58 called_ ## func = TRUE; \
61#define CHECK_EXPECT(func) \
63 CHECK_EXPECT2(func); \
64 expect_ ## func = FALSE; \
67#define CHECK_CALLED(func) \
69 ok(called_ ## func, "expected " #func "\n"); \
70 expect_ ## func = called_ ## func = FALSE; \
73#define CLEAR_CALLED(func) \
74 expect_ ## func = called_ ## func = FALSE
87#define DISPID_TEST_TESTGETCALLER 0x1000
88#define DISPID_TEST_TESTGETCALLERVBS 0x1001
89#define DISPID_TEST_TESTGETCALLERNESTED 0x1002
91#define parse_script(a,s) _parse_script(__LINE__,a,s)
94 IActiveScriptParse *
parser;
161 ok(0,
"Unexpected IID_IObjectSafety query\n");
182 ok(0,
"unexpected call\n");
194 ok(0,
"unexpected call\n");
201 ok(0,
"unexpected call\n");
207 ok(0,
"unexpected call\n");
213 ok(0,
"unexpected call\n");
219 ok(0,
"unexpected call\n");
225 ok(0,
"unexpected call\n");
231 ok(0,
"unexpected call\n");
237 ok(0,
"unexpected call\n");
243 if(!
lstrcmpW(bstrName,
L"testGetCaller")) {
244 ok(grfdex == fdexNameCaseInsensitive,
"grfdex = %lx\n", grfdex);
248 if(!
lstrcmpW(bstrName,
L"testGetCallerVBS")) {
249 ok(grfdex == fdexNameCaseInsensitive,
"grfdex = %lx\n", grfdex);
253 if(!
lstrcmpW(bstrName,
L"testGetCallerNested")) {
254 ok(grfdex == fdexNameCaseInsensitive,
"grfdex = %lx\n", grfdex);
268 ok(pspCaller !=
NULL,
"pspCaller == NULL\n");
272 void *iface = (
void*)0xdeadbeef;
278 ok(pdp !=
NULL,
"pdp == NULL\n");
279 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
280 ok(!pvarRes,
"pvarRes != NULL\n");
281 ok(pei !=
NULL,
"pei == NULL\n");
292 hres = IServiceProvider_QueryService(pspCaller, &SID_GetCaller, &IID_IServiceProvider, (
void**)&caller);
293 ok(
hres ==
S_OK,
"Could not get SID_GetCaller service: %08lx\n",
hres);
295 if(caller) IServiceProvider_Release(caller);
299 hres = IServiceProvider_QueryService(pspCaller, &SID_GetCaller, &
IID_NULL, &iface);
301 ok(iface ==
NULL,
"iface != NULL\n");
313 ok(pdp !=
NULL,
"pdp == NULL\n");
314 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
315 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
316 ok(!pvarRes,
"pvarRes != NULL\n");
317 ok(pei !=
NULL,
"pei == NULL\n");
318 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(rgvarg) = %d\n",
V_VT(pdp->rgvarg));
319 ok(
V_I2(pdp->rgvarg) == 42,
"V_I2(rgvarg) = %d\n",
V_I2(pdp->rgvarg));
321 hres = IServiceProvider_QueryService(pspCaller, &SID_GetCaller, &IID_IServiceProvider, (
void**)&caller);
323 ok(caller ==
NULL,
"caller != NULL\n");
326 hres = IServiceProvider_QueryService(pspCaller, &IID_IActiveScriptSite, &
IID_NULL, (
void**)&unk);
328 ok(!unk,
"unk != NULL\n");
337 ok(pdp !=
NULL,
"pdp == NULL\n");
338 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
339 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
340 ok(!pvarRes,
"pvarRes != NULL\n");
341 ok(pei !=
NULL,
"pei == NULL\n");
342 ok(
V_VT(&pdp->rgvarg[0]) ==
VT_I2,
"V_VT(rgvarg[0]) = %d\n",
V_VT(&pdp->rgvarg[0]));
343 ok(
V_VT(&pdp->rgvarg[1]) ==
VT_I2,
"V_VT(rgvarg[1]) = %d\n",
V_VT(&pdp->rgvarg[1]));
344 ok(
V_I2(&pdp->rgvarg[0]) == 2,
"V_I2(rgvarg[0]) = %d\n",
V_I2(&pdp->rgvarg[0]));
345 ok(
V_I2(&pdp->rgvarg[1]) == 1,
"V_I2(rgvarg[1]) = %d\n",
V_I2(&pdp->rgvarg[1]));
347 hres = IServiceProvider_QueryService(pspCaller, &SID_GetCaller, &IID_IServiceProvider, (
void**)&caller);
349 ok(caller ==
NULL,
"caller != NULL\n");
353 ok(0,
"unexpected call\n");
416 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN,
"unexpected dwReturnMask %lx\n", dwReturnMask);
417 ok(!ppti,
"ppti != NULL\n");
430 const VARIANT *pvarResult,
const EXCEPINFO *pexcepinfo)
475 IActiveScriptParse *
parser;
480 &IID_IActiveScript, (
void**)&
script);
484 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&
parser);
485 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
495 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
499 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
506 DISPPARAMS dp = { 0 };
519 L"Sub testGetCallerFunc\nCall testGetCaller\nEnd Sub\n"
520 L"Call testGetCallerVBS(42)");
527 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
529 IDispatch_Release(disp);
531 hres = IDispatchEx_GetDispID(dispex, bstr, 0, &dispid);
550 IDispatchEx_Release(dispex);
enum tagSCRIPTSTATE SCRIPTSTATE
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
LCID WINAPI GetUserDefaultLCID(void)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
static HRESULT WINAPI sp_caller_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static HRESULT WINAPI DispatchEx_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static void run_scripts(void)
#define CHECK_EXPECT(func)
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
static void _parse_script(unsigned line, IActiveScriptParse *parser, const WCHAR *script)
#define DEFINE_EXPECT(func)
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
static IServiceProvider sp_caller_obj
#define IActiveScriptParse_InitNew
#define IActiveScriptParse_ParseScriptText
static IActiveScriptParse * create_script(void)
#define IActiveScriptParse_Release
static ULONG WINAPI sp_caller_Release(IServiceProvider *iface)
#define parse_script(p, s)
static ULONG WINAPI sp_caller_AddRef(IServiceProvider *iface)
#define DISPID_TEST_TESTGETCALLER
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
static HRESULT WINAPI Test_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
static HRESULT WINAPI sp_caller_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
#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 DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static IServiceProvider * test_get_caller_sp
static IDispatchEx testObj
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
#define DISPID_TEST_TESTGETCALLERNESTED
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
static IActiveScriptSite ActiveScriptSite
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
static IDispatchExVtbl testObjVtbl
static const IServiceProviderVtbl sp_caller_vtbl
static HRESULT WINAPI Test_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static VARIANTARG static DISPID
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
#define IsEqualGUID(rguid1, rguid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
#define DISPID_TEST_TESTGETCALLERVBS
static IActiveScript * active_script
const CLSID CLSID_VBScript
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid