ReactOS 0.4.17-dev-357-ga8f14ff
activex.c File Reference
#include <stdio.h>
#include <ole2.h>
#include <dispex.h>
#include <activscp.h>
#include <objsafe.h>
#include <urlmon.h>
#include <mshtmhst.h>
#include "wine/test.h"
Include dependency graph for activex.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 
#define CONST_VTABLE
 
#define IActiveScriptParse_QueryInterface   IActiveScriptParse32_QueryInterface
 
#define IActiveScriptParse_Release   IActiveScriptParse32_Release
 
#define IActiveScriptParse_InitNew   IActiveScriptParse32_InitNew
 
#define IActiveScriptParse_ParseScriptText   IActiveScriptParse32_ParseScriptText
 
#define IActiveScriptParseProcedure2_Release    IActiveScriptParseProcedure2_32_Release
 
#define IActiveScriptParseProcedure2_ParseProcedureText    IActiveScriptParseProcedure2_32_ParseProcedureText
 
#define DEFINE_EXPECT(func)    static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
 
#define SET_EXPECT(func)    expect_ ## func = TRUE
 
#define CHECK_EXPECT2(func)
 
#define CHECK_EXPECT(func)
 
#define CHECK_CALLED(func)
 
#define TESTOBJ_CLSID   "{178fc163-f585-4e24-9c13-4bb7faf80646}"
 
#define DISPID_TEST_REPORTSUCCESS   0x1000
 
#define DISPID_GLOBAL_OK   0x2000
 
#define parse_script(p, s)   _parse_script(__LINE__,p,s)
 
#define call_procedure(p, c)   _call_procedure(__LINE__,p,c)
 

Functions

 DEFINE_EXPECT (CreateInstance)
 
 DEFINE_EXPECT (ProcessUrlAction)
 
 DEFINE_EXPECT (QueryCustomPolicy)
 
 DEFINE_EXPECT (reportSuccess)
 
 DEFINE_EXPECT (Host_QS_SecMgr)
 
 DEFINE_EXPECT (Caller_QS_SecMgr)
 
 DEFINE_EXPECT (QI_IObjectWithSite)
 
 DEFINE_EXPECT (SetSite)
 
static HRESULT WINAPI ObjectWithSite_QueryInterface (IObjectWithSite *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ObjectWithSite_AddRef (IObjectWithSite *iface)
 
static ULONG WINAPI ObjectWithSite_Release (IObjectWithSite *iface)
 
static HRESULT WINAPI ObjectWithSite_SetSite (IObjectWithSite *iface, IUnknown *pUnkSite)
 
static HRESULT WINAPI ObjectWithSite_GetSite (IObjectWithSite *iface, REFIID riid, void **ppvSite)
 
static HRESULT WINAPI DispatchEx_QueryInterface (IDispatchEx *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI DispatchEx_AddRef (IDispatchEx *iface)
 
static ULONG WINAPI DispatchEx_Release (IDispatchEx *iface)
 
static HRESULT WINAPI DispatchEx_GetTypeInfoCount (IDispatchEx *iface, UINT *pctinfo)
 
static HRESULT WINAPI DispatchEx_GetTypeInfo (IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI DispatchEx_GetIDsOfNames (IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI DispatchEx_Invoke (IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI DispatchEx_DeleteMemberByName (IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
 
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID (IDispatchEx *iface, DISPID id)
 
static HRESULT WINAPI DispatchEx_GetMemberProperties (IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
 
static HRESULT WINAPI DispatchEx_GetMemberName (IDispatchEx *iface, DISPID id, BSTR *pbstrName)
 
static HRESULT WINAPI DispatchEx_GetNextDispID (IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
 
static HRESULT WINAPI DispatchEx_GetNameSpaceParent (IDispatchEx *iface, IUnknown **ppunk)
 
static HRESULT WINAPI Test_GetDispID (IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
 
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)
 
static HRESULT WINAPI Global_InvokeEx (IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
 
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_CreateInstance (IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
 
static HRESULT WINAPI ClassFactory_LockServer (IClassFactory *iface, BOOL dolock)
 
static HRESULT WINAPI InternetHostSecurityManager_QueryInterface (IInternetHostSecurityManager *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI InternetHostSecurityManager_AddRef (IInternetHostSecurityManager *iface)
 
static ULONG WINAPI InternetHostSecurityManager_Release (IInternetHostSecurityManager *iface)
 
static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId (IInternetHostSecurityManager *iface, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
 
static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction (IInternetHostSecurityManager *iface, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
 
static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy (IInternetHostSecurityManager *iface, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
 
static HRESULT WINAPI ServiceProvider_QueryInterface (IServiceProvider *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ServiceProvider_AddRef (IServiceProvider *iface)
 
static ULONG WINAPI ServiceProvider_Release (IServiceProvider *iface)
 
static HRESULT WINAPI ServiceProvider_QueryService (IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
 
static HRESULT WINAPI ActiveScriptSite_QueryInterface (IActiveScriptSite *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI ActiveScriptSite_AddRef (IActiveScriptSite *iface)
 
static ULONG WINAPI ActiveScriptSite_Release (IActiveScriptSite *iface)
 
static HRESULT WINAPI ActiveScriptSite_GetLCID (IActiveScriptSite *iface, LCID *plcid)
 
static HRESULT WINAPI ActiveScriptSite_GetItemInfo (IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
 
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString (IActiveScriptSite *iface, BSTR *pbstrVersion)
 
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate (IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
 
static HRESULT WINAPI ActiveScriptSite_OnStateChange (IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
 
static HRESULT WINAPI ActiveScriptSite_OnScriptError (IActiveScriptSite *iface, IActiveScriptError *pscripterror)
 
static HRESULT WINAPI ActiveScriptSite_OnEnterScript (IActiveScriptSite *iface)
 
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript (IActiveScriptSite *iface)
 
static void set_safety_options (IUnknown *unk, BOOL use_sec_mgr)
 
static void _parse_script (unsigned line, IActiveScriptParse *parser, const WCHAR *script)
 
static IActiveScriptParse * create_script (BOOL skip_tests, BOOL use_sec_mgr)
 
static IDispatchExparse_procedure (IActiveScriptParse *parser, const WCHAR *src)
 
static void _call_procedure (unsigned line, IDispatchEx *proc, IServiceProvider *caller)
 
static void test_ActiveXObject (void)
 
static BOOL init_key (const char *key_name, const char *def_value, BOOL init)
 
static BOOL init_registry (BOOL init)
 
static BOOL register_activex (void)
 
static BOOL check_jscript (void)
 
 START_TEST (activex)
 

Variables

static const CLSID CLSID_JScript
 
static HRESULT QS_SecMgr_hres
 
static HRESULT ProcessUrlAction_hres
 
static DWORD ProcessUrlAction_policy
 
static HRESULT CreateInstance_hres
 
static HRESULT QueryCustomPolicy_hres
 
static DWORD QueryCustomPolicy_psize
 
static DWORD QueryCustomPolicy_policy
 
static HRESULT QI_IDispatch_hres
 
static HRESULT SetSite_hres
 
static BOOL AllowIServiceProvider
 
static const GUID CLSID_TestObj
 
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
 
static const IObjectWithSiteVtbl ObjectWithSiteVtbl
 
static IObjectWithSite ObjectWithSite = { &ObjectWithSiteVtbl }
 
static IObjectWithSiteobject_with_site
 
static IDispatchExVtbl testObjVtbl
 
static IDispatchEx testObj = { &testObjVtbl }
 
static IDispatchExVtbl globalObjVtbl
 
static IDispatchEx globalObj = { &globalObjVtbl }
 
static const IClassFactoryVtbl ClassFactoryVtbl
 
static IClassFactory activex_cf = { &ClassFactoryVtbl }
 
static const IInternetHostSecurityManagerVtbl InternetHostSecurityManagerVtbl
 
static IInternetHostSecurityManager InternetHostSecurityManager = { &InternetHostSecurityManagerVtbl }
 
static IServiceProvider ServiceProvider = { &ServiceProviderVtbl }
 
static IServiceProviderVtbl ServiceProviderVtbl
 
static IServiceProvider caller_sp = { &ServiceProviderVtbl }
 
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
 
static IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl }
 

Macro Definition Documentation

◆ call_procedure

#define call_procedure (   p,
  c 
)    _call_procedure(__LINE__,p,c)

Definition at line 774 of file activex.c.

◆ CHECK_CALLED

#define CHECK_CALLED (   func)
Value:
do { \
ok(called_ ## func, "expected " #func "\n"); \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
#define FALSE
Definition: types.h:117
GLenum func
Definition: glext.h:6028
#define expect_(expected, got, precision)
Definition: font.c:34

Definition at line 78 of file activex.c.

◆ CHECK_EXPECT

#define CHECK_EXPECT (   func)
Value:
do { \
CHECK_EXPECT2(func); \
expect_ ## func = FALSE; \
}while(0)

Definition at line 72 of file activex.c.

◆ CHECK_EXPECT2

#define CHECK_EXPECT2 (   func)
Value:
do { \
ok(expect_ ##func, "unexpected call " #func "\n"); \
called_ ## func = TRUE; \
}while(0)
#define TRUE
Definition: types.h:120

Definition at line 66 of file activex.c.

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file activex.c.

◆ CONST_VTABLE

#define CONST_VTABLE

Definition at line 22 of file activex.c.

◆ DEFINE_EXPECT

#define DEFINE_EXPECT (   func)     static BOOL expect_ ## func = FALSE, called_ ## func = FALSE

Definition at line 60 of file activex.c.

◆ DISPID_GLOBAL_OK

#define DISPID_GLOBAL_OK   0x2000

Definition at line 115 of file activex.c.

◆ DISPID_TEST_REPORTSUCCESS

#define DISPID_TEST_REPORTSUCCESS   0x1000

Definition at line 113 of file activex.c.

◆ IActiveScriptParse_InitNew

#define IActiveScriptParse_InitNew   IActiveScriptParse32_InitNew

Definition at line 48 of file activex.c.

◆ IActiveScriptParse_ParseScriptText

#define IActiveScriptParse_ParseScriptText   IActiveScriptParse32_ParseScriptText

Definition at line 49 of file activex.c.

◆ IActiveScriptParse_QueryInterface

#define IActiveScriptParse_QueryInterface   IActiveScriptParse32_QueryInterface

Definition at line 46 of file activex.c.

◆ IActiveScriptParse_Release

#define IActiveScriptParse_Release   IActiveScriptParse32_Release

Definition at line 47 of file activex.c.

◆ IActiveScriptParseProcedure2_ParseProcedureText

#define IActiveScriptParseProcedure2_ParseProcedureText    IActiveScriptParseProcedure2_32_ParseProcedureText

Definition at line 52 of file activex.c.

◆ IActiveScriptParseProcedure2_Release

#define IActiveScriptParseProcedure2_Release    IActiveScriptParseProcedure2_32_Release

Definition at line 50 of file activex.c.

◆ parse_script

#define parse_script (   p,
  s 
)    _parse_script(__LINE__,p,s)

Definition at line 681 of file activex.c.

◆ SET_EXPECT

#define SET_EXPECT (   func)     expect_ ## func = TRUE

Definition at line 63 of file activex.c.

◆ TESTOBJ_CLSID

#define TESTOBJ_CLSID   "{178fc163-f585-4e24-9c13-4bb7faf80646}"

Definition at line 104 of file activex.c.

Function Documentation

◆ _call_procedure()

static void _call_procedure ( unsigned  line,
IDispatchEx proc,
IServiceProvider caller 
)
static

Definition at line 775 of file activex.c.

776{
777 DISPPARAMS dp = {NULL,NULL,0,0};
778 EXCEPINFO ei = {0};
780
781 hres = IDispatchEx_InvokeEx(proc, DISPID_VALUE, 0, DISPATCH_METHOD, &dp, NULL, &ei, caller);
782 ok_(__FILE__,line)(hres == S_OK, "InvokeEx failed: %08lx\n", hres);
783
784}
#define ok_(x1, x2)
Definition: atltest.h:61
#define NULL
Definition: types.h:112
#define S_OK
Definition: intsafe.h:52
HRESULT hres
Definition: protocol.c:465
struct stdole::DISPPARAMS DISPPARAMS
struct stdole::EXCEPINFO EXCEPINFO
#define DISPATCH_METHOD
Definition: oleauto.h:1006
static HANDLE proc()
Definition: pdb.c:32
Definition: parser.c:49

◆ _parse_script()

static void _parse_script ( unsigned  line,
IActiveScriptParse *  parser,
const WCHAR script 
)
static

Definition at line 682 of file activex.c.

683{
685
687 ok_(__FILE__,line)(hres == S_OK, "ParseScriptText failed: %08lx\n", hres);
688}
#define IActiveScriptParse_ParseScriptText
Definition: activex.c:49
script
Definition: msipriv.h:383
Definition: import.c:81

◆ ActiveScriptSite_AddRef()

static ULONG WINAPI ActiveScriptSite_AddRef ( IActiveScriptSite iface)
static

Definition at line 576 of file activex.c.

577{
578 return 2;
579}

◆ ActiveScriptSite_GetDocVersionString()

static HRESULT WINAPI ActiveScriptSite_GetDocVersionString ( IActiveScriptSite iface,
BSTR pbstrVersion 
)
static

Definition at line 603 of file activex.c.

604{
605 return E_NOTIMPL;
606}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ActiveScriptSite_GetItemInfo()

static HRESULT WINAPI ActiveScriptSite_GetItemInfo ( IActiveScriptSite iface,
LPCOLESTR  pstrName,
DWORD  dwReturnMask,
IUnknown **  ppiunkItem,
ITypeInfo **  ppti 
)
static

Definition at line 592 of file activex.c.

594{
595 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN, "unexpected dwReturnMask %lx\n", dwReturnMask);
596 ok(!ppti, "ppti != NULL\n");
597 ok(!lstrcmpW(pstrName, L"test"), "pstrName = %s\n", wine_dbgstr_w(pstrName));
598
599 *ppiunkItem = (IUnknown*)&globalObj;
600 return S_OK;
601}
#define ok(value,...)
Definition: atltest.h:57
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4152
#define L(x)
Definition: resources.c:13
#define wine_dbgstr_w
Definition: kernel32.h:34
static IDispatchEx globalObj
Definition: activex.c:372

◆ ActiveScriptSite_GetLCID()

static HRESULT WINAPI ActiveScriptSite_GetLCID ( IActiveScriptSite iface,
LCID plcid 
)
static

Definition at line 586 of file activex.c.

587{
588 *plcid = GetUserDefaultLCID();
589 return S_OK;
590}
LCID WINAPI GetUserDefaultLCID(void)
Definition: locale.c:1216

◆ ActiveScriptSite_OnEnterScript()

static HRESULT WINAPI ActiveScriptSite_OnEnterScript ( IActiveScriptSite iface)
static

Definition at line 624 of file activex.c.

625{
626 return E_NOTIMPL;
627}

◆ ActiveScriptSite_OnLeaveScript()

static HRESULT WINAPI ActiveScriptSite_OnLeaveScript ( IActiveScriptSite iface)
static

Definition at line 629 of file activex.c.

630{
631 return E_NOTIMPL;
632}

◆ ActiveScriptSite_OnScriptError()

static HRESULT WINAPI ActiveScriptSite_OnScriptError ( IActiveScriptSite iface,
IActiveScriptError pscripterror 
)
static

Definition at line 619 of file activex.c.

620{
621 return E_NOTIMPL;
622}

◆ ActiveScriptSite_OnScriptTerminate()

static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate ( IActiveScriptSite iface,
const VARIANT pvarResult,
const EXCEPINFO *  pexcepinfo 
)
static

Definition at line 608 of file activex.c.

610{
611 return E_NOTIMPL;
612}

◆ ActiveScriptSite_OnStateChange()

static HRESULT WINAPI ActiveScriptSite_OnStateChange ( IActiveScriptSite iface,
SCRIPTSTATE  ssScriptState 
)
static

Definition at line 614 of file activex.c.

615{
616 return E_NOTIMPL;
617}

◆ ActiveScriptSite_QueryInterface()

static HRESULT WINAPI ActiveScriptSite_QueryInterface ( IActiveScriptSite iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 559 of file activex.c.

560{
562 *ppv = iface;
563 }else if(IsEqualGUID(&IID_IActiveScriptSite, riid)) {
564 *ppv = iface;
565 }else if(IsEqualGUID(&IID_IServiceProvider, riid) && AllowIServiceProvider) {
567 }else {
568 *ppv = NULL;
569 return E_NOINTERFACE;
570 }
571
572 IUnknown_AddRef((IUnknown*)*ppv);
573 return S_OK;
574}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
static BOOL AllowIServiceProvider
Definition: activex.c:102
static IServiceProvider ServiceProvider
Definition: activex.c:510
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ ActiveScriptSite_Release()

static ULONG WINAPI ActiveScriptSite_Release ( IActiveScriptSite iface)
static

Definition at line 581 of file activex.c.

582{
583 return 1;
584}

◆ check_jscript()

static BOOL check_jscript ( void  )
static

Definition at line 1088 of file activex.c.

1089{
1090 IActiveScriptProperty *script_prop;
1091 IActiveScriptParse *parser;
1092 HRESULT hres;
1093
1095 if(!parser)
1096 return FALSE;
1097
1098 hres = IActiveScriptParse_ParseScriptText(parser, L"if(!('localeCompare' in String.prototype)) throw 1;",
1099 NULL, NULL, NULL, 0, 0, 0, NULL, NULL);
1100 if(hres == S_OK)
1101 hres = IActiveScriptParse_QueryInterface(parser, &IID_IActiveScriptProperty, (void**)&script_prop);
1103 if(hres == S_OK)
1104 IActiveScriptProperty_Release(script_prop);
1105
1106 return hres == S_OK;
1107}
static IActiveScriptParse * create_script(void)
Definition: caller.c:673
#define IActiveScriptParse_Release
Definition: activex.c:47
#define IActiveScriptParse_QueryInterface
Definition: activex.c:46

Referenced by START_TEST().

◆ ClassFactory_AddRef()

static ULONG WINAPI ClassFactory_AddRef ( IClassFactory iface)
static

Definition at line 386 of file activex.c.

387{
388 return 2;
389}

◆ ClassFactory_CreateInstance()

static HRESULT WINAPI ClassFactory_CreateInstance ( IClassFactory iface,
IUnknown outer,
REFIID  riid,
void **  ppv 
)
static

Definition at line 396 of file activex.c.

397{
399
400 ok(!outer, "outer = %p\n", outer);
401 ok(IsEqualGUID(&IID_IUnknown, riid), "unexpected riid %s\n", wine_dbgstr_guid(riid));
402
404 *ppv = &testObj;
405 return CreateInstance_hres;
406}
static CInternetFolder * CreateInstance(void)
Definition: inetfolder.c:330
#define SUCCEEDED(hr)
Definition: intsafe.h:50
static HRESULT CreateInstance_hres
Definition: activex.c:96
#define CHECK_EXPECT(func)
Definition: activex.c:72
static IDispatchEx testObj
Definition: activex.c:314
static IUnknown * outer
Definition: compobj.c:82
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:171

◆ ClassFactory_LockServer()

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

Definition at line 408 of file activex.c.

409{
410 ok(0, "unexpected call\n");
411 return S_OK;
412}

◆ ClassFactory_QueryInterface()

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

Definition at line 374 of file activex.c.

375{
377 *ppv = iface;
378 return S_OK;
379 }
380
381 /* TODO: IClassFactoryEx */
382 *ppv = NULL;
383 return E_NOINTERFACE;
384}
const GUID IID_IClassFactory

◆ ClassFactory_Release()

static ULONG WINAPI ClassFactory_Release ( IClassFactory iface)
static

Definition at line 391 of file activex.c.

392{
393 return 1;
394}

◆ create_script()

static IActiveScriptParse * create_script ( BOOL  skip_tests,
BOOL  use_sec_mgr 
)
static

Definition at line 690 of file activex.c.

691{
692 IActiveScriptParse *parser;
695
698 ProcessUrlAction_policy = URLPOLICY_ALLOW;
702 QueryCustomPolicy_policy = URLPOLICY_ALLOW;
706
707 hres = CoCreateInstance(&CLSID_JScript, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
708 &IID_IActiveScript, (void**)&script);
709 if(!skip_tests)
710 ok(hres == S_OK, "CoCreateInstance failed: %08lx\n", hres);
711 if(FAILED(hres))
712 return NULL;
713
714 if(!skip_tests)
715 set_safety_options((IUnknown*)script, use_sec_mgr);
716
717 hres = IActiveScript_QueryInterface(script, &IID_IActiveScriptParse, (void**)&parser);
718 ok(hres == S_OK, "Could not get IActiveScriptParse: %08lx\n", hres);
719
721 ok(hres == S_OK, "InitNew failed: %08lx\n", hres);
722
723 hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
724 ok(hres == S_OK, "SetScriptSite failed: %08lx\n", hres);
725
726 hres = IActiveScript_AddNamedItem(script, L"test",
727 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
728 ok(hres == S_OK, "AddNamedItem failed: %08lx\n", hres);
729
730 hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED);
731 ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n", hres);
732
733 IActiveScript_Release(script);
734
735 if(!skip_tests) {
737 L"function testException(func, type, number) {\n"
738 L" try {\n"
739 L" func();\n"
740 L" }catch(e) {\n"
741 L" ok(e.name === type, 'e.name = ' + e.name + ', expected ' + type)\n"
742 L" ok(e.number === number, 'e.number = ' + e.number + ', expected ' + number);\n"
743 L" return;\n"
744 L" }\n"
745 L" ok(false, 'exception expected');\n"
746 L"}");
747 }
748
749 return parser;
750}
@ SCRIPTSTATE_STARTED
Definition: activscp.idl:58
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
Definition: combase.c:1685
#define FAILED(hr)
Definition: intsafe.h:51
static void set_safety_options(IUnknown *unk, BOOL use_sec_mgr)
Definition: activex.c:652
static DWORD ProcessUrlAction_policy
Definition: activex.c:95
static const CLSID CLSID_JScript
Definition: activex.c:57
static DWORD QueryCustomPolicy_policy
Definition: activex.c:99
#define IActiveScriptParse_InitNew
Definition: activex.c:48
#define parse_script(p, s)
Definition: activex.c:681
static HRESULT QI_IDispatch_hres
Definition: activex.c:100
static HRESULT ProcessUrlAction_hres
Definition: activex.c:94
static HRESULT QS_SecMgr_hres
Definition: activex.c:93
static DWORD QueryCustomPolicy_psize
Definition: activex.c:98
static HRESULT QueryCustomPolicy_hres
Definition: activex.c:97
static IActiveScriptSite ActiveScriptSite
Definition: activex.c:650
static HRESULT SetSite_hres
Definition: activex.c:101
#define DWORD
Definition: nt_native.h:44

◆ DEFINE_EXPECT() [1/8]

DEFINE_EXPECT ( Caller_QS_SecMgr  )

◆ DEFINE_EXPECT() [2/8]

DEFINE_EXPECT ( CreateInstance  )

◆ DEFINE_EXPECT() [3/8]

DEFINE_EXPECT ( Host_QS_SecMgr  )

◆ DEFINE_EXPECT() [4/8]

DEFINE_EXPECT ( ProcessUrlAction  )

◆ DEFINE_EXPECT() [5/8]

DEFINE_EXPECT ( QI_IObjectWithSite  )

◆ DEFINE_EXPECT() [6/8]

DEFINE_EXPECT ( QueryCustomPolicy  )

◆ DEFINE_EXPECT() [7/8]

DEFINE_EXPECT ( reportSuccess  )

◆ DEFINE_EXPECT() [8/8]

DEFINE_EXPECT ( SetSite  )

◆ DispatchEx_AddRef()

static ULONG WINAPI DispatchEx_AddRef ( IDispatchEx iface)
static

Definition at line 187 of file activex.c.

188{
189 return 2;
190}

◆ DispatchEx_DeleteMemberByDispID()

static HRESULT WINAPI DispatchEx_DeleteMemberByDispID ( IDispatchEx iface,
DISPID  id 
)
static

Definition at line 230 of file activex.c.

231{
232 ok(0, "unexpected call\n");
233 return E_NOTIMPL;
234}

◆ DispatchEx_DeleteMemberByName()

static HRESULT WINAPI DispatchEx_DeleteMemberByName ( IDispatchEx iface,
BSTR  bstrName,
DWORD  grfdex 
)
static

Definition at line 224 of file activex.c.

225{
226 ok(0, "unexpected call %s %lx\n", wine_dbgstr_w(bstrName), grfdex);
227 return E_NOTIMPL;
228}

◆ DispatchEx_GetIDsOfNames()

static HRESULT WINAPI DispatchEx_GetIDsOfNames ( IDispatchEx iface,
REFIID  riid,
LPOLESTR *  rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 208 of file activex.c.

211{
212 ok(0, "unexpected call\n");
213 return E_NOTIMPL;
214}

◆ DispatchEx_GetMemberName()

static HRESULT WINAPI DispatchEx_GetMemberName ( IDispatchEx iface,
DISPID  id,
BSTR pbstrName 
)
static

Definition at line 242 of file activex.c.

243{
244 ok(0, "unexpected call\n");
245 return E_NOTIMPL;
246}

◆ DispatchEx_GetMemberProperties()

static HRESULT WINAPI DispatchEx_GetMemberProperties ( IDispatchEx iface,
DISPID  id,
DWORD  grfdexFetch,
DWORD pgrfdex 
)
static

Definition at line 236 of file activex.c.

237{
238 ok(0, "unexpected call\n");
239 return E_NOTIMPL;
240}

◆ DispatchEx_GetNameSpaceParent()

static HRESULT WINAPI DispatchEx_GetNameSpaceParent ( IDispatchEx iface,
IUnknown **  ppunk 
)
static

Definition at line 254 of file activex.c.

255{
256 ok(0, "unexpected call\n");
257 return E_NOTIMPL;
258}

◆ DispatchEx_GetNextDispID()

static HRESULT WINAPI DispatchEx_GetNextDispID ( IDispatchEx iface,
DWORD  grfdex,
DISPID  id,
DISPID pid 
)
static

Definition at line 248 of file activex.c.

249{
250 ok(0, "unexpected call\n");
251 return E_NOTIMPL;
252}

◆ DispatchEx_GetTypeInfo()

static HRESULT WINAPI DispatchEx_GetTypeInfo ( IDispatchEx iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 203 of file activex.c.

204{
205 return E_NOTIMPL;
206}

◆ DispatchEx_GetTypeInfoCount()

static HRESULT WINAPI DispatchEx_GetTypeInfoCount ( IDispatchEx iface,
UINT pctinfo 
)
static

Definition at line 197 of file activex.c.

198{
199 ok(0, "unexpected call\n");
200 return E_NOTIMPL;
201}

◆ DispatchEx_Invoke()

static HRESULT WINAPI DispatchEx_Invoke ( IDispatchEx iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 216 of file activex.c.

219{
220 ok(0, "unexpected call\n");
221 return E_NOTIMPL;
222}

◆ DispatchEx_QueryInterface()

static HRESULT WINAPI DispatchEx_QueryInterface ( IDispatchEx iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 167 of file activex.c.

168{
169 *ppv = NULL;
170
172 *ppv = iface;
173 }else if(IsEqualGUID(riid, &IID_IDispatch) || IsEqualGUID(riid, &IID_IDispatchEx)) {
175 return QI_IDispatch_hres;
176 *ppv = iface;
178 CHECK_EXPECT(QI_IObjectWithSite);
180 }else if(IsEqualGUID(&IID_IObjectSafety, riid)) {
181 ok(0, "Unexpected IID_IObjectSafety query\n");
182 }
183
184 return *ppv ? S_OK : E_NOINTERFACE;
185}
const IID IID_IObjectWithSite
static IObjectWithSite * object_with_site
Definition: activex.c:165
const GUID IID_IDispatch

◆ DispatchEx_Release()

static ULONG WINAPI DispatchEx_Release ( IDispatchEx iface)
static

Definition at line 192 of file activex.c.

193{
194 return 1;
195}

◆ Global_GetDispID()

static HRESULT WINAPI Global_GetDispID ( IDispatchEx iface,
BSTR  bstrName,
DWORD  grfdex,
DISPID pid 
)
static

Definition at line 316 of file activex.c.

317{
318 if(!lstrcmpW(bstrName, L"ok")) {
319 ok(grfdex == fdexNameCaseSensitive, "grfdex = %lx\n", grfdex);
321 return S_OK;
322 }
323
324 ok(0, "unexpected name %s\n", wine_dbgstr_w(bstrName));
325 return E_NOTIMPL;
326}
#define DISPID_GLOBAL_OK
Definition: activex.c:115
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
Definition: winddi.h:3837

◆ Global_InvokeEx()

static HRESULT WINAPI Global_InvokeEx ( IDispatchEx iface,
DISPID  id,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pdp,
VARIANT pvarRes,
EXCEPINFO *  pei,
IServiceProvider pspCaller 
)
static

Definition at line 328 of file activex.c.

330{
331 switch(id) {
332 case DISPID_GLOBAL_OK:
333 ok(wFlags == INVOKE_FUNC || wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET), "wFlags = %x\n", wFlags);
334 ok(pdp != NULL, "pdp == NULL\n");
335 ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
336 ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
337 ok(pdp->cArgs == 2, "cArgs = %d\n", pdp->cArgs);
338 ok(!pdp->cNamedArgs, "cNamedArgs = %d\n", pdp->cNamedArgs);
339 ok(pei != NULL, "pei == NULL\n");
340
341 ok(V_VT(pdp->rgvarg) == VT_BSTR, "V_VT(psp->rgvargs) = %d\n", V_VT(pdp->rgvarg));
342 ok(V_VT(pdp->rgvarg+1) == VT_BOOL, "V_VT(psp->rgvargs+1) = %d\n", V_VT(pdp->rgvarg));
343 ok(V_BOOL(pdp->rgvarg+1), "%s\n", wine_dbgstr_w(V_BSTR(pdp->rgvarg)));
344 break;
345
346 default:
347 ok(0, "unexpected call\n");
348 return E_NOTIMPL;
349 }
350
351 return S_OK;
352}
@ VT_BSTR
Definition: compat.h:2303
@ VT_BOOL
Definition: compat.h:2306
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ init_key()

static BOOL init_key ( const char key_name,
const char def_value,
BOOL  init 
)
static

Definition at line 1044 of file activex.c.

1045{
1046 HKEY hkey;
1047 DWORD res;
1048
1049 if(!init) {
1051 return TRUE;
1052 }
1053
1055 if(res != ERROR_SUCCESS)
1056 return FALSE;
1057
1058 if(def_value)
1059 res = RegSetValueA(hkey, NULL, REG_SZ, def_value, strlen(def_value));
1060
1061 RegCloseKey(hkey);
1062
1063 return res == ERROR_SUCCESS;
1064}
#define RegCloseKey(hKey)
Definition: registry.h:49
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegCreateKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:1179
LONG WINAPI RegSetValueA(HKEY hKeyOriginal, LPCSTR lpSubKey, DWORD dwType, LPCSTR lpData, DWORD cbData)
Definition: reg.c:4954
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
Definition: reg.c:1224
_ACRTIMP size_t __cdecl strlen(const char *)
Definition: string.c:1597
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint res
Definition: glext.h:9613
#define REG_SZ
Definition: layer.c:22
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
static int init
Definition: wintirpc.c:33

Referenced by init_registry().

◆ init_registry()

static BOOL init_registry ( BOOL  init)
static

Definition at line 1066 of file activex.c.

1067{
1068 return init_key("Wine.Test\\CLSID", TESTOBJ_CLSID, init);
1069}
static BOOL init_key(const char *key_name, const char *def_value, BOOL init)
Definition: activex.c:1044
#define TESTOBJ_CLSID
Definition: activex.c:104

Referenced by register_activex(), and START_TEST().

◆ InternetHostSecurityManager_AddRef()

static ULONG WINAPI InternetHostSecurityManager_AddRef ( IInternetHostSecurityManager iface)
static

Definition at line 430 of file activex.c.

431{
432 return 2;
433}

◆ InternetHostSecurityManager_GetSecurityId()

static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId ( IInternetHostSecurityManager iface,
BYTE pbSecurityId,
DWORD pcbSecurityId,
DWORD_PTR  dwReserved 
)
static

Definition at line 440 of file activex.c.

442{
443 ok(0, "unexpected call\n");
444 return E_NOTIMPL;
445}

◆ InternetHostSecurityManager_ProcessUrlAction()

static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction ( IInternetHostSecurityManager iface,
DWORD  dwAction,
BYTE pPolicy,
DWORD  cbPolicy,
BYTE pContext,
DWORD  cbContext,
DWORD  dwFlags,
DWORD  dwReserved 
)
static

Definition at line 447 of file activex.c.

449{
450 CHECK_EXPECT(ProcessUrlAction);
451
452 ok(dwAction == URLACTION_ACTIVEX_RUN, "dwAction = %lx\n", dwAction);
453 ok(pPolicy != NULL, "pPolicy == NULL\n");
454 ok(cbPolicy == sizeof(DWORD), "cbPolicy = %ld\n", cbPolicy);
455 ok(pContext != NULL, "pContext == NULL\n");
456 ok(cbContext == sizeof(GUID), "cbContext = %ld\n", cbContext);
457 ok(IsEqualGUID(pContext, &CLSID_TestObj), "pContext = %s\n", wine_dbgstr_guid((const IID*)pContext));
458 ok(!dwFlags, "dwFlags = %lx\n", dwFlags);
459 ok(!dwReserved, "dwReserved = %lx\n", dwReserved);
460
462 *(DWORD*)pPolicy = ProcessUrlAction_policy;
464}
static const GUID CLSID_TestObj
Definition: activex.c:106
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ InternetHostSecurityManager_QueryCustomPolicy()

static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy ( IInternetHostSecurityManager iface,
REFGUID  guidKey,
BYTE **  ppPolicy,
DWORD pcbPolicy,
BYTE pContext,
DWORD  cbContext,
DWORD  dwReserved 
)
static

Definition at line 466 of file activex.c.

468{
469 const struct CONFIRMSAFETY *cs = (const struct CONFIRMSAFETY*)pContext;
470 DWORD *ret;
471
472 CHECK_EXPECT(QueryCustomPolicy);
473
474 ok(IsEqualGUID(&GUID_CUSTOM_CONFIRMOBJECTSAFETY, guidKey), "guidKey = %s\n", wine_dbgstr_guid(guidKey));
475
476 ok(ppPolicy != NULL, "ppPolicy == NULL\n");
477 ok(pcbPolicy != NULL, "pcbPolicy == NULL\n");
478 ok(pContext != NULL, "pContext == NULL\n");
479 ok(cbContext == sizeof(struct CONFIRMSAFETY), "cbContext = %ld\n", cbContext);
480 ok(!dwReserved, "dwReserved = %lx\n", dwReserved);
481
482 /* TODO: CLSID */
483 ok(cs->pUnk != NULL, "cs->pUnk == NULL\n");
484 ok(!cs->dwFlags, "dwFlags = %lx\n", cs->dwFlags);
485
488
490 *ppPolicy = (BYTE*)ret;
491 *pcbPolicy = QueryCustomPolicy_psize;
493 if(QueryCustomPolicy_psize >= sizeof(DWORD))
495
497}
void *WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: malloc.c:381
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
Definition: activex.c:29
return ret
Definition: mutex.c:146
#define cs
Definition: i386-dis.c:442
#define memset(x, y, z)
Definition: compat.h:39
unsigned char BYTE
Definition: xxhash.c:193

◆ InternetHostSecurityManager_QueryInterface()

static HRESULT WINAPI InternetHostSecurityManager_QueryInterface ( IInternetHostSecurityManager iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 424 of file activex.c.

425{
426 ok(0, "unexpected call\n");
427 return E_NOINTERFACE;
428}

◆ InternetHostSecurityManager_Release()

static ULONG WINAPI InternetHostSecurityManager_Release ( IInternetHostSecurityManager iface)
static

Definition at line 435 of file activex.c.

436{
437 return 1;
438}

◆ ObjectWithSite_AddRef()

static ULONG WINAPI ObjectWithSite_AddRef ( IObjectWithSite iface)
static

Definition at line 123 of file activex.c.

124{
125 return 2;
126}

◆ ObjectWithSite_GetSite()

static HRESULT WINAPI ObjectWithSite_GetSite ( IObjectWithSite iface,
REFIID  riid,
void **  ppvSite 
)
static

Definition at line 149 of file activex.c.

150{
151 ok(0, "unexpected call\n");
152 return E_NOTIMPL;
153}

◆ ObjectWithSite_QueryInterface()

static HRESULT WINAPI ObjectWithSite_QueryInterface ( IObjectWithSite iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 117 of file activex.c.

118{
119 ok(0, "unexpected call\n");
120 return E_NOTIMPL;
121}

◆ ObjectWithSite_Release()

static ULONG WINAPI ObjectWithSite_Release ( IObjectWithSite iface)
static

Definition at line 128 of file activex.c.

129{
130 return 1;
131}

◆ ObjectWithSite_SetSite()

static HRESULT WINAPI ObjectWithSite_SetSite ( IObjectWithSite iface,
IUnknown pUnkSite 
)
static

Definition at line 133 of file activex.c.

134{
137
138
139 CHECK_EXPECT(SetSite);
140 ok(pUnkSite != NULL, "pUnkSite == NULL\n");
141
142 hres = IUnknown_QueryInterface(pUnkSite, &IID_IServiceProvider, (void**)&sp);
143 ok(hres == S_OK, "Could not get IServiceProvider iface: %08lx\n", hres);
144 IServiceProvider_Release(sp);
145
146 return SetSite_hres;
147}
static const WCHAR sp[]
Definition: suminfo.c:287

◆ parse_procedure()

static IDispatchEx * parse_procedure ( IActiveScriptParse *  parser,
const WCHAR src 
)
static

Definition at line 752 of file activex.c.

753{
754 IActiveScriptParseProcedure2 *parse_proc;
755 IDispatchEx *dispex;
756 IDispatch *disp;
758
759 hres = IActiveScriptParse_QueryInterface(parser, &IID_IActiveScriptParseProcedure2, (void**)&parse_proc);
760 ok(hres == S_OK, "Could not get IActiveScriptParseProcedure2: %08lx\n", hres);
761
764 ok(hres == S_OK, "ParseProcedureText failed: %08lx\n", hres);
765 ok(disp != NULL, "disp == NULL\n");
766
767 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex);
768 IDispatch_Release(disp);
769 ok(hres == S_OK, "Could not get IDispatchEx iface: %08lx\n", hres);
770
771 return dispex;
772}
GLenum src
Definition: glext.h:6340
#define IActiveScriptParseProcedure2_ParseProcedureText
Definition: activex.c:52
#define IActiveScriptParseProcedure2_Release
Definition: activex.c:50

Referenced by test_ActiveXObject().

◆ register_activex()

static BOOL register_activex ( void  )
static

Definition at line 1071 of file activex.c.

1072{
1073 DWORD regid;
1074 HRESULT hres;
1075
1076 if(!init_registry(TRUE)) {
1078 return FALSE;
1079 }
1080
1082 CLSCTX_INPROC_SERVER, REGCLS_MULTIPLEUSE, &regid);
1083 ok(hres == S_OK, "Could not register script engine: %08lx\n", hres);
1084
1085 return TRUE;
1086}
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, IUnknown *object, DWORD clscontext, DWORD flags, DWORD *cookie)
Definition: combase.c:2970
#define regid
Definition: ecma_167.h:64
static IClassFactory activex_cf
Definition: activex.c:422
static BOOL init_registry(BOOL init)
Definition: activex.c:1066
@ REGCLS_MULTIPLEUSE
Definition: objbase.h:398

Referenced by START_TEST().

◆ ServiceProvider_AddRef()

static ULONG WINAPI ServiceProvider_AddRef ( IServiceProvider iface)
static

Definition at line 518 of file activex.c.

519{
520 return 2;
521}

◆ ServiceProvider_QueryInterface()

static HRESULT WINAPI ServiceProvider_QueryInterface ( IServiceProvider iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 512 of file activex.c.

513{
514 ok(0, "unexpected call\n");
515 return E_NOINTERFACE;
516}

◆ ServiceProvider_QueryService()

static HRESULT WINAPI ServiceProvider_QueryService ( IServiceProvider iface,
REFGUID  guidService,
REFIID  riid,
void **  ppv 
)
static

Definition at line 528 of file activex.c.

530{
531 if(IsEqualGUID(&SID_GetCaller, guidService))
532 return E_NOINTERFACE;
533
534 if(IsEqualGUID(&SID_SInternetHostSecurityManager, guidService)) {
535 if(iface == &ServiceProvider)
536 CHECK_EXPECT(Host_QS_SecMgr);
537 else
538 CHECK_EXPECT(Caller_QS_SecMgr);
539 ok(IsEqualGUID(&IID_IInternetHostSecurityManager, riid), "unexpected riid %s\n", wine_dbgstr_guid(riid));
542 return QS_SecMgr_hres;
543 }
544
545 ok(0, "unexpected service %s\n", wine_dbgstr_guid(guidService));
546 return E_NOINTERFACE;
547}
static IInternetHostSecurityManager InternetHostSecurityManager
Definition: activex.c:508

◆ ServiceProvider_Release()

static ULONG WINAPI ServiceProvider_Release ( IServiceProvider iface)
static

Definition at line 523 of file activex.c.

524{
525 return 1;
526}

◆ set_safety_options()

static void set_safety_options ( IUnknown unk,
BOOL  use_sec_mgr 
)
static

Definition at line 652 of file activex.c.

653{
654 IObjectSafety *safety;
655 DWORD supported, enabled, options_all, options_set;
657
658 hres = IUnknown_QueryInterface(unk, &IID_IObjectSafety, (void**)&safety);
659 ok(hres == S_OK, "Could not get IObjectSafety: %08lx\n", hres);
660 if(FAILED(hres))
661 return;
662
663 options_all = INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER;
664 if(use_sec_mgr)
665 options_set = options_all;
666 else
667 options_set = INTERFACE_USES_DISPEX;
668
669 hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, options_all, options_set);
670 ok(hres == S_OK, "SetInterfaceSafetyOptions failed: %08lx\n", hres);
671
672 supported = enabled = 0xdeadbeef;
673 hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &enabled);
674 ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08lx\n", hres);
675 ok(supported == options_all, "supported=%lx, expected %lx\n", supported, options_all);
676 ok(enabled == options_set, "enabled=%lx, expected %lx\n", enabled, options_set);
677
678 IObjectSafety_Release(safety);
679}
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750

Referenced by create_script().

◆ START_TEST()

START_TEST ( activex  )

Definition at line 1109 of file activex.c.

1110{
1112
1113 if(check_jscript()) {
1114 if(register_activex()) {
1117 }else {
1118 skip("Could not register ActiveX object\n");
1119 }
1120 }else {
1121 win_skip("Broken engine, probably too old\n");
1122 }
1123
1125}
#define skip(...)
Definition: atltest.h:64
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
Definition: combase.c:2842
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
Definition: compobj.c:531
#define win_skip
Definition: minitest.h:67
static BOOL check_jscript(void)
Definition: activex.c:1088
static void test_ActiveXObject(void)
Definition: activex.c:786
static BOOL register_activex(void)
Definition: activex.c:1071

◆ test_ActiveXObject()

static void test_ActiveXObject ( void  )
static

Definition at line 786 of file activex.c.

787{
788 IActiveScriptParse *parser;
790
792
793 SET_EXPECT(Host_QS_SecMgr);
794 SET_EXPECT(ProcessUrlAction);
796 SET_EXPECT(QueryCustomPolicy);
797 SET_EXPECT(QI_IObjectWithSite);
798 SET_EXPECT(reportSuccess);
799 parse_script(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
800 CHECK_CALLED(Host_QS_SecMgr);
801 CHECK_CALLED(ProcessUrlAction);
803 CHECK_CALLED(QueryCustomPolicy);
804 CHECK_CALLED(QI_IObjectWithSite);
805 CHECK_CALLED(reportSuccess);
806
807 proc = parse_procedure(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
808
809 SET_EXPECT(ProcessUrlAction);
811 SET_EXPECT(QueryCustomPolicy);
812 SET_EXPECT(QI_IObjectWithSite);
813 SET_EXPECT(reportSuccess);
815 CHECK_CALLED(ProcessUrlAction);
817 CHECK_CALLED(QueryCustomPolicy);
818 CHECK_CALLED(QI_IObjectWithSite);
819 CHECK_CALLED(reportSuccess);
820
821 SET_EXPECT(ProcessUrlAction);
823 SET_EXPECT(QueryCustomPolicy);
824 SET_EXPECT(QI_IObjectWithSite);
825 SET_EXPECT(reportSuccess);
827 CHECK_CALLED(ProcessUrlAction);
829 CHECK_CALLED(QueryCustomPolicy);
830 CHECK_CALLED(QI_IObjectWithSite);
831 CHECK_CALLED(reportSuccess);
832
833 IDispatchEx_Release(proc);
835
837 proc = parse_procedure(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
838
839 SET_EXPECT(Host_QS_SecMgr);
840 SET_EXPECT(ProcessUrlAction);
842 SET_EXPECT(QueryCustomPolicy);
843 SET_EXPECT(QI_IObjectWithSite);
844 SET_EXPECT(reportSuccess);
846 CHECK_CALLED(Host_QS_SecMgr);
847 CHECK_CALLED(ProcessUrlAction);
849 CHECK_CALLED(QueryCustomPolicy);
850 CHECK_CALLED(QI_IObjectWithSite);
851 CHECK_CALLED(reportSuccess);
852
853 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.TestABC'); }, 'Error', -2146827859);");
854
855 IDispatchEx_Release(proc);
857
860
861 SET_EXPECT(Host_QS_SecMgr);
862 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
863 CHECK_CALLED(Host_QS_SecMgr);
864
866
869
870 SET_EXPECT(Host_QS_SecMgr);
871 SET_EXPECT(ProcessUrlAction);
872 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
873 CHECK_CALLED(Host_QS_SecMgr);
874 CHECK_CALLED(ProcessUrlAction);
875
877
879 ProcessUrlAction_policy = URLPOLICY_DISALLOW;
880
881 SET_EXPECT(Host_QS_SecMgr);
882 SET_EXPECT(ProcessUrlAction);
883 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
884 CHECK_CALLED(Host_QS_SecMgr);
885 CHECK_CALLED(ProcessUrlAction);
886
888
891
892 SET_EXPECT(Host_QS_SecMgr);
893 SET_EXPECT(ProcessUrlAction);
895 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
896 CHECK_CALLED(Host_QS_SecMgr);
897 CHECK_CALLED(ProcessUrlAction);
899
901
904
905 SET_EXPECT(Host_QS_SecMgr);
906 SET_EXPECT(ProcessUrlAction);
908 SET_EXPECT(QueryCustomPolicy);
909 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
910 CHECK_CALLED(Host_QS_SecMgr);
911 CHECK_CALLED(ProcessUrlAction);
913 CHECK_CALLED(QueryCustomPolicy);
914
916
919
920 SET_EXPECT(Host_QS_SecMgr);
921 SET_EXPECT(ProcessUrlAction);
923 SET_EXPECT(QueryCustomPolicy);
924 SET_EXPECT(QI_IObjectWithSite);
925 SET_EXPECT(reportSuccess);
926 parse_script(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
927 CHECK_CALLED(Host_QS_SecMgr);
928 CHECK_CALLED(ProcessUrlAction);
930 CHECK_CALLED(QueryCustomPolicy);
931 CHECK_CALLED(QI_IObjectWithSite);
932 CHECK_CALLED(reportSuccess);
933
935
937 QueryCustomPolicy_policy = URLPOLICY_DISALLOW;
938
939 SET_EXPECT(Host_QS_SecMgr);
940 SET_EXPECT(ProcessUrlAction);
942 SET_EXPECT(QueryCustomPolicy);
943 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
944 CHECK_CALLED(Host_QS_SecMgr);
945 CHECK_CALLED(ProcessUrlAction);
947 CHECK_CALLED(QueryCustomPolicy);
948
950
951 SET_EXPECT(ProcessUrlAction);
953 SET_EXPECT(QueryCustomPolicy);
954 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
955 CHECK_CALLED(ProcessUrlAction);
957 CHECK_CALLED(QueryCustomPolicy);
958
959 QueryCustomPolicy_policy = URLPOLICY_ALLOW;
961
962 SET_EXPECT(ProcessUrlAction);
964 SET_EXPECT(QueryCustomPolicy);
965 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
966 CHECK_CALLED(ProcessUrlAction);
968 CHECK_CALLED(QueryCustomPolicy);
969
971
973
975 SET_EXPECT(QI_IObjectWithSite);
976 SET_EXPECT(reportSuccess);
977 parse_script(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
979 CHECK_CALLED(QI_IObjectWithSite);
980 CHECK_CALLED(reportSuccess);
981
983
986
987 SET_EXPECT(Host_QS_SecMgr);
988 SET_EXPECT(ProcessUrlAction);
990 SET_EXPECT(QueryCustomPolicy);
991 SET_EXPECT(QI_IObjectWithSite);
992 SET_EXPECT(SetSite);
993 SET_EXPECT(reportSuccess);
994 parse_script(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
995 CHECK_CALLED(Host_QS_SecMgr);
996 CHECK_CALLED(ProcessUrlAction);
998 CHECK_CALLED(QueryCustomPolicy);
999 CHECK_CALLED(QI_IObjectWithSite);
1000 CHECK_CALLED(SetSite);
1001 CHECK_CALLED(reportSuccess);
1002
1004 SET_EXPECT(ProcessUrlAction);
1006 SET_EXPECT(QueryCustomPolicy);
1007 SET_EXPECT(QI_IObjectWithSite);
1008 SET_EXPECT(SetSite);
1009 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
1010 CHECK_CALLED(ProcessUrlAction);
1012 CHECK_CALLED(QueryCustomPolicy);
1013 CHECK_CALLED(QI_IObjectWithSite);
1014 CHECK_CALLED(SetSite);
1015
1017
1018 /* No IServiceProvider Interface */
1022
1024 SET_EXPECT(QI_IObjectWithSite);
1025 SET_EXPECT(reportSuccess);
1026 SET_EXPECT(SetSite);
1027 parse_script(parser, L"(new ActiveXObject('Wine.Test')).reportSuccess();");
1029 CHECK_CALLED(QI_IObjectWithSite);
1030 CHECK_CALLED(reportSuccess);
1031 CHECK_CALLED(SetSite);
1032
1034
1038
1039 parse_script(parser, L"testException(function() { new ActiveXObject('Wine.Test'); }, 'Error', -2146827859);");
1040
1042}
#define E_FAIL
Definition: ddrawi.h:102
#define SET_EXPECT(func)
Definition: activex.c:63
static IServiceProvider caller_sp
Definition: activex.c:557
static IObjectWithSite ObjectWithSite
Definition: activex.c:163
#define call_procedure(p, c)
Definition: activex.c:774
static IDispatchEx * parse_procedure(IActiveScriptParse *parser, const WCHAR *src)
Definition: activex.c:752
#define CHECK_CALLED(func)
Definition: activex.c:78

Referenced by START_TEST().

◆ Test_GetDispID()

static HRESULT WINAPI Test_GetDispID ( IDispatchEx iface,
BSTR  bstrName,
DWORD  grfdex,
DISPID pid 
)
static

Definition at line 260 of file activex.c.

261{
262 if(!lstrcmpW(bstrName, L"reportSuccess")) {
263 ok(grfdex == fdexNameCaseSensitive, "grfdex = %lx\n", grfdex);
265 return S_OK;
266 }
267
268 ok(0, "unexpected name %s\n", wine_dbgstr_w(bstrName));
269 return E_NOTIMPL;
270}
#define DISPID_TEST_REPORTSUCCESS
Definition: activex.c:113

◆ Test_InvokeEx()

static HRESULT WINAPI Test_InvokeEx ( IDispatchEx iface,
DISPID  id,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pdp,
VARIANT pvarRes,
EXCEPINFO *  pei,
IServiceProvider pspCaller 
)
static

Definition at line 272 of file activex.c.

274{
275 switch(id) {
277 CHECK_EXPECT(reportSuccess);
278
279 ok(wFlags == INVOKE_FUNC, "wFlags = %x\n", wFlags);
280 ok(pdp != NULL, "pdp == NULL\n");
281 ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
282 ok(pdp->cArgs == 0, "cArgs = %d\n", pdp->cArgs);
283 ok(!pdp->cNamedArgs, "cNamedArgs = %d\n", pdp->cNamedArgs);
284 ok(!pvarRes, "pvarRes != NULL\n");
285 ok(pei != NULL, "pei == NULL\n");
286 break;
287
288 default:
289 ok(0, "unexpected call\n");
290 return E_NOTIMPL;
291 }
292
293 return S_OK;
294}

Variable Documentation

◆ ActiveScriptSite

IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl }
static

Definition at line 650 of file activex.c.

Referenced by create_script().

◆ ActiveScriptSiteVtbl

const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
static
Initial value:
= {
}
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
Definition: activex.c:581
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
Definition: activex.c:629
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
Definition: activex.c:614
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
Definition: activex.c:603
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
Definition: activex.c:592
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
Definition: activex.c:559
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
Definition: activex.c:624
static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
Definition: activex.c:576
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
Definition: activex.c:608
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
Definition: activex.c:586
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
Definition: activex.c:619

Definition at line 636 of file activex.c.

◆ activex_cf

IClassFactory activex_cf = { &ClassFactoryVtbl }
static

Definition at line 422 of file activex.c.

Referenced by register_activex().

◆ AllowIServiceProvider

BOOL AllowIServiceProvider
static

Definition at line 102 of file activex.c.

Referenced by ActiveScriptSite_QueryInterface(), create_script(), and test_ActiveXObject().

◆ caller_sp

IServiceProvider caller_sp = { &ServiceProviderVtbl }
static

Definition at line 557 of file activex.c.

Referenced by test_ActiveXObject().

◆ ClassFactoryVtbl

const IClassFactoryVtbl ClassFactoryVtbl
static
Initial value:
= {
}
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
Definition: activex.c:396
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
Definition: activex.c:408
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
Definition: activex.c:391
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
Definition: activex.c:374
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
Definition: activex.c:386

Definition at line 414 of file activex.c.

◆ CLSID_JScript

const CLSID CLSID_JScript
static
Initial value:
=
{0xf414c260,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}}

Definition at line 57 of file activex.c.

Referenced by create_script(), DllGetClassObject(), get_default_script_guid(), get_elem_script_host(), get_guid_from_type(), is_jscript_available(), and script_parse_event().

◆ CLSID_TestObj

const GUID CLSID_TestObj
static
Initial value:
=
{0x178fc163,0xf585,0x4e24,{0x9c,0x13,0x4b,0xb7,0xfa,0xf8,0x06,0x46}}

Definition at line 106 of file activex.c.

Referenced by InternetHostSecurityManager_ProcessUrlAction(), and register_activex().

◆ CreateInstance_hres

HRESULT CreateInstance_hres
static

Definition at line 96 of file activex.c.

Referenced by ClassFactory_CreateInstance(), create_script(), and test_ActiveXObject().

◆ globalObj

IDispatchEx globalObj = { &globalObjVtbl }
static

Definition at line 372 of file activex.c.

Referenced by ActiveScriptSite_GetItemInfo().

◆ globalObjVtbl

IDispatchExVtbl globalObjVtbl
static
Initial value:
= {
}
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
Definition: activex.c:236
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
Definition: activex.c:192
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: activex.c:208
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
Definition: activex.c:230
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
Definition: activex.c:254
static HRESULT WINAPI DispatchEx_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: activex.c:216
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
Definition: activex.c:242
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
Definition: activex.c:248
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
Definition: activex.c:167
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
Definition: activex.c:187
static HRESULT WINAPI DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: activex.c:203
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
Definition: activex.c:328
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
Definition: activex.c:224
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
Definition: activex.c:197
static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
Definition: activex.c:316

Definition at line 354 of file activex.c.

◆ GUID_CUSTOM_CONFIRMOBJECTSAFETY

const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
Initial value:
=
{0x10200490,0xfa38,0x11d0,{0xac,0x0e,0x00,0xa0,0xc9,0xf,0xff,0xc0}}

Definition at line 110 of file activex.c.

◆ InternetHostSecurityManager

IInternetHostSecurityManager InternetHostSecurityManager = { &InternetHostSecurityManagerVtbl }
static

Definition at line 508 of file activex.c.

Referenced by ServiceProvider_QueryService().

◆ InternetHostSecurityManagerVtbl

const IInternetHostSecurityManagerVtbl InternetHostSecurityManagerVtbl
static
Initial value:
= {
}
static HRESULT WINAPI InternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager *iface, REFIID riid, void **ppv)
Definition: activex.c:424
static ULONG WINAPI InternetHostSecurityManager_AddRef(IInternetHostSecurityManager *iface)
Definition: activex.c:430
static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager *iface, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
Definition: activex.c:440
static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager *iface, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
Definition: activex.c:466
static ULONG WINAPI InternetHostSecurityManager_Release(IInternetHostSecurityManager *iface)
Definition: activex.c:435
static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager *iface, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
Definition: activex.c:447

Definition at line 499 of file activex.c.

◆ object_with_site

IObjectWithSite* object_with_site
static

Definition at line 165 of file activex.c.

Referenced by DispatchEx_QueryInterface(), and test_ActiveXObject().

◆ ObjectWithSite

IObjectWithSite ObjectWithSite = { &ObjectWithSiteVtbl }
static

Definition at line 163 of file activex.c.

Referenced by test_ActiveXObject().

◆ ObjectWithSiteVtbl

const IObjectWithSiteVtbl ObjectWithSiteVtbl
static
Initial value:
= {
}
static ULONG WINAPI ObjectWithSite_Release(IObjectWithSite *iface)
Definition: activex.c:128
static ULONG WINAPI ObjectWithSite_AddRef(IObjectWithSite *iface)
Definition: activex.c:123
static HRESULT WINAPI ObjectWithSite_QueryInterface(IObjectWithSite *iface, REFIID riid, void **ppv)
Definition: activex.c:117
static HRESULT WINAPI ObjectWithSite_SetSite(IObjectWithSite *iface, IUnknown *pUnkSite)
Definition: activex.c:133
static HRESULT WINAPI ObjectWithSite_GetSite(IObjectWithSite *iface, REFIID riid, void **ppvSite)
Definition: activex.c:149

Definition at line 155 of file activex.c.

◆ ProcessUrlAction_hres

HRESULT ProcessUrlAction_hres
static

◆ ProcessUrlAction_policy

DWORD ProcessUrlAction_policy
static

◆ QI_IDispatch_hres

HRESULT QI_IDispatch_hres
static

Definition at line 100 of file activex.c.

Referenced by create_script(), and DispatchEx_QueryInterface().

◆ QS_SecMgr_hres

HRESULT QS_SecMgr_hres
static

Definition at line 93 of file activex.c.

Referenced by create_script(), ServiceProvider_QueryService(), and test_ActiveXObject().

◆ QueryCustomPolicy_hres

HRESULT QueryCustomPolicy_hres
static

◆ QueryCustomPolicy_policy

DWORD QueryCustomPolicy_policy
static

◆ QueryCustomPolicy_psize

DWORD QueryCustomPolicy_psize
static

◆ ServiceProvider

static IServiceProvider ServiceProvider = { &ServiceProviderVtbl }
static

Definition at line 510 of file activex.c.

Referenced by ActiveScriptSite_QueryInterface(), cs_qi(), and ServiceProvider_QueryService().

◆ ServiceProviderVtbl

IServiceProviderVtbl ServiceProviderVtbl
static
Initial value:
= {
}
static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
Definition: activex.c:528
static ULONG WINAPI ServiceProvider_Release(IServiceProvider *iface)
Definition: activex.c:523
static HRESULT WINAPI ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
Definition: activex.c:512
static ULONG WINAPI ServiceProvider_AddRef(IServiceProvider *iface)
Definition: activex.c:518

Definition at line 549 of file activex.c.

◆ SetSite_hres

HRESULT SetSite_hres
static

Definition at line 101 of file activex.c.

Referenced by create_script(), ObjectWithSite_SetSite(), and test_ActiveXObject().

◆ testObj

IDispatchEx testObj = { &testObjVtbl }
static

Definition at line 314 of file activex.c.

Referenced by ClassFactory_CreateInstance().

◆ testObjVtbl

IDispatchExVtbl testObjVtbl
static
Initial value:
= {
}
static HRESULT WINAPI Test_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
Definition: activex.c:260
static HRESULT WINAPI Test_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
Definition: activex.c:272

Definition at line 296 of file activex.c.