本文整理汇总了C++中zimbra::util::ScopedInterface::DeleteDSObject方法的典型用法代码示例。如果您正苦于以下问题:C++ ScopedInterface::DeleteDSObject方法的具体用法?C++ ScopedInterface::DeleteDSObject怎么用?C++ ScopedInterface::DeleteDSObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zimbra::util::ScopedInterface
的用法示例。
在下文中一共展示了ScopedInterface::DeleteDSObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DeleteExchangeMailBox
HRESULT ExchangeAdmin::DeleteExchangeMailBox(LPCWSTR lpwstrMailBox, LPCWSTR lpwstrlogonuser,
LPCWSTR lpwstrLogonUsrPwd)
{
HRESULT hr;
wstring UserDN;
wstring LegacyName;
Zimbra::Util::ScopedInterface<IDirectoryObject> pDirContainer;
try
{
Zimbra::MAPI::Util::GetUserDNAndLegacyName(m_strServer.c_str(), lpwstrlogonuser,
lpwstrLogonUsrPwd, UserDN, LegacyName);
}
catch (Zimbra::MAPI::ExchangeAdminException &ex)
{
dloge("ExchangeAdmin::DeleteExchangeMailBox ExchangeAdminException exception: %S", ex.Description().c_str());
throw;
}
catch (Zimbra::MAPI::Util::MapiUtilsException &ex)
{
dloge("ExchangeAdmin::DeleteExchangeMailBox MapiUtilsException exception: %S", ex.Description().c_str());
throw;
}
wstring twtsrlogonuserDN = UserDN;
size_t nPos = twtsrlogonuserDN.find(_T("DC="), 0);
wstring wstrServerDN = twtsrlogonuserDN.substr(nPos);
wstring wstrADSPath = _T("LDAP://CN=Users,") + wstrServerDN;
// get dir container
if (FAILED(hr = ADsOpenObject(wstrADSPath.c_str(), lpwstrlogonuser, lpwstrLogonUsrPwd,
ADS_SECURE_AUTHENTICATION, IID_IDirectoryObject, (void **)pDirContainer.getptr())))
throw ExchangeAdminException(hr, L"DeleteExchangeMailBox(): ADsOpenObject Failed.",
ERR_DELETE_MBOX, __LINE__, __FILE__);
wstring mailboxcn = L"CN=";
mailboxcn += lpwstrMailBox;
hr = pDirContainer->DeleteDSObject((LPWSTR)mailboxcn.c_str());
return hr;
}