Directory Services |
The following code example contains a function that removes a member from a group.
//////////////////////////////////////////////////////////////////////////////////////////////////// /* 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; }