这篇教程C++ DISPATCHEX函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DISPATCHEX函数的典型用法代码示例。如果您正苦于以下问题:C++ DISPATCHEX函数的具体用法?C++ DISPATCHEX怎么用?C++ DISPATCHEX使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DISPATCHEX函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: HTMLDocument3_GetIDsOfNamesstatic HRESULT WINAPI HTMLDocument3_GetIDsOfNames(IHTMLDocument3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId){ HTMLDocument *This = HTMLDOC3_THIS(iface); return IDispatchEx_GetIDsOfNames(DISPATCHEX(This), riid, rgszNames, cNames, lcid, rgDispId);}
开发者ID:bilboed,项目名称:wine,代码行数:7,
示例2: HTMLTextContainer_GetIDsOfNamesstatic HRESULT WINAPI HTMLTextContainer_GetIDsOfNames(IHTMLTextContainer *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId){ HTMLTextContainer *This = HTMLTEXTCONT_THIS(iface); return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->element.node.dispex), riid, rgszNames, cNames, lcid, rgDispId);}
开发者ID:bilboed,项目名称:wine,代码行数:7,
示例3: HTMLScriptElement_GetIDsOfNamesstatic HRESULT WINAPI HTMLScriptElement_GetIDsOfNames(IHTMLScriptElement *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId){ HTMLScriptElement *This = HTMLSCRIPT_THIS(iface); return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->element.node.dispex), riid, rgszNames, cNames, lcid, rgDispId);}
开发者ID:bilboed,项目名称:wine,代码行数:7,
示例4: HTMLStyle2_GetIDsOfNamesstatic HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId){ HTMLStyle *This = HTMLSTYLE2_THIS(iface); return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);}
开发者ID:bilboed,项目名称:wine,代码行数:7,
示例5: HTMLCurrentStyle_Invokestatic HRESULT WINAPI HTMLCurrentStyle_Invoke(IHTMLCurrentStyle *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr){ HTMLCurrentStyle *This = HTMLCURSTYLE_THIS(iface); return IDispatchEx_Invoke(DISPATCHEX(&This->dispex), dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);}
开发者ID:bilboed,项目名称:wine,代码行数:8,
示例6: HTMLDocument3_Invokestatic HRESULT WINAPI HTMLDocument3_Invoke(IHTMLDocument3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr){ HTMLDocument *This = HTMLDOC3_THIS(iface); return IDispatchEx_Invoke(DISPATCHEX(This), dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);}
开发者ID:bilboed,项目名称:wine,代码行数:8,
示例7: HTMLFormElement_Invokestatic HRESULT WINAPI HTMLFormElement_Invoke(IHTMLFormElement *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr){ HTMLFormElement *This = HTMLFORM_THIS(iface); return IDispatchEx_Invoke(DISPATCHEX(&This->element.node.dispex), dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);}
开发者ID:bilboed,项目名称:wine,代码行数:8,
示例8: Function_Releasestatic ULONG WINAPI Function_Release(IUnknown *iface){ func_disp_t *This = FUNCTION_THIS(iface); TRACE("(%p)/n", This); return IDispatchEx_Release(DISPATCHEX(This->obj));}
开发者ID:bilboed,项目名称:wine,代码行数:8,
示例9: function_invokestatic HRESULT function_invoke(DispatchEx *This, func_info_t *func, WORD flags, DISPPARAMS *dp, VARIANT *res, EXCEPINFO *ei){ HRESULT hres; switch(flags) { case DISPATCH_METHOD|DISPATCH_PROPERTYGET: if(!res) return E_INVALIDARG; case DISPATCH_METHOD: hres = typeinfo_invoke(This, func, flags, dp, res, ei); break; case DISPATCH_PROPERTYGET: { dispex_dynamic_data_t *dynamic_data; if(func->id == DISPID_VALUE) { BSTR ret; ret = SysAllocString(objectW); if(!ret) return E_OUTOFMEMORY; V_VT(res) = VT_BSTR; V_BSTR(res) = ret; return S_OK; } dynamic_data = get_dynamic_data(This, TRUE); if(!dynamic_data) return E_OUTOFMEMORY; if(!dynamic_data->func_disps) { dynamic_data->func_disps = heap_alloc_zero(This->data->data->func_disp_cnt * sizeof(func_disp_t*)); if(!dynamic_data->func_disps) return E_OUTOFMEMORY; } if(!dynamic_data->func_disps[func->func_disp_idx]) { dynamic_data->func_disps[func->func_disp_idx] = create_func_disp(This, func); if(!dynamic_data->func_disps[func->func_disp_idx]) return E_OUTOFMEMORY; } V_VT(res) = VT_DISPATCH; V_DISPATCH(res) = (IDispatch*)DISPATCHEX(&dynamic_data->func_disps[func->func_disp_idx]->dispex); IDispatch_AddRef(V_DISPATCH(res)); hres = S_OK; break; } default: FIXME("Unimplemented flags %x/n", flags); case DISPATCH_PROPERTYPUT: hres = E_NOTIMPL; } return hres;}
开发者ID:bilboed,项目名称:wine,代码行数:57,
示例10: HTMLFormElement_GetTypeInfoCountstatic HRESULT WINAPI HTMLFormElement_GetTypeInfoCount(IHTMLFormElement *iface, UINT *pctinfo){ HTMLFormElement *This = HTMLFORM_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->element.node.dispex), pctinfo);}
开发者ID:bilboed,项目名称:wine,代码行数:5,
示例11: HTMLTextContainer_GetTypeInfostatic HRESULT WINAPI HTMLTextContainer_GetTypeInfo(IHTMLTextContainer *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){ HTMLTextContainer *This = HTMLTEXTCONT_THIS(iface); return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->element.node.dispex), iTInfo, lcid, ppTInfo);}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:6,
示例12: HTMLTextContainer_GetTypeInfoCountstatic HRESULT WINAPI HTMLTextContainer_GetTypeInfoCount(IHTMLTextContainer *iface, UINT *pctinfo){ HTMLTextContainer *This = HTMLTEXTCONT_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->element.node.dispex), pctinfo);}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:5,
示例13: HTMLTableRow_GetTypeInfoCountstatic HRESULT WINAPI HTMLTableRow_GetTypeInfoCount(IHTMLTableRow *iface, UINT *pctinfo){ HTMLTableRow *This = HTMLTABLEROW_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->element.node.dispex), pctinfo);}
开发者ID:bilboed,项目名称:wine,代码行数:5,
示例14: HTMLElement2_GetTypeInfostatic HRESULT WINAPI HTMLElement2_GetTypeInfo(IHTMLElement2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){ HTMLElement *This = HTMLELEM2_THIS(iface); return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->node.dispex), iTInfo, lcid, ppTInfo);}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:6,
示例15: HTMLStyle2_GetTypeInfostatic HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){ HTMLStyle *This = HTMLSTYLE2_THIS(iface); return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->dispex), iTInfo, lcid, ppTInfo);}
开发者ID:bilboed,项目名称:wine,代码行数:6,
示例16: HTMLDocument3_GetTypeInfostatic HRESULT WINAPI HTMLDocument3_GetTypeInfo(IHTMLDocument3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){ HTMLDocument *This = HTMLDOC3_THIS(iface); return IDispatchEx_GetTypeInfo(DISPATCHEX(This), iTInfo, lcid, ppTInfo);}
开发者ID:bilboed,项目名称:wine,代码行数:6,
示例17: HTMLDocument4_GetTypeInfoCountstatic HRESULT WINAPI HTMLDocument4_GetTypeInfoCount(IHTMLDocument4 *iface, UINT *pctinfo){ HTMLDocument *This = HTMLDOC4_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(This), pctinfo);}
开发者ID:bilboed,项目名称:wine,代码行数:5,
示例18: DispatchEx_InvokeExstatic HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller){ DispatchEx *This = DISPATCHEX_THIS(iface); HRESULT hres; TRACE("(%p)->(%x %x %x %p %p %p %p)/n", This, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller); if(is_custom_dispid(id) && This->data->vtbl && This->data->vtbl->invoke) return This->data->vtbl->invoke(This->outer, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller); if(wFlags == DISPATCH_CONSTRUCT) { if(id == DISPID_VALUE) { if(This->data->vtbl && This->data->vtbl->value) { return This->data->vtbl->value(This->outer, lcid, wFlags, pdp, pvarRes, pei, pspCaller); } FIXME("DISPATCH_CONSTRUCT flag but missing value function/n"); return E_FAIL; } FIXME("DISPATCH_CONSTRUCT flag without DISPID_VALUE/n"); return E_FAIL; } if(is_dynamic_dispid(id)) { DWORD idx = id - DISPID_DYNPROP_0; dynamic_prop_t *prop; if(!This->dynamic_data || This->dynamic_data->prop_cnt <= idx) return DISP_E_UNKNOWNNAME; prop = This->dynamic_data->props+idx; switch(wFlags) { case DISPATCH_METHOD|DISPATCH_PROPERTYGET: if(!pvarRes) return E_INVALIDARG; case DISPATCH_METHOD: { DISPID named_arg = DISPID_THIS; DISPPARAMS dp = {NULL, &named_arg, 0, 1}; IDispatchEx *dispex; if(V_VT(&prop->var) != VT_DISPATCH) { FIXME("invoke %s/n", debugstr_variant(&prop->var)); return E_NOTIMPL; } if(pdp->cNamedArgs) { FIXME("named args not supported/n"); return E_NOTIMPL; } dp.rgvarg = heap_alloc((pdp->cArgs+1)*sizeof(VARIANTARG)); if(!dp.rgvarg) return E_OUTOFMEMORY; dp.cArgs = pdp->cArgs+1; memcpy(dp.rgvarg+1, pdp->rgvarg, pdp->cArgs*sizeof(VARIANTARG)); V_VT(dp.rgvarg) = VT_DISPATCH; V_DISPATCH(dp.rgvarg) = (IDispatch*)DISPATCHEX(This); hres = IDispatch_QueryInterface(V_DISPATCH(&prop->var), &IID_IDispatchEx, (void**)&dispex); TRACE("%s call/n", debugstr_w(This->dynamic_data->props[idx].name)); if(SUCCEEDED(hres)) { hres = IDispatchEx_InvokeEx(dispex, DISPID_VALUE, lcid, wFlags, &dp, pvarRes, pei, pspCaller); IDispatchEx_Release(dispex); }else { ULONG err = 0; hres = IDispatch_Invoke(V_DISPATCH(&prop->var), DISPID_VALUE, &IID_NULL, lcid, wFlags, pdp, pvarRes, pei, &err); } TRACE("%s ret %08x/n", debugstr_w(This->dynamic_data->props[idx].name), hres); heap_free(dp.rgvarg); return hres; } case DISPATCH_PROPERTYGET: if(prop->flags & DYNPROP_DELETED) return DISP_E_UNKNOWNNAME; return VariantCopy(pvarRes, &prop->var); case DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYPUTREF: case DISPATCH_PROPERTYPUT: if(pdp->cArgs != 1 || (pdp->cNamedArgs == 1 && *pdp->rgdispidNamedArgs != DISPID_PROPERTYPUT) || pdp->cNamedArgs > 1) { FIXME("invalid args/n"); return E_INVALIDARG; } TRACE("put %s/n", debugstr_variant(pdp->rgvarg)); VariantClear(&prop->var); hres = VariantCopy(&prop->var, pdp->rgvarg); if(FAILED(hres)) return hres; prop->flags &= ~DYNPROP_DELETED; return S_OK; default: FIXME("unhandled wFlags %x/n", wFlags); return E_NOTIMPL; }//.........这里部分代码省略.........
开发者ID:bilboed,项目名称:wine,代码行数:101,
示例19: HTMLElement2_GetTypeInfoCountstatic HRESULT WINAPI HTMLElement2_GetTypeInfoCount(IHTMLElement2 *iface, UINT *pctinfo){ HTMLElement *This = HTMLELEM2_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->node.dispex), pctinfo);}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:5,
示例20: HTMLTableRow_GetTypeInfostatic HRESULT WINAPI HTMLTableRow_GetTypeInfo(IHTMLTableRow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo){ HTMLTableRow *This = HTMLTABLEROW_THIS(iface); return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->element.node.dispex), iTInfo, lcid, ppTInfo);}
开发者ID:bilboed,项目名称:wine,代码行数:6,
示例21: HTMLStyle2_GetTypeInfoCountstatic HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo){ HTMLStyle *This = HTMLSTYLE2_THIS(iface); return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->dispex), pctinfo);}
开发者ID:bilboed,项目名称:wine,代码行数:5,
注:本文中的DISPATCHEX函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ DISPDBG函数代码示例 C++ DISKUNIT函数代码示例 |