Beispielcode zum Entfernen eines Mitglieds aus einer Gruppe
Das folgende Codebeispiel enthält eine Funktion, die ein Element aus einer Gruppe entfernt.
////////////////////////////////////////////////////////////////////////////////////////////////////
/* RemoveMemberFromGroup() - Removes the passed directory object from the membership of passed group
Parameters
IADsGroup * pGroup - Group to remove the member from
IADs* pIADsNewMember - Object to remove.
Object can be a user, contact, or group.
*/
HRESULT RemoveMemberFromGroup(IADsGroup * pGroup, IADs* pIADsNewMember)
{
HRESULT hr = E_INVALIDARG;
if ((!pGroup)||(!pIADsNewMember))
return hr;
// Use the IADs::get_ADsPath() member to get the ADsPath
// When the ADsPath string is returned, all that is required to
// remove the member from the group, is to call the
// IADsGroup::Remove() method, passing in the ADsPath string.
// Query the member for its AdsPath
// This is a fully qualified LDAP path to the object to remove.
BSTR bsNewMemberPath;
hr = pIADsNewMember->get_ADsPath(&bsNewMemberPath);
if (SUCCEEDED(hr))
{
// Use the IADsGroup interface to remove the member.
// Pass the LDAP path to the
// member to the IADsGroup::Remove() method
hr = pGroup->Remove(bsNewMemberPath);
// Free the string returned from IADs::get_ADsPath()
SysFreeString(bsNewMemberPath);
}
return hr;
}