0

我试图在将电子邮件放入已发送邮件文件夹后获取电子邮件的大小和对话索引。

STDMETHODIMP CItemsEventListener::HandleItemAdd(DISPPARAMS* pDispParams, CString p_csDate, CString p_csTime)
{
    HRESULT l_hResult;
    CMailItem l_mailItem = NULL ;
    IDispatch * m_disp = pDispParams->rgvarg[1].pdispVal;
    l_hResult = m_disp->QueryInterface(IID_MailItemItems, (void**)&l_mailItem);
    //Do stuff
}

QueryInterface 方法生成异常。(访问冲突)。Ps:我使用与应用程序事件相同的 CMailItem 类,它运行良好。我究竟做错了什么?

任何帮助,将不胜感激。

4

1 回答 1

1

首先,该方法是如何调用的?

其次,您正在访问第二个参数 (rgvarg[ 1 ].pdispVal)。您需要使用第一个参数 (rgvarg[ 0 ].pdispVal)。

于 2014-01-07T14:07:49.530 回答