C++ MAPI。管理 PR_ENTRYID 用户和通讯组列表
C++ MAPI. Manage PR_ENTRYID for Users and Distribution lists
在我的 C++ 应用程序中,我有一个带有联系人的 IMAPITable。
在方法 1 中,我搜索联系人并获取联系人属性,例如 PR_DISPLAY_NAME_W ir PR_ENTRYID。
在方法 2 中,我必须收到一个 ID,我必须打开此条目才能获得另一个 属性。例如,对于联系人,我需要 PR_ADDRTYPE_W,对于通讯组列表,我需要其所有成员的地址。
PR_ENTRYID 是识别 contact/distList(1 中的 return id)并在需要时轻松找到 (2) 的最佳方式吗?我想是的,因为它是一个独特的价值
我看到 pAddressBook->OpenEntry() 可以帮助我,将 entryID 作为参数传递。
首先,它是正确的吗?我可以直接从地址簿中找到联系人(带有 entryId)吗?在我的 AB 中有 10 个列表,联系人在其中之一
我的问题是我不确定如何管理这个 ID,在方法 1 中 return 我有什么:
pRows->aRow->lpProps[abPR_ENTRYID]
以及如何在我需要的 OpenEntry 方法 2 中使用它
ULONG cbEntryID
LPENTRYID lpEntryID
hr = pAddressBook->OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface, // nullptr
ULONG ulFlags, // 0L
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk // In my case
);
关于 returned 值 (lppUnk),对于联系人,它是一个 IMailUser*,对于分发列表,它是一个 IDistList*?
恐怕我此刻有点迷茫...
有什么帮助吗?
谢谢,
迭戈
上面代码中的 lpulObjType
(out) 参数将告诉您返回的对象类型是什么 - MAPI_MAILUSER
vs MAPI_DISTLIST
.
在我的 C++ 应用程序中,我有一个带有联系人的 IMAPITable。
在方法 1 中,我搜索联系人并获取联系人属性,例如 PR_DISPLAY_NAME_W ir PR_ENTRYID。 在方法 2 中,我必须收到一个 ID,我必须打开此条目才能获得另一个 属性。例如,对于联系人,我需要 PR_ADDRTYPE_W,对于通讯组列表,我需要其所有成员的地址。
PR_ENTRYID 是识别 contact/distList(1 中的 return id)并在需要时轻松找到 (2) 的最佳方式吗?我想是的,因为它是一个独特的价值 我看到 pAddressBook->OpenEntry() 可以帮助我,将 entryID 作为参数传递。
首先,它是正确的吗?我可以直接从地址簿中找到联系人(带有 entryId)吗?在我的 AB 中有 10 个列表,联系人在其中之一
我的问题是我不确定如何管理这个 ID,在方法 1 中 return 我有什么:
pRows->aRow->lpProps[abPR_ENTRYID]
以及如何在我需要的 OpenEntry 方法 2 中使用它
ULONG cbEntryID
LPENTRYID lpEntryID
hr = pAddressBook->OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface, // nullptr
ULONG ulFlags, // 0L
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk // In my case
);
关于 returned 值 (lppUnk),对于联系人,它是一个 IMailUser*,对于分发列表,它是一个 IDistList*?
恐怕我此刻有点迷茫...
有什么帮助吗?
谢谢, 迭戈
lpulObjType
(out) 参数将告诉您返回的对象类型是什么 - MAPI_MAILUSER
vs MAPI_DISTLIST
.