Я хочу получить пользователям Office365 DisplayType с помощью Redemption MAPITable. но погашение MAPITable не дает правильных результатов для пользователей Office365 DisplayType.
Без MAPITable я могу найти его, но это очень медленный процесс.
Когда я использую Redemption MAPITable, результат отличается и возвращает одинаковый результат для всех пользователей.
где проблема? или есть другое свойство 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();}
Все пользователи имеют одинаковый результат. что неправильно.
Спасибо