现在的位置: 首页 > 综合 > 正文

ActiveX “意外地调用了方法或属性访问”

2013年10月13日 ⁄ 综合 ⁄ 共 744字 ⁄ 字号 评论关闭

跟踪发现

STDMETHODIMP COleDispatchImpl::Invoke(

    DISPID dispid, REFIID riid, LCID lcid,
    WORD wFlags, DISPPARAMS* pDispParams, LPVARIANT pvarResult,
    LPEXCEPINFO pexcepinfo, UINT* puArgErr)
{
    METHOD_PROLOGUE_EX_(CCmdTarget, Dispatch)
    ASSERT_NULL_OR_POINTER(pvarResult, VARIANT);
    ASSERT_NULL_OR_POINTER(pexcepinfo, EXCEPINFO);
    ASSERT_NULL_OR_POINTER(puArgErr, UINT);

    // make sure pvarResult is initialized
    if (pvarResult != NULL)
        AfxVariantInit(pvarResult);

    // check arguments
    if (riid != IID_NULL)
        return DISP_E_UNKNOWNINTERFACE;

    // allow subclass to disable Invoke
    if (!pThis->IsInvokeAllowed(dispid))
        return E_UNEXPECTED;

    // copy param block for safety
    DISPPARAMS params = *pDispParams;

    pDispParams = &params;

网上也有 http://support.microsoft.com/kb/q146120/

抱歉!评论已关闭.