Outlook MAPI in C++ 应用程序中:在 IMAPITABLE 限制后获取 SMTP 地址 (PR_SMT



我的 MAPI 应用程序中有一个PR_ANR_W限制,用于查找与文本模式匹配的用户:

enum
{
abPR_DISPLAY_NAME,
abrPR_EMAIL_ADDRESS,
abPropTagToCompare,
abNUM_COLS
};
const SizedSPropTagArray(abNUM_COLS, abCols) =
{
abNUM_COLS,
PR_DISPLAY_NAME_W,
PR_EMAIL_ADDRESS_W,
PropTagToCompare
};
LPSRestriction lpSRes = nullptr;
CreateANRRestriction(PR_ANR_W, szName, nullptr, &lpSRes); // szName = "diego"
pIMAPITABLE->SetColumns(LPSPropTagArray(&abCols), TBL_BATCH);
pIMAPITABLE->Restrict(lpSRes, NULL);
LPSRowSet pRows = nullptr;
pIMAPITABLE->QueryRows(1, NULL, &pRows);
pRows->aRow->lpProps[abPR_DISPLAY_NAME].Value.lpszW   // --> Diego Doñate
pRows->aRow->lpProps[abrPR_EMAIL_ADDRESS].Value.lpszW // --> /o=Company/ou=First Administrative Group/cn=Recipients/cn=diego.dnate@company.com

PR_DISPLAY_NAME_W和PR_EMAIL_ADDRESS_W都在"MAPITags.h"中

但是在那里我找不到PR_SMTP_ADDRESS,以达到我的情况:diego.donate@company.com(不是上一个字符串中的/cn值((

如何获取这些联系人的SMTP地址?

提前感谢, 迭 戈

我找到了它,我不得不在SizedSPropTagArray中使用十六进制值进行PR_SMTP_ADDRESS:

PROP_TAG(PT_UNICODE、0x39FE(

最新更新