Office365 用户(显示类型)显示类型使用表

Office365 用户(显示类型)显示类型使用表,office365,mapi,outlook-redemption,Office365,Mapi,Outlook Redemption,我想使用表获取Office365用户的DisplayType。 但是,对于Office365用户的DisplayType,该表没有给出正确的结果 没有MAPITable,我可以找到它,但这是一个非常缓慢的过程 当我使用MapTable时,结果是不同的,并为所有用户返回相同的结果 问题在哪里?或者是否有其他MAPI属性可以找到它 我正在使用的两个过程是: set Session = CreateObject("Redemption.RDOSession"); set AddrLi

我想使用表获取Office365用户的DisplayType。 但是,对于Office365用户的DisplayType,该表没有给出正确的结果

没有MAPITable,我可以找到它,但这是一个非常缓慢的过程

当我使用MapTable时,结果是不同的,并为所有用户返回相同的结果

问题在哪里?或者是否有其他MAPI属性可以找到它

我正在使用的两个过程是:

set Session = CreateObject("Redemption.RDOSession");
         set AddrList = Session.Addressbook.Gal;
         set AddrEntries = AddrList.AddressEntries;
         set AddrEntry  = AddrEntries.GetFirst;
         int k =0;
         while (AddrEntry!= NULL)
         { k= AddrEntry.DisplayType;//Result is DT_MAILUSER(0) and DT_REMOTE_MAILUSER(6)
           AddrEntry = AddrEntries.GetNext();} 

         Above method give the correct result verify by outlookspy.            

        _IMAPITable        table;
         table = AddrEntries.GetMAPITable();
         _RecordsetPtr pRstAuthors("ADODB.Recordset");
         pRstAuthors = table.ExecSQL(_T("SELECT \"http://schemas.microsoft.com/mapi/proptag/0x39000003\" from list"));
         int k=0;
         while (!pRstAuthors->EndOfFile)
         { k = pRstAuthors->GetFields()->Item[0]->GetValue();//Result DT_MAILUSER(0)for All User
           k = pRstAuthors->GetFields()->Item[0]->Value.intVal;//Result DT_MAILUSER(0) for All User
           pRstAuthors->MoveNext();}
所有用户都得到相同的结果。这是错误的


谢谢

有什么问题吗?这些属性在MAPI表中不可用吗?你们能在OutlookSpy(GAL地址簿容器的GetContentsTable选项卡)中看到它们吗?谢谢Dmitry的回复。问题是,使用mapi表,我无法区分inDT_MAILUSER(0)和DT_REMOTE_MAILUSER(6),因为我得到了相同的结果0,outlook spy将其区分为o和6。您好,Dmitry我想使用MAPI表区分office 365活动用户和非活动用户,以便使用哪个MAPI属性来确定office 365用户是活动用户还是非活动用户。感谢OutlookSpy是在GetContentsTable选项卡中还是在打开地址etnry时显示DT_MAILUSER还是DT_REMOTE_MAILUSER?在前一种情况下,调用ExecSQL的代码应该显示相同的结果。感谢Dmitry的回复。我在outlookspy中签入如下内容:IAddrBook->ResolveName->CallIDdrBook::ResolveName->显示更多名称->然后选择邮箱->然后检查PR_DISPLAY_TYPE属性(然后值为0和6),但如果我按照与您不同的路径:IAddrBook->打开容器->全局地址列表->(IAB Cintainer全局地址列表)GetContentsTable->然后选择mailbox->然后检查PR_DISPLAY_TYPE属性(两个邮箱的值都是0)。哪个是正确的?如何区分office 365活动用户和非活动用户?