ReactOS 0.4.17-dev-357-ga8f14ff
createobj.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 createobj.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 VB_E_ACCESS_DENIED   0x800a0046
 
#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 CLEAR_CALLED(func)    expect_ ## func = called_ ## func = FALSE
 
#define TESTOBJ_CLSID   "{178fc163-f585-4e24-9c13-4bb7faf80646}"
 
#define TESTOBJINST_CLSID   "{178fc163-f585-4e24-9c13-4bb7faf80647}"
 
#define DISPID_TEST_REPORTSUCCESS   0x1000
 
#define DISPID_GLOBAL_OK   0x2000
 
#define VB_E_CANNOT_CREATE_OBJ   0x800a01ad
 
#define parse_script(p, s)   _parse_script(__LINE__,p,s)
 

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 HRESULT parse_script_e (IActiveScriptParse *parser, const WCHAR *script)
 
static IActiveScriptParse * create_script (BOOL use_sec_mgr)
 
static void test_CreateObject (void)
 
static void test_GetObject (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_vbscript (void)
 
 START_TEST (createobj)
 

Variables

const CLSID CLSID_VBScript
 
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 QI_IObjectWithSite_hres
 
static HRESULT SetSite_hres
 
static const GUID CLSID_TestObj
 
static const GUID CLSID_TestObjInst
 
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 const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
 
static IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl }
 

Macro Definition Documentation

◆ 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 73 of file createobj.c.

◆ CHECK_EXPECT

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

Definition at line 67 of file createobj.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 61 of file createobj.c.

◆ CLEAR_CALLED

#define CLEAR_CALLED (   func)     expect_ ## func = called_ ## func = FALSE

Definition at line 79 of file createobj.c.

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file createobj.c.

◆ CONST_VTABLE

#define CONST_VTABLE

Definition at line 22 of file createobj.c.

◆ DEFINE_EXPECT

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

Definition at line 55 of file createobj.c.

◆ DISPID_GLOBAL_OK

#define DISPID_GLOBAL_OK   0x2000

Definition at line 116 of file createobj.c.

◆ DISPID_TEST_REPORTSUCCESS

#define DISPID_TEST_REPORTSUCCESS   0x1000

Definition at line 114 of file createobj.c.

◆ IActiveScriptParse_InitNew

#define IActiveScriptParse_InitNew   IActiveScriptParse32_InitNew

Definition at line 45 of file createobj.c.

◆ IActiveScriptParse_ParseScriptText

#define IActiveScriptParse_ParseScriptText   IActiveScriptParse32_ParseScriptText

Definition at line 46 of file createobj.c.

◆ IActiveScriptParse_QueryInterface

#define IActiveScriptParse_QueryInterface   IActiveScriptParse32_QueryInterface

Definition at line 43 of file createobj.c.

◆ IActiveScriptParse_Release

#define IActiveScriptParse_Release   IActiveScriptParse32_Release

Definition at line 44 of file createobj.c.

◆ IActiveScriptParseProcedure2_Release

#define IActiveScriptParseProcedure2_Release   IActiveScriptParseProcedure2_32_Release

Definition at line 47 of file createobj.c.

◆ parse_script

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

Definition at line 684 of file createobj.c.

◆ SET_EXPECT

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

Definition at line 58 of file createobj.c.

◆ TESTOBJ_CLSID

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

Definition at line 102 of file createobj.c.

◆ TESTOBJINST_CLSID

#define TESTOBJINST_CLSID   "{178fc163-f585-4e24-9c13-4bb7faf80647}"

Definition at line 103 of file createobj.c.

◆ VB_E_ACCESS_DENIED

#define VB_E_ACCESS_DENIED   0x800a0046

Definition at line 53 of file createobj.c.

◆ VB_E_CANNOT_CREATE_OBJ

#define VB_E_CANNOT_CREATE_OBJ   0x800a01ad

Definition at line 118 of file createobj.c.

Function Documentation

◆ _parse_script()

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

Definition at line 685 of file createobj.c.

686{
687 BSTR str;
689
693 ok_(__FILE__,line)(hres == S_OK, "ParseScriptText failed: %08lx\n", hres);
694}
#define ok_(x1, x2)
Definition: atltest.h:61
#define IActiveScriptParse_ParseScriptText
Definition: createobj.c:46
#define NULL
Definition: types.h:112
OLECHAR * BSTR
Definition: compat.h:2293
#define S_OK
Definition: intsafe.h:52
HRESULT hres
Definition: protocol.c:465
script
Definition: msipriv.h:383
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
const WCHAR * str
Definition: parser.c:49
Definition: import.c:81

◆ ActiveScriptSite_AddRef()

static ULONG WINAPI ActiveScriptSite_AddRef ( IActiveScriptSite iface)
static

Definition at line 581 of file createobj.c.

582{
583 return 2;
584}

◆ ActiveScriptSite_GetDocVersionString()

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

Definition at line 608 of file createobj.c.

609{
610 return E_NOTIMPL;
611}
#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 597 of file createobj.c.

599{
600 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN, "unexpected dwReturnMask %lx\n", dwReturnMask);
601 ok(!ppti, "ppti != NULL\n");
602 ok(!lstrcmpW(pstrName, L"test"), "pstrName = %s\n", wine_dbgstr_w(pstrName));
603
604 *ppiunkItem = (IUnknown*)&globalObj;
605 return S_OK;
606}
#define ok(value,...)
Definition: atltest.h:57
static IDispatchEx globalObj
Definition: createobj.c:378
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

◆ ActiveScriptSite_GetLCID()

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

Definition at line 591 of file createobj.c.

592{
593 *plcid = GetUserDefaultLCID();
594 return S_OK;
595}
LCID WINAPI GetUserDefaultLCID(void)
Definition: locale.c:1216

◆ ActiveScriptSite_OnEnterScript()

static HRESULT WINAPI ActiveScriptSite_OnEnterScript ( IActiveScriptSite iface)
static

Definition at line 629 of file createobj.c.

630{
631 return E_NOTIMPL;
632}

◆ ActiveScriptSite_OnLeaveScript()

static HRESULT WINAPI ActiveScriptSite_OnLeaveScript ( IActiveScriptSite iface)
static

Definition at line 634 of file createobj.c.

635{
636 return E_NOTIMPL;
637}

◆ ActiveScriptSite_OnScriptError()

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

Definition at line 624 of file createobj.c.

625{
626 return E_NOTIMPL;
627}

◆ ActiveScriptSite_OnScriptTerminate()

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

Definition at line 613 of file createobj.c.

615{
616 return E_NOTIMPL;
617}

◆ ActiveScriptSite_OnStateChange()

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

Definition at line 619 of file createobj.c.

620{
621 return E_NOTIMPL;
622}

◆ ActiveScriptSite_QueryInterface()

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

Definition at line 564 of file createobj.c.

565{
567 *ppv = iface;
568 }else if(IsEqualGUID(&IID_IActiveScriptSite, riid)) {
569 *ppv = iface;
570 }else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
572 }else {
573 *ppv = NULL;
574 return E_NOINTERFACE;
575 }
576
577 IUnknown_AddRef((IUnknown*)*ppv);
578 return S_OK;
579}
const GUID IID_IUnknown
static IServiceProvider ServiceProvider
Definition: createobj.c:516
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#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 586 of file createobj.c.

587{
588 return 1;
589}

◆ check_vbscript()

static BOOL check_vbscript ( void  )
static

Definition at line 1058 of file createobj.c.

1059{
1060 IActiveScriptParseProcedure2 *vbscript;
1061 HRESULT hres;
1062
1063 hres = CoCreateInstance(&CLSID_VBScript, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
1064 &IID_IActiveScriptParseProcedure2, (void**)&vbscript);
1065 if(SUCCEEDED(hres))
1067
1068 return hres == S_OK;
1069}
#define IActiveScriptParseProcedure2_Release
Definition: createobj.c:47
const CLSID CLSID_VBScript
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
Definition: combase.c:1685
#define SUCCEEDED(hr)
Definition: intsafe.h:50

Referenced by START_TEST().

◆ ClassFactory_AddRef()

static ULONG WINAPI ClassFactory_AddRef ( IClassFactory iface)
static

Definition at line 392 of file createobj.c.

393{
394 return 2;
395}

◆ ClassFactory_CreateInstance()

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

Definition at line 402 of file createobj.c.

403{
405
406 ok(!outer, "outer = %p\n", outer);
407 ok(IsEqualGUID(&IID_IUnknown, riid), "unexpected riid %s\n", wine_dbgstr_guid(riid));
408
410 *ppv = &testObj;
411 return CreateInstance_hres;
412}
static HRESULT CreateInstance_hres
Definition: createobj.c:94
#define CHECK_EXPECT(func)
Definition: createobj.c:67
static IDispatchEx testObj
Definition: createobj.c:320
static CInternetFolder * CreateInstance(void)
Definition: inetfolder.c:330
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 414 of file createobj.c.

415{
416 ok(0, "unexpected call\n");
417 return S_OK;
418}

◆ ClassFactory_QueryInterface()

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

Definition at line 380 of file createobj.c.

381{
383 *ppv = iface;
384 return S_OK;
385 }
386
387 /* TODO: IClassFactoryEx */
388 *ppv = NULL;
389 return E_NOINTERFACE;
390}
const GUID IID_IClassFactory

◆ ClassFactory_Release()

static ULONG WINAPI ClassFactory_Release ( IClassFactory iface)
static

Definition at line 397 of file createobj.c.

398{
399 return 1;
400}

◆ create_script()

static IActiveScriptParse * create_script ( BOOL  use_sec_mgr)
static

Definition at line 708 of file createobj.c.

709{
710 IActiveScriptParse *parser;
713
716 ProcessUrlAction_policy = URLPOLICY_ALLOW;
720 QueryCustomPolicy_policy = URLPOLICY_ALLOW;
724
725 hres = CoCreateInstance(&CLSID_VBScript, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
726 &IID_IActiveScript, (void**)&script);
727 ok(hres == S_OK, "CoCreateInstance failed: %08lx\n", hres);
728 if(FAILED(hres))
729 return NULL;
730
731 set_safety_options((IUnknown*)script, use_sec_mgr);
732
733 hres = IActiveScript_QueryInterface(script, &IID_IActiveScriptParse, (void**)&parser);
734 ok(hres == S_OK, "Could not get IActiveScriptParse: %08lx\n", hres);
735
737 ok(hres == S_OK, "InitNew failed: %08lx\n", hres);
738
739 hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
740 ok(hres == S_OK, "SetScriptSite failed: %08lx\n", hres);
741
742 hres = IActiveScript_AddNamedItem(script, L"test",
743 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
744 ok(hres == S_OK, "AddNamedItem failed: %08lx\n", hres);
745
746 hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED);
747 ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n", hres);
748
749 IActiveScript_Release(script);
750
751 return parser;
752}
@ SCRIPTSTATE_STARTED
Definition: activscp.idl:58
static void set_safety_options(IUnknown *unk, BOOL use_sec_mgr)
Definition: createobj.c:655
static DWORD ProcessUrlAction_policy
Definition: createobj.c:93
static DWORD QueryCustomPolicy_policy
Definition: createobj.c:97
#define IActiveScriptParse_InitNew
Definition: createobj.c:45
static HRESULT QI_IDispatch_hres
Definition: createobj.c:98
static HRESULT ProcessUrlAction_hres
Definition: createobj.c:92
static HRESULT QI_IObjectWithSite_hres
Definition: createobj.c:99
static HRESULT QS_SecMgr_hres
Definition: createobj.c:91
static DWORD QueryCustomPolicy_psize
Definition: createobj.c:96
static HRESULT QueryCustomPolicy_hres
Definition: createobj.c:95
static IActiveScriptSite ActiveScriptSite
Definition: createobj.c:653
static HRESULT SetSite_hres
Definition: createobj.c:100
#define FAILED(hr)
Definition: intsafe.h:51
#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 192 of file createobj.c.

193{
194 return 2;
195}

◆ DispatchEx_DeleteMemberByDispID()

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

Definition at line 236 of file createobj.c.

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

◆ DispatchEx_DeleteMemberByName()

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

Definition at line 230 of file createobj.c.

231{
232 ok(0, "unexpected call %s %lx\n", wine_dbgstr_w(bstrName), grfdex);
233 return E_NOTIMPL;
234}

◆ DispatchEx_GetIDsOfNames()

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

Definition at line 214 of file createobj.c.

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

◆ DispatchEx_GetMemberName()

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

Definition at line 248 of file createobj.c.

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

◆ DispatchEx_GetMemberProperties()

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

Definition at line 242 of file createobj.c.

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

◆ DispatchEx_GetNameSpaceParent()

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

Definition at line 260 of file createobj.c.

261{
262 ok(0, "unexpected call\n");
263 return E_NOTIMPL;
264}

◆ DispatchEx_GetNextDispID()

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

Definition at line 254 of file createobj.c.

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

◆ DispatchEx_GetTypeInfo()

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

Definition at line 208 of file createobj.c.

210{
211 return E_NOTIMPL;
212}

◆ DispatchEx_GetTypeInfoCount()

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

Definition at line 202 of file createobj.c.

203{
204 ok(0, "unexpected call\n");
205 return E_NOTIMPL;
206}

◆ 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 222 of file createobj.c.

225{
226 ok(0, "unexpected call\n");
227 return E_NOTIMPL;
228}

◆ DispatchEx_QueryInterface()

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

Definition at line 170 of file createobj.c.

171{
172 *ppv = NULL;
173
175 *ppv = iface;
176 }else if(IsEqualGUID(riid, &IID_IDispatch) || IsEqualGUID(riid, &IID_IDispatchEx)) {
178 return QI_IDispatch_hres;
179 *ppv = iface;
181 CHECK_EXPECT(QI_IObjectWithSite);
185 }else if(IsEqualGUID(&IID_IObjectSafety, riid)) {
186 ok(0, "Unexpected IID_IObjectSafety query\n");
187 }
188
189 return *ppv ? S_OK : E_NOINTERFACE;
190}
static IObjectWithSite * object_with_site
Definition: createobj.c:168
const IID IID_IObjectWithSite
const GUID IID_IDispatch

◆ DispatchEx_Release()

static ULONG WINAPI DispatchEx_Release ( IDispatchEx iface)
static

Definition at line 197 of file createobj.c.

198{
199 return 1;
200}

◆ Global_GetDispID()

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

Definition at line 322 of file createobj.c.

323{
324 if(!lstrcmpW(bstrName, L"ok")) {
325 ok(grfdex == fdexNameCaseSensitive, "grfdex = %lx\n", grfdex);
327 return S_OK;
328 }
329
330 ok(0, "unexpected name %s\n", wine_dbgstr_w(bstrName));
331 return E_NOTIMPL;
332}
#define DISPID_GLOBAL_OK
Definition: createobj.c:116
_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 334 of file createobj.c.

336{
337 switch(id) {
338 case DISPID_GLOBAL_OK:
339 ok(wFlags == INVOKE_FUNC || wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET), "wFlags = %x\n", wFlags);
340 ok(pdp != NULL, "pdp == NULL\n");
341 ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
342 ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
343 ok(pdp->cArgs == 2, "cArgs = %d\n", pdp->cArgs);
344 ok(!pdp->cNamedArgs, "cNamedArgs = %d\n", pdp->cNamedArgs);
345 ok(pei != NULL, "pei == NULL\n");
346
347 ok(V_VT(pdp->rgvarg) == VT_BSTR, "V_VT(psp->rgvargs) = %d\n", V_VT(pdp->rgvarg));
348 ok(V_VT(pdp->rgvarg+1) == VT_BOOL, "V_VT(psp->rgvargs+1) = %d\n", V_VT(pdp->rgvarg));
349 ok(V_BOOL(pdp->rgvarg+1), "%s\n", wine_dbgstr_w(V_BSTR(pdp->rgvarg)));
350 break;
351
352 default:
353 ok(0, "unexpected call\n");
354 return E_NOTIMPL;
355 }
356
357 return S_OK;
358}
@ 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 1010 of file createobj.c.

1011{
1012 HKEY hkey;
1013 DWORD res;
1014
1015 if(!init) {
1017 return TRUE;
1018 }
1019
1021 if(res != ERROR_SUCCESS)
1022 return FALSE;
1023
1024 if(def_value)
1025 res = RegSetValueA(hkey, NULL, REG_SZ, def_value, strlen(def_value));
1026
1027 RegCloseKey(hkey);
1028
1029 return res == ERROR_SUCCESS;
1030}
#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 1032 of file createobj.c.

1033{
1034 return init_key("Wine.Test\\CLSID", TESTOBJ_CLSID, init);
1035}
static BOOL init_key(const char *key_name, const char *def_value, BOOL init)
Definition: createobj.c:1010
#define TESTOBJ_CLSID
Definition: createobj.c:102

Referenced by register_activex(), and START_TEST().

◆ InternetHostSecurityManager_AddRef()

static ULONG WINAPI InternetHostSecurityManager_AddRef ( IInternetHostSecurityManager iface)
static

Definition at line 436 of file createobj.c.

437{
438 return 2;
439}

◆ InternetHostSecurityManager_GetSecurityId()

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

Definition at line 446 of file createobj.c.

448{
449 ok(0, "unexpected call\n");
450 return E_NOTIMPL;
451}

◆ 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 453 of file createobj.c.

455{
456 CHECK_EXPECT(ProcessUrlAction);
457
458 ok(dwAction == URLACTION_ACTIVEX_RUN, "dwAction = %lx\n", dwAction);
459 ok(pPolicy != NULL, "pPolicy == NULL\n");
460 ok(cbPolicy == sizeof(DWORD), "cbPolicy = %ld\n", cbPolicy);
461 ok(pContext != NULL, "pContext == NULL\n");
462 ok(cbContext == sizeof(GUID), "cbContext = %ld\n", cbContext);
463 ok(IsEqualGUID(pContext, &CLSID_TestObj), "pContext = %s\n", wine_dbgstr_guid((const IID*)pContext));
464 ok(!dwFlags, "dwFlags = %lx\n", dwFlags);
465 ok(!dwReserved, "dwReserved = %lx\n", dwReserved);
466
468 *(DWORD*)pPolicy = ProcessUrlAction_policy;
470}
static const GUID CLSID_TestObj
Definition: createobj.c:105
_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 472 of file createobj.c.

474{
475 const struct CONFIRMSAFETY *cs = (const struct CONFIRMSAFETY*)pContext;
476 DWORD *ret;
477
478 CHECK_EXPECT(QueryCustomPolicy);
479
480 ok(IsEqualGUID(&GUID_CUSTOM_CONFIRMOBJECTSAFETY, guidKey), "guidKey = %s\n", wine_dbgstr_guid(guidKey));
481
482 ok(ppPolicy != NULL, "ppPolicy == NULL\n");
483 ok(pcbPolicy != NULL, "pcbPolicy == NULL\n");
484 ok(pContext != NULL, "pContext == NULL\n");
485 ok(cbContext == sizeof(struct CONFIRMSAFETY), "cbContext = %ld\n", cbContext);
486 ok(!dwReserved, "dwReserved = %lx\n", dwReserved);
487
488 /* TODO: CLSID */
489 ok(cs->pUnk != NULL, "cs->pUnk == NULL\n");
490 ok(!cs->dwFlags, "dwFlags = %lx\n", cs->dwFlags);
491
494
496 *ppPolicy = (BYTE*)ret;
497 *pcbPolicy = QueryCustomPolicy_psize;
499 if(QueryCustomPolicy_psize >= sizeof(DWORD))
501
503}
const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY
Definition: createobj.c:111
void *WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: malloc.c:381
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 430 of file createobj.c.

431{
432 ok(0, "unexpected call\n");
433 return E_NOINTERFACE;
434}

◆ InternetHostSecurityManager_Release()

static ULONG WINAPI InternetHostSecurityManager_Release ( IInternetHostSecurityManager iface)
static

Definition at line 441 of file createobj.c.

442{
443 return 1;
444}

◆ ObjectWithSite_AddRef()

static ULONG WINAPI ObjectWithSite_AddRef ( IObjectWithSite iface)
static

Definition at line 126 of file createobj.c.

127{
128 return 2;
129}

◆ ObjectWithSite_GetSite()

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

Definition at line 152 of file createobj.c.

153{
154 ok(0, "unexpected call\n");
155 return E_NOTIMPL;
156}

◆ ObjectWithSite_QueryInterface()

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

Definition at line 120 of file createobj.c.

121{
122 ok(0, "unexpected call\n");
123 return E_NOTIMPL;
124}

◆ ObjectWithSite_Release()

static ULONG WINAPI ObjectWithSite_Release ( IObjectWithSite iface)
static

Definition at line 131 of file createobj.c.

132{
133 return 1;
134}

◆ ObjectWithSite_SetSite()

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

Definition at line 136 of file createobj.c.

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

◆ parse_script_e()

static HRESULT parse_script_e ( IActiveScriptParse *  parser,
const WCHAR script 
)
static

Definition at line 696 of file createobj.c.

697{
698 BSTR str;
700
704
705 return hres;
706}

Referenced by test_CreateObject(), and test_GetObject().

◆ register_activex()

static BOOL register_activex ( void  )
static

Definition at line 1037 of file createobj.c.

1038{
1039 DWORD regid;
1040 HRESULT hres;
1041
1042 if(!init_registry(TRUE)) {
1044 return FALSE;
1045 }
1046
1048 CLSCTX_INPROC_SERVER, REGCLS_MULTIPLEUSE, &regid);
1049 ok(hres == S_OK, "Could not register script engine: %08lx\n", hres);
1050
1052 CLSCTX_INPROC_SERVER, REGCLS_MULTIPLEUSE, &regid);
1053 ok(hres == S_OK, "Could not register script engine: %08lx\n", hres);
1054
1055 return TRUE;
1056}
static IClassFactory activex_cf
Definition: createobj.c:428
static BOOL init_registry(BOOL init)
Definition: createobj.c:1032
static const GUID CLSID_TestObjInst
Definition: createobj.c:107
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, IUnknown *object, DWORD clscontext, DWORD flags, DWORD *cookie)
Definition: combase.c:2970
#define regid
Definition: ecma_167.h:64
@ REGCLS_MULTIPLEUSE
Definition: objbase.h:398

Referenced by START_TEST().

◆ ServiceProvider_AddRef()

static ULONG WINAPI ServiceProvider_AddRef ( IServiceProvider iface)
static

Definition at line 524 of file createobj.c.

525{
526 return 2;
527}

◆ ServiceProvider_QueryInterface()

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

Definition at line 518 of file createobj.c.

519{
520 ok(0, "unexpected call\n");
521 return E_NOINTERFACE;
522}

◆ ServiceProvider_QueryService()

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

Definition at line 534 of file createobj.c.

536{
537 if(IsEqualGUID(&SID_GetCaller, guidService))
538 return E_NOINTERFACE;
539
540 if(IsEqualGUID(&SID_SInternetHostSecurityManager, guidService)) {
541 if(iface == &ServiceProvider)
542 CHECK_EXPECT(Host_QS_SecMgr);
543 else
544 CHECK_EXPECT(Caller_QS_SecMgr);
545 ok(IsEqualGUID(&IID_IInternetHostSecurityManager, riid), "unexpected riid %s\n", wine_dbgstr_guid(riid));
548 return QS_SecMgr_hres;
549 }
550
551 ok(0, "unexpected service %s\n", wine_dbgstr_guid(guidService));
552 return E_NOINTERFACE;
553}
static IInternetHostSecurityManager InternetHostSecurityManager
Definition: createobj.c:514

◆ ServiceProvider_Release()

static ULONG WINAPI ServiceProvider_Release ( IServiceProvider iface)
static

Definition at line 529 of file createobj.c.

530{
531 return 1;
532}

◆ set_safety_options()

static void set_safety_options ( IUnknown unk,
BOOL  use_sec_mgr 
)
static

Definition at line 655 of file createobj.c.

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

Referenced by create_script().

◆ START_TEST()

START_TEST ( createobj  )

Definition at line 1072 of file createobj.c.

1073{
1075
1076 if(check_vbscript()) {
1077 if(register_activex()) {
1081 }else {
1082 skip("Could not register ActiveX object.\n");
1083 }
1084 }else {
1085 win_skip("Broken engine, probably too old\n");
1086 }
1087
1089}
#define skip(...)
Definition: atltest.h:64
static void test_GetObject(void)
Definition: createobj.c:954
static BOOL check_vbscript(void)
Definition: createobj.c:1058
static BOOL register_activex(void)
Definition: createobj.c:1037
static void test_CreateObject(void)
Definition: createobj.c:754
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

◆ test_CreateObject()

static void test_CreateObject ( void  )
static

Definition at line 754 of file createobj.c.

755{
756 IActiveScriptParse *parser;
758
760
761 SET_EXPECT(Host_QS_SecMgr);
762 SET_EXPECT(ProcessUrlAction);
764 SET_EXPECT(QueryCustomPolicy);
765 SET_EXPECT(QI_IObjectWithSite);
766 SET_EXPECT(reportSuccess);
767 parse_script(parser, L"Call CreateObject(\"Wine.Test\").reportSuccess()");
768 CHECK_CALLED(Host_QS_SecMgr);
769 CHECK_CALLED(ProcessUrlAction);
771 CHECK_CALLED(QueryCustomPolicy);
772 CHECK_CALLED(QI_IObjectWithSite);
773 CHECK_CALLED(reportSuccess);
774
776
778
779 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.TestABC\")");
780 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
781
783
786
787 SET_EXPECT(Host_QS_SecMgr);
788 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
789 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
790 CHECK_CALLED(Host_QS_SecMgr);
791
793
796
797 SET_EXPECT(Host_QS_SecMgr);
798 SET_EXPECT(ProcessUrlAction);
799 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
800 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
801 CHECK_CALLED(Host_QS_SecMgr);
802 CHECK_CALLED(ProcessUrlAction);
803
805
807 ProcessUrlAction_policy = URLPOLICY_DISALLOW;
808
809 SET_EXPECT(Host_QS_SecMgr);
810 SET_EXPECT(ProcessUrlAction);
811 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
812 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
813 CHECK_CALLED(Host_QS_SecMgr);
814 CHECK_CALLED(ProcessUrlAction);
815
817
820
821 SET_EXPECT(Host_QS_SecMgr);
822 SET_EXPECT(ProcessUrlAction);
824 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
825 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
826 CHECK_CALLED(Host_QS_SecMgr);
827 CHECK_CALLED(ProcessUrlAction);
829
831
834
835 SET_EXPECT(Host_QS_SecMgr);
836 SET_EXPECT(ProcessUrlAction);
838 SET_EXPECT(QueryCustomPolicy);
839 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
840 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
841 CHECK_CALLED(Host_QS_SecMgr);
842 CHECK_CALLED(ProcessUrlAction);
844 CHECK_CALLED(QueryCustomPolicy);
845
847
850
851 SET_EXPECT(Host_QS_SecMgr);
852 SET_EXPECT(ProcessUrlAction);
854 SET_EXPECT(QueryCustomPolicy);
855 SET_EXPECT(QI_IObjectWithSite);
856 SET_EXPECT(reportSuccess);
857 parse_script(parser, L"Call CreateObject(\"Wine.Test\").reportSuccess()");
858 CHECK_CALLED(Host_QS_SecMgr);
859 CHECK_CALLED(ProcessUrlAction);
861 CHECK_CALLED(QueryCustomPolicy);
862 CHECK_CALLED(QI_IObjectWithSite);
863 CHECK_CALLED(reportSuccess);
864
866
868 QueryCustomPolicy_policy = URLPOLICY_DISALLOW;
869
870 SET_EXPECT(Host_QS_SecMgr);
871 SET_EXPECT(ProcessUrlAction);
873 SET_EXPECT(QueryCustomPolicy);
874 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
875 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
876 CHECK_CALLED(Host_QS_SecMgr);
877 CHECK_CALLED(ProcessUrlAction);
879 CHECK_CALLED(QueryCustomPolicy);
880
882
883 SET_EXPECT(ProcessUrlAction);
885 SET_EXPECT(QueryCustomPolicy);
886 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
887 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
888 CHECK_CALLED(ProcessUrlAction);
890 CHECK_CALLED(QueryCustomPolicy);
891
892 QueryCustomPolicy_policy = URLPOLICY_ALLOW;
894
895 SET_EXPECT(ProcessUrlAction);
897 SET_EXPECT(QueryCustomPolicy);
898 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
899 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
900 CHECK_CALLED(ProcessUrlAction);
902 CHECK_CALLED(QueryCustomPolicy);
903
905
907
909 SET_EXPECT(QI_IObjectWithSite);
910 SET_EXPECT(reportSuccess);
911 parse_script(parser, L"Call CreateObject(\"Wine.Test\").reportSuccess()");
913 CHECK_CALLED(QI_IObjectWithSite);
914 CHECK_CALLED(reportSuccess);
915
917
920
921 SET_EXPECT(Host_QS_SecMgr);
922 SET_EXPECT(ProcessUrlAction);
924 SET_EXPECT(QueryCustomPolicy);
925 SET_EXPECT(QI_IObjectWithSite);
926 SET_EXPECT(SetSite);
927 SET_EXPECT(reportSuccess);
928 parse_script(parser, L"Call CreateObject(\"Wine.Test\").reportSuccess()");
929 CHECK_CALLED(Host_QS_SecMgr);
930 CHECK_CALLED(ProcessUrlAction);
932 CHECK_CALLED(QueryCustomPolicy);
933 CHECK_CALLED(QI_IObjectWithSite);
934 CHECK_CALLED(SetSite);
935 CHECK_CALLED(reportSuccess);
936
938 SET_EXPECT(ProcessUrlAction);
940 SET_EXPECT(QueryCustomPolicy);
941 SET_EXPECT(QI_IObjectWithSite);
942 SET_EXPECT(SetSite);
943 hres = parse_script_e(parser, L"Call CreateObject(\"Wine.Test\")");
944 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
945 CHECK_CALLED(ProcessUrlAction);
947 CHECK_CALLED(QueryCustomPolicy);
948 CHECK_CALLED(QI_IObjectWithSite);
949 CHECK_CALLED(SetSite);
950
952}
#define SET_EXPECT(func)
Definition: createobj.c:58
#define VB_E_CANNOT_CREATE_OBJ
Definition: createobj.c:118
static HRESULT parse_script_e(IActiveScriptParse *parser, const WCHAR *script)
Definition: createobj.c:696
static IObjectWithSite ObjectWithSite
Definition: createobj.c:166
#define IActiveScriptParse_Release
Definition: createobj.c:44
#define parse_script(p, s)
Definition: createobj.c:684
#define CHECK_CALLED(func)
Definition: createobj.c:73
#define E_FAIL
Definition: ddrawi.h:102
static IActiveScriptParse * create_script(void)
Definition: caller.c:673

Referenced by START_TEST().

◆ Test_GetDispID()

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

Definition at line 266 of file createobj.c.

267{
268 if(!lstrcmpW(bstrName, L"reportSuccess")) {
269 ok(grfdex == fdexNameCaseInsensitive, "grfdex = %lx\n", grfdex);
271 return S_OK;
272 }
273
274 ok(0, "unexpected name %s\n", wine_dbgstr_w(bstrName));
275 return E_NOTIMPL;
276}
#define DISPID_TEST_REPORTSUCCESS
Definition: createobj.c:114

◆ test_GetObject()

static void test_GetObject ( void  )
static

Definition at line 954 of file createobj.c.

955{
956 IActiveScriptParse *parser;
958
959 /* Never allowed with security manager */
961 hres = parse_script_e(parser, L"Call GetObject(\"clsid:" TESTOBJINST_CLSID "\").reportSuccess()");
962 ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
964
966
967 SET_EXPECT(QI_IObjectWithSite);
968 SET_EXPECT(SetSite);
969 SET_EXPECT(reportSuccess);
970 hres = parse_script_e(parser, L"Call GetObject(\"clsid:" TESTOBJINST_CLSID "\").reportSuccess()");
971 if(broken(hres == VB_E_ACCESS_DENIED)) /* 64-bit win8 fails on the first try */
972 hres = parse_script_e(parser, L"Call GetObject(\"clsid:" TESTOBJINST_CLSID "\").reportSuccess()");
973 if(hres == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)) { /* Workaround for broken win2k */
974 win_skip("got unexpected error %08lx\n", hres);
975 CLEAR_CALLED(QI_IObjectWithSite);
976 CLEAR_CALLED(SetSite);
977 CLEAR_CALLED(reportSuccess);
979 return;
980 }
981 ok(hres == S_OK, "hres = %08lx\n", hres);
982 CHECK_CALLED(QI_IObjectWithSite);
983 CHECK_CALLED(SetSite);
984 CHECK_CALLED(reportSuccess);
985
987 SET_EXPECT(QI_IObjectWithSite);
988 SET_EXPECT(SetSite);
989 hres = parse_script_e(parser, L"Call GetObject(\"clsid:" TESTOBJINST_CLSID "\").reportSuccess()");
990 ok(hres == E_FAIL, "hres = %08lx\n", hres);
991 CHECK_CALLED(QI_IObjectWithSite);
992 CHECK_CALLED(SetSite);
993
995 SET_EXPECT(QI_IObjectWithSite);
996 SET_EXPECT(reportSuccess);
997 parse_script(parser, L"Call GetObject(\"clsid:" TESTOBJINST_CLSID "\").reportSuccess()");
998 CHECK_CALLED(QI_IObjectWithSite);
999 CHECK_CALLED(reportSuccess);
1000
1002
1003 /* Invalid moniker */
1005 hres = parse_script_e(parser, L"Call GetObject(\"nonexistent:test\").reportSuccess()");
1006 ok(hres == MK_E_SYNTAX, "hres = %08lx\n", hres);
1008}
#define broken(x)
Definition: atltest.h:178
#define CLEAR_CALLED(func)
Definition: createobj.c:79
#define VB_E_ACCESS_DENIED
Definition: createobj.c:53
#define TESTOBJINST_CLSID
Definition: createobj.c:103
#define ERROR_MOD_NOT_FOUND
Definition: compat.h:104
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210
#define MK_E_SYNTAX
Definition: winerror.h:3896

Referenced by START_TEST().

◆ 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 278 of file createobj.c.

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

Variable Documentation

◆ ActiveScriptSite

IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl }
static

Definition at line 653 of file createobj.c.

Referenced by create_script().

◆ ActiveScriptSiteVtbl

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

Definition at line 639 of file createobj.c.

◆ activex_cf

IClassFactory activex_cf = { &ClassFactoryVtbl }
static

Definition at line 428 of file createobj.c.

Referenced by register_activex().

◆ ClassFactoryVtbl

const IClassFactoryVtbl ClassFactoryVtbl
static
Initial value:
= {
}
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
Definition: createobj.c:402
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
Definition: createobj.c:414
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
Definition: createobj.c:397
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
Definition: createobj.c:380
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
Definition: createobj.c:392

Definition at line 420 of file createobj.c.

◆ CLSID_TestObj

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

Definition at line 105 of file createobj.c.

Referenced by InternetHostSecurityManager_ProcessUrlAction(), and register_activex().

◆ CLSID_TestObjInst

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

Definition at line 107 of file createobj.c.

Referenced by register_activex().

◆ CLSID_VBScript

const CLSID CLSID_VBScript
extern

Referenced by check_vbscript(), and create_script().

◆ CreateInstance_hres

HRESULT CreateInstance_hres
static

Definition at line 94 of file createobj.c.

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

◆ globalObj

IDispatchEx globalObj = { &globalObjVtbl }
static

Definition at line 378 of file createobj.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: createobj.c:242
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
Definition: createobj.c:197
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: createobj.c:214
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
Definition: createobj.c:236
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
Definition: createobj.c:260
static HRESULT WINAPI DispatchEx_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: createobj.c:222
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
Definition: createobj.c:248
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
Definition: createobj.c:254
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
Definition: createobj.c:170
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
Definition: createobj.c:192
static HRESULT WINAPI DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: createobj.c:208
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
Definition: createobj.c:334
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
Definition: createobj.c:230
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
Definition: createobj.c:202
static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
Definition: createobj.c:322

Definition at line 360 of file createobj.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 111 of file createobj.c.

Referenced by InternetHostSecurityManager_QueryCustomPolicy().

◆ InternetHostSecurityManager

IInternetHostSecurityManager InternetHostSecurityManager = { &InternetHostSecurityManagerVtbl }
static

Definition at line 514 of file createobj.c.

Referenced by ServiceProvider_QueryService().

◆ InternetHostSecurityManagerVtbl

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

Definition at line 505 of file createobj.c.

◆ object_with_site

IObjectWithSite* object_with_site
static

Definition at line 168 of file createobj.c.

Referenced by DispatchEx_QueryInterface(), and test_CreateObject().

◆ ObjectWithSite

IObjectWithSite ObjectWithSite = { &ObjectWithSiteVtbl }
static

Definition at line 166 of file createobj.c.

Referenced by test_CreateObject().

◆ ObjectWithSiteVtbl

const IObjectWithSiteVtbl ObjectWithSiteVtbl
static
Initial value:
= {
}
static ULONG WINAPI ObjectWithSite_Release(IObjectWithSite *iface)
Definition: createobj.c:131
static ULONG WINAPI ObjectWithSite_AddRef(IObjectWithSite *iface)
Definition: createobj.c:126
static HRESULT WINAPI ObjectWithSite_QueryInterface(IObjectWithSite *iface, REFIID riid, void **ppv)
Definition: createobj.c:120
static HRESULT WINAPI ObjectWithSite_SetSite(IObjectWithSite *iface, IUnknown *pUnkSite)
Definition: createobj.c:136
static HRESULT WINAPI ObjectWithSite_GetSite(IObjectWithSite *iface, REFIID riid, void **ppvSite)
Definition: createobj.c:152

Definition at line 158 of file createobj.c.

◆ ProcessUrlAction_hres

HRESULT ProcessUrlAction_hres
static

◆ ProcessUrlAction_policy

DWORD ProcessUrlAction_policy
static

◆ QI_IDispatch_hres

HRESULT QI_IDispatch_hres
static

Definition at line 98 of file createobj.c.

Referenced by create_script(), and DispatchEx_QueryInterface().

◆ QI_IObjectWithSite_hres

HRESULT QI_IObjectWithSite_hres
static

Definition at line 99 of file createobj.c.

Referenced by create_script(), DispatchEx_QueryInterface(), and test_GetObject().

◆ QS_SecMgr_hres

HRESULT QS_SecMgr_hres
static

Definition at line 91 of file createobj.c.

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

◆ 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 516 of file createobj.c.

Referenced by ActiveScriptSite_QueryInterface(), and ServiceProvider_QueryService().

◆ ServiceProviderVtbl

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

Definition at line 555 of file createobj.c.

◆ SetSite_hres

HRESULT SetSite_hres
static

◆ testObj

IDispatchEx testObj = { &testObjVtbl }
static

Definition at line 320 of file createobj.c.

Referenced by ClassFactory_CreateInstance(), and register_activex().

◆ testObjVtbl

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

Definition at line 302 of file createobj.c.