当前位置: 首页>>代码示例>>C++>>正文


C++ ScopedInterface::GetProps方法代码示例

本文整理汇总了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;
}
开发者ID:KevinMonnier,项目名称:zimbra-sources,代码行数:32,代码来源:MAPIAppointment.cpp


注:本文中的zimbra::util::ScopedInterface::GetProps方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。