本文整理汇总了C++中MsgMapiListContext::GetNext方法的典型用法代码示例。如果您正苦于以下问题:C++ MsgMapiListContext::GetNext方法的具体用法?C++ MsgMapiListContext::GetNext怎么用?C++ MsgMapiListContext::GetNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MsgMapiListContext
的用法示例。
在下文中一共展示了MsgMapiListContext::GetNext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FindNext
STDMETHODIMP CMapiImp::FindNext(unsigned long aSession, unsigned long ulUIParam, LPTSTR lpszMessageType,
LPTSTR lpszSeedMessageID, unsigned long flFlags, unsigned long ulReserved,
unsigned char lpszMessageID[64])
{
//
// If this is true, then this is the first call to this FindNext function
// and we should start the enumeration operation.
//
*lpszMessageID = '\0';
nsMAPIConfiguration * pMapiConfig = nsMAPIConfiguration::GetMAPIConfiguration() ;
if (!pMapiConfig)
{
NS_ASSERTION(PR_FALSE, "failed to get config in findnext");
return NS_ERROR_FAILURE ; // get the singelton obj
}
MsgMapiListContext *listContext;
LONG ret = InitContext(aSession, &listContext);
if (ret != SUCCESS_SUCCESS)
{
NS_ASSERTION(PR_FALSE, "init context failed");
return ret;
}
NS_ASSERTION(listContext, "initContext returned null context");
if (listContext)
{
// NS_ASSERTION(PR_FALSE, "find next init context succeeded");
nsMsgKey nextKey = listContext->GetNext();
if (nextKey == nsMsgKey_None)
{
pMapiConfig->SetMapiListContext(aSession, NULL);
delete listContext;
return(MAPI_E_NO_MESSAGES);
}
// TRACE("MAPI: ProcessMAPIFindNext() Found message id = %d\n", nextKey);
sprintf((char *) lpszMessageID, "%d", nextKey);
}
PR_LOG(MAPI, PR_LOG_DEBUG, ("CMapiImp::FindNext returning key %s\n", (char *) lpszMessageID));
return(SUCCESS_SUCCESS);
}