MAPI SetsearchCriteria 与 Restrict 与 FindRw

MAPI SetsearchCriteria vs Restrict vs FindRw

我正在尝试构建一个简单的搜索以在所有子文件夹中查找帐户内的特定邮件 - 递归

我目前熟悉的方法是 SearchFolder + SetSearchCriteria + AdviseCallback + Large GetMessage 循环,直到我注册的回调被 fnevSearchComplete旗帜。

这很好,但是对于邮件超过 10K 的帐户,搜索过程会消耗大量资源(CPU 和处理时间),此外,由于讨厌的 GetMessage 循环,一切都被阻止了。有没有办法在所有子文件夹(多个表)中搜索并同时收集到现在找到的邮件?

不要运行消息循环(GetMesage/TranlateMesage/DispatchMessage)。使用内容 table 通知(它们仍会触发)或使用计时器定期轮询搜索文件夹。