我试图在将电子邮件发送到已发送邮件文件夹后获取其大小和对话索引。
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 类,它运行良好。 我做错了什么?
如有任何帮助,我们将不胜感激。
最佳答案
首先,该方法是如何调用的?
其次,您正在访问第二个参数 (rgvarg[1].pdispVal)。您需要使用第一个参数 (rgvarg[0].pdispVal)。
关于c++ - 在 Items.ItemAdd 事件之后获取 MailItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972770/