当我试图处理传入的电子邮件时( NewMailEx方法),如果我调用GetItemFromId方法(访问冲突),我会得到一个异常。Namespace.GetItemFromId方法不需要storeId作为第二个参数吗?如果我对引发事件的收件箱不感兴趣,我应该将什么值作为存储Id来处理。换句话说,我只想收回收到的电子邮件的信息,不管它属于哪个帐户(收件箱)。
CMailItem m_mailItem = NULL;
CApplication l_application;
l_application.CreateDispatch("Outlook.Application");
CNameSpace l_namespace = l_application.GetNamespace(_T("MAPI"));
CString ItemId((pDispParams->rgvarg)->bstrVal);
m_mailItem = l_namespace.GetItemFromID(ItemId, /*whatIdToProvide*/??);我试图传递一个emty值,但这不起作用。
以下是GetItemFromId定义(自动生成)
LPDISPATCH GetItemFromID(LPCTSTR EntryIDItem, const VARIANT& EntryIDStore)
{
LPDISPATCH result;
static BYTE parms[] = VTS_BSTR VTS_VARIANT;
InvokeHelper(0x2109, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,EntryIDItem, &EntryIDStore);
return result;
}发布于 2014-02-19 14:28:23
对于所有可选参数,您需要传递一个类型为VT_ERROR的变体,其值为DISP_E_PARAMNOTFOUND。
https://stackoverflow.com/questions/21876401
复制相似问题