【问题标题】:How we can achieve the Hierarchy in Outlook Address Book我们如何在 Outlook 通讯簿中实现层次结构
【发布时间】:2020-10-13 23:21:33
【问题描述】:

We want to achieve something like this in Outlook Address Book dialog Click Here

我们如何在 Outlook 通讯簿对话框中实现层次结构?

【问题讨论】:

    标签: outlook outlook-addin mapi


    【解决方案1】:

    您的容器必须公开PR_DEPTH 属性。

    【讨论】:

    • 我们正在使用 Microsoft 的 CONTAB32.DLL OpenEntry 函数中的通讯簿提供程序。通过使用它,我们能够打开 Contabs 不同的文件夹,如“全局地址列表”和自定义文件夹等。所以我有下面的代码,它正在打开 contab 根文件夹和子文件夹。在下面的代码中,我能够检索 PR_DEPTH 属性,但不能用我的自定义值将其设置回来。您能否指出以下代码中的问题或您有任何示例代码如何做到这一点?
    • Zimbra::Util::ScopedInterface lpRootCont; HRESULT hResult = lpAddrBook->OpenEntry(0, NULL, NULL, 0, &ulObjType, (LPUNKNOWN *)lpRootCont.getptr()); Zimbra::Util::ScopedInterface lpRootHier; lpRootCont->GetHierarchyTable(fMapiUnicode | CONVENIENT_DEPTH, (LPMAPITABLE *)lpRootHier.getref()); hResult = lpRootHier->SetColumns((LPSPropTagArray) & tagsContabHier, 0); hResult = lpRootHier->QueryRows(1, 0, pContabEntry.getptr()); while (SUCCEEDED(hResult) && 0 != pContabEntry->cRows) {
    • while (SUCCEEDED(hResult) && 0 != pContabEntry->cRows) { LPSPropValue lpEntryProps = pContabEntry->aRow[0].lpProps; SPropValue 道具; prop.ulPropTag = PR_DEPTH; prop.Value.l = 2; // 设置 PR_DEPTH 属性 hResult = HrSetOneProp(spContainer.get(), &prop);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多