C++ 如何初始化IMAPISession OpenMsgStore?
我正在使用MAPI跟踪传入的邮件。(使用C++) 我调用了MAPIInitialize和LAPILogonEx,如下所示:C++ 如何初始化IMAPISession OpenMsgStore?,c++,outlook,mapi,C++,Outlook,Mapi,我正在使用MAPI跟踪传入的邮件。(使用C++) 我调用了MAPIInitialize和LAPILogonEx,如下所示: HRESULT hr; hr = MAPIInitialize(0); IMAPISession *pSession; hr = MAPILogonEx(0, NULL, NULL, 0, (LPMAPISESSION *)&pSession); IMsgStore *imsg = NULL; hr = pSession
HRESULT hr;
hr = MAPIInitialize(0);
IMAPISession *pSession;
hr = MAPILogonEx(0, NULL, NULL, 0, (LPMAPISESSION *)&pSession);
IMsgStore *imsg = NULL;
hr = pSession->OpenMsgStore(NULL, NULL, 0, NULL, 0, &imsg);
我想注册此通知,因为我想跟踪传入的消息。因此,在调用IMsgStore::advice
之前,我尝试调用IMAPISession::openmsgsstore
,如下所示:
HRESULT hr;
hr = MAPIInitialize(0);
IMAPISession *pSession;
hr = MAPILogonEx(0, NULL, NULL, 0, (LPMAPISESSION *)&pSession);
IMsgStore *imsg = NULL;
hr = pSession->OpenMsgStore(NULL, NULL, 0, NULL, 0, &imsg);
但是上面的调用不起作用(它返回-2147221241)。我正在将0传递给条目ID,因为我要跟踪所有文件夹中的邮件。有人能告诉我哪里出了问题吗?任何帮助都将不胜感激。谢谢错误为MAPI\u E\u INVALID\u ENTRYID。不能为条目id传递NULL。 您需要调用IMAPIsession::GetMsgStoresTables,找到所需的消息存储,然后将其条目id传递给OpenMsgStore