35#define IActiveScriptParse_QueryInterface IActiveScriptParse64_QueryInterface
36#define IActiveScriptParse_Release IActiveScriptParse64_Release
37#define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew
38#define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText
39#define IActiveScriptParseProcedure2_Release 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 IActiveScriptParseProcedure2_32_Release
53#define VB_E_ACCESS_DENIED 0x800a0046
55#define DEFINE_EXPECT(func) \
56 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
58#define SET_EXPECT(func) \
59 expect_ ## func = TRUE
61#define CHECK_EXPECT2(func) \
63 ok(expect_ ##func, "unexpected call " #func "\n"); \
64 called_ ## func = TRUE; \
67#define CHECK_EXPECT(func) \
69 CHECK_EXPECT2(func); \
70 expect_ ## func = FALSE; \
73#define CHECK_CALLED(func) \
75 ok(called_ ## func, "expected " #func "\n"); \
76 expect_ ## func = called_ ## func = FALSE; \
79#define CLEAR_CALLED(func) \
80 expect_ ## func = called_ ## func = FALSE
104#define TESTOBJ_CLSID "{178fc163-f585-4e24-9c13-4bb7faf80646}"
105#define TESTOBJINST_CLSID "{178fc163-f585-4e24-9c13-4bb7faf80647}"
108 {0x178fc163,0xf585,0x4e24,{0x9c,0x13,0x4b,0xb7,0xfa,0xf8,0x06,0x46}};
110 {0x178fc163,0xf585,0x4e24,{0x9c,0x13,0x4b,0xb7,0xfa,0xf8,0x06,0x47}};
114 {0x10200490,0xfa38,0x11d0,{0xac,0x0e,0x00,0xa0,0xc9,0xf,0xff,0xc0}};
116#define DISPID_TEST_REPORTSUCCESS 0x1000
118#define DISPID_GLOBAL_OK 0x2000
120#define VB_E_CANNOT_CREATE_OBJ 0x800a01ad
143 ok(0,
"unexpected call\n");
164 ok(pUnkSite !=
NULL,
"pUnkSite == NULL\n");
166 hres = IUnknown_QueryInterface(pUnkSite, &IID_IServiceProvider, (
void**)&
sp);
167 ok(
hres ==
S_OK,
"Could not get IServiceProvider iface: %08x\n",
hres);
168 IServiceProvider_Release(
sp);
175 ok(0,
"unexpected call\n");
207 ok(0,
"Unexpected IID_IObjectSafety query\n");
225 ok(0,
"unexpected call\n");
232 ok(0,
"unexpected call\n");
240 ok(0,
"unexpected call\n");
246 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
248 ok(0,
"unexpected call\n");
260 ok(0,
"unexpected call\n");
266 ok(0,
"unexpected call\n");
272 ok(0,
"unexpected call\n");
278 ok(0,
"unexpected call\n");
284 ok(0,
"unexpected call\n");
290 if(!
strcmp_wa(bstrName,
"reportSuccess")) {
291 ok(grfdex == fdexNameCaseInsensitive,
"grfdex = %x\n", grfdex);
308 ok(pdp !=
NULL,
"pdp == NULL\n");
309 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
310 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
311 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
312 ok(!pvarRes,
"pvarRes != NULL\n");
313 ok(pei !=
NULL,
"pei == NULL\n");
317 ok(0,
"unexpected call\n");
347 ok(grfdex == fdexNameCaseSensitive,
"grfdex = %x\n", grfdex);
361 ok(
wFlags == INVOKE_FUNC ||
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
362 ok(pdp !=
NULL,
"pdp == NULL\n");
363 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
364 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
365 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
366 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
367 ok(pei !=
NULL,
"pei == NULL\n");
369 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
370 ok(
V_VT(pdp->rgvarg+1) ==
VT_BOOL,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg));
375 ok(0,
"unexpected call\n");
428 ok(!outer,
"outer = %p\n", outer);
438 ok(0,
"unexpected call\n");
454 ok(0,
"unexpected call\n");
471 ok(0,
"unexpected call\n");
480 ok(dwAction == URLACTION_ACTIVEX_RUN,
"dwAction = %x\n", dwAction);
481 ok(pPolicy !=
NULL,
"pPolicy == NULL\n");
482 ok(cbPolicy ==
sizeof(
DWORD),
"cbPolicy = %d\n", cbPolicy);
483 ok(pContext !=
NULL,
"pContext == NULL\n");
484 ok(cbContext ==
sizeof(
GUID),
"cbContext = %d\n", cbContext);
504 ok(ppPolicy !=
NULL,
"ppPolicy == NULL\n");
505 ok(pcbPolicy !=
NULL,
"pcbPolicy == NULL\n");
506 ok(pContext !=
NULL,
"pContext == NULL\n");
507 ok(cbContext ==
sizeof(
struct CONFIRMSAFETY),
"cbContext = %d\n", cbContext);
511 ok(
cs->pUnk !=
NULL,
"cs->pUnk == NULL\n");
512 ok(!
cs->dwFlags,
"dwFlags = %x\n",
cs->dwFlags);
542 ok(0,
"unexpected call\n");
562 if(
IsEqualGUID(&SID_SInternetHostSecurityManager, guidService)) {
622 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN,
"unexpected dwReturnMask %x\n", dwReturnMask);
623 ok(!ppti,
"ppti != NULL\n");
636 const VARIANT *pvarResult,
const EXCEPINFO *pexcepinfo)
683 hres = IUnknown_QueryInterface(unk, &IID_IObjectSafety, (
void**)&safety);
688 options_all = INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER;
690 options_set = options_all;
692 options_set = INTERFACE_USES_DISPEX;
694 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, options_all, options_set);
695 ok(
hres ==
S_OK,
"SetInterfaceSafetyOptions failed: %08x\n",
hres);
697 supported =
enabled = 0xdeadbeef;
698 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &
enabled);
699 ok(
hres ==
S_OK,
"GetInterfaceSafetyOptions failed: %08x\n",
hres);
700 ok(supported == options_all,
"supported=%x, expected %x\n", supported, options_all);
701 ok(
enabled == options_set,
"enabled=%x, expected %x\n",
enabled, options_set);
703 IObjectSafety_Release(safety);
706#define parse_script_a(p,s) _parse_script_a(__LINE__,p,s)
732 IActiveScriptParse *
parser;
748 &IID_IActiveScript, (
void**)&
script);
755 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&
parser);
756 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
765 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
769 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
771 IActiveScript_Release(
script);
778 IActiveScriptParse *
parser;
978 IActiveScriptParse *
parser;
1071 ok(
hres ==
S_OK,
"Could not register script engine: %08x\n",
hres);
1075 ok(
hres ==
S_OK,
"Could not register script engine: %08x\n",
hres);
1082 IActiveScriptParseProcedure2 *vbscript;
1086 &IID_IActiveScriptParseProcedure2, (
void**)&vbscript);
1104 skip(
"Could not register ActiveX object.\n");
1107 win_skip(
"Broken engine, probably too old\n");
ACPI_SIZE strlen(const char *String)
enum tagSCRIPTSTATE SCRIPTSTATE
const GUID IID_IClassFactory
#define RegCloseKey(hKey)
static IActiveScriptParse * create_script(void)
static HRESULT parse_script_ae(IActiveScriptParse *parser, const char *script)
static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
static ULONG WINAPI ObjectWithSite_Release(IObjectWithSite *iface)
static HRESULT CreateInstance_hres
#define CLEAR_CALLED(func)
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static void set_safety_options(IUnknown *unk, BOOL use_sec_mgr)
static IClassFactory activex_cf
static void test_GetObject(void)
static ULONG WINAPI ObjectWithSite_AddRef(IObjectWithSite *iface)
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
static ULONG WINAPI ServiceProvider_Release(IServiceProvider *iface)
static IDispatchExVtbl globalObjVtbl
static IInternetHostSecurityManager InternetHostSecurityManager
static const IObjectWithSiteVtbl ObjectWithSiteVtbl
#define VB_E_CANNOT_CREATE_OBJ
static const GUID CLSID_TestObj
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
#define parse_script_a(p, s)
static const IClassFactoryVtbl ClassFactoryVtbl
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
static HRESULT WINAPI InternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager *iface, REFIID riid, void **ppv)
static ULONG WINAPI InternetHostSecurityManager_AddRef(IInternetHostSecurityManager *iface)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
static const WCHAR testW[]
static DWORD ProcessUrlAction_policy
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static BOOL init_registry(BOOL init)
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager *iface, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static BOOL check_vbscript(void)
static IObjectWithSite ObjectWithSite
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 _parse_script_a(unsigned line, IActiveScriptParse *parser, const char *script)
#define CHECK_EXPECT(func)
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static const GUID CLSID_TestObjInst
static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager *iface, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
#define DEFINE_EXPECT(func)
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
static DWORD QueryCustomPolicy_policy
#define IActiveScriptParse_InitNew
#define IActiveScriptParse_ParseScriptText
#define IActiveScriptParseProcedure2_Release
#define IActiveScriptParse_Release
static BSTR a2bstr(const char *str)
static int strcmp_wa(LPCWSTR strw, const char *stra)
static IServiceProvider ServiceProvider
static HRESULT WINAPI ObjectWithSite_QueryInterface(IObjectWithSite *iface, REFIID riid, void **ppv)
static BOOL init_key(const char *key_name, const char *def_value, BOOL init)
#define VB_E_ACCESS_DENIED
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)
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
static ULONG WINAPI InternetHostSecurityManager_Release(IInternetHostSecurityManager *iface)
static HRESULT QI_IDispatch_hres
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
static HRESULT ProcessUrlAction_hres
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
static HRESULT QI_IObjectWithSite_hres
#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 QS_SecMgr_hres
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
static HRESULT WINAPI ObjectWithSite_SetSite(IObjectWithSite *iface, IUnknown *pUnkSite)
static const IInternetHostSecurityManagerVtbl InternetHostSecurityManagerVtbl
static DWORD QueryCustomPolicy_psize
static BOOL register_activex(void)
static HRESULT WINAPI DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
#define TESTOBJINST_CLSID
static IDispatchEx globalObj
static void test_CreateObject(void)
static HRESULT WINAPI ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
static IDispatchEx testObj
static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager *iface, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
static IServiceProviderVtbl ServiceProviderVtbl
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
static ULONG WINAPI ServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT QueryCustomPolicy_hres
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
static IActiveScriptSite ActiveScriptSite
const CLSID CLSID_VBScript
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
static IObjectWithSite * object_with_site
static IDispatchExVtbl testObjVtbl
#define DISPID_TEST_REPORTSUCCESS
static HRESULT WINAPI ObjectWithSite_GetSite(IObjectWithSite *iface, REFIID riid, void **ppvSite)
static HRESULT SetSite_hres
static HRESULT WINAPI Test_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
LONG WINAPI RegCreateKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegSetValueA(HKEY hKeyOriginal, LPCSTR lpSubKey, DWORD dwType, LPCSTR lpData, DWORD cbData)
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
#define ERROR_MOD_NOT_FOUND
#define WideCharToMultiByte
#define MultiByteToWideChar
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
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)
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLenum GLuint GLenum GLsizei const GLchar * buf
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
LCID WINAPI GetUserDefaultLCID(void)
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
const IID IID_IObjectWithSite
static const char * strw(LPCWSTR x)
static VARIANTARG static DISPID
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define IsEqualGUID(rguid1, rguid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
#define HRESULT_FROM_WIN32(x)
#define HKEY_CLASSES_ROOT