本文整理汇总了C++中zimbra::util::ScopedInterface::GetProps方法的典型用法代码示例。如果您正苦于以下问题:C++ ScopedInterface::GetProps方法的具体用法?C++ ScopedInterface::GetProps怎么用?C++ ScopedInterface::GetProps使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zimbra::util::ScopedInterface
的用法示例。
在下文中一共展示了ScopedInterface::GetProps方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateAttendeeFromEntryId
HRESULT MAPIAppointment::UpdateAttendeeFromEntryId(Attendee &pAttendee,
SBinary &eid)
{
Zimbra::Util::ScopedInterface<IMailUser> pUser;
ULONG ulObjType = 0;
if(!m_pAddrBook)
return E_FAIL;
HRESULT hr = m_pAddrBook->OpenEntry(eid.cb, (LPENTRYID)eid.lpb, NULL, MAPI_BEST_ACCESS,
&ulObjType, (LPUNKNOWN *)pUser.getptr());
if (FAILED(hr) || (ulObjType != MAPI_MAILUSER))
return E_FAIL;
SizedSPropTagArray(3, tags) = {
3, { PR_ADDRTYPE_W, PR_DISPLAY_NAME_W, PR_EMAIL_ADDRESS_W }
};
ULONG cVals = 0;
Zimbra::Util::ScopedBuffer<SPropValue> pVals;
hr = pUser->GetProps((LPSPropTagArray) & tags, MAPI_UNICODE, &cVals, pVals.getptr());
if (FAILED(hr))
return hr;
// no smtp address, bail
if ((pVals->ulPropTag != PR_ADDRTYPE_W) || (wcsicmp(pVals->Value.lpszW, L"SMTP") != 0))
return E_FAIL;
if ((pVals[1].ulPropTag == PR_DISPLAY_NAME_W) && ((pAttendee.nam == L"")))
pAttendee.nam = pVals[1].Value.lpszW;
if ((pVals[2].ulPropTag == PR_EMAIL_ADDRESS_W) && (pAttendee.addr == L""))
pAttendee.addr=pVals[2].Value.lpszW;
return S_OK;
}