static HRESULT invoke_value_proc(script_ctx_t *ctx, FunctionInstance *function, IDispatch *this_disp, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) { vdisp_t vthis; HRESULT hres; if(this_disp) set_disp(&vthis, this_disp); else if(ctx->host_global) set_disp(&vthis, ctx->host_global); else set_jsdisp(&vthis, ctx->global); hres = function->value_proc(ctx, &vthis, flags, argc, argv, r); vdisp_release(&vthis); return hres; }
static HRESULT invoke_value_proc(script_ctx_t *ctx, FunctionInstance *function, IDispatch *this_disp, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *caller) { vdisp_t vthis; HRESULT hres; if(this_disp) set_disp(&vthis, this_disp); else if(ctx->host_global) set_disp(&vthis, ctx->host_global); else set_jsdisp(&vthis, ctx->global); hres = function->value_proc(ctx, &vthis, flags, dp, retv, ei, caller); vdisp_release(&vthis); return hres; }