bool UserUtilities::ChangeGroupInfo(CString strGroupName, Group* group) { LOCALGROUP_INFO_1* groupInfo = new LOCALGROUP_INFO_1(); groupInfo->lgrpi1_name = group->m_StrGroupName.GetBuffer(); groupInfo->lgrpi1_comment = group->m_StrDescription.GetBuffer(); int res = NetLocalGroupSetInfo(NULL, strGroupName, 1, (LPBYTE)groupInfo, NULL); if(res == 0) return true; return false; }
static BOOL OnEndLabelEdit(LPNMLVDISPINFO pnmv) { TCHAR szOldGroupName[UNLEN]; TCHAR szNewGroupName[UNLEN]; LOCALGROUP_INFO_0 lgrpi0; NET_API_STATUS status; /* Leave, if there is no valid listview item */ if (pnmv->item.iItem == -1) return FALSE; /* Get the new user name */ ListView_GetItemText(pnmv->hdr.hwndFrom, pnmv->item.iItem, 0, szOldGroupName, UNLEN); /* Leave, if the user canceled the edit action */ if (pnmv->item.pszText == NULL) return FALSE; /* Get the new user name */ lstrcpy(szNewGroupName, pnmv->item.pszText); /* Leave, if the user name was not changed */ if (lstrcmp(szOldGroupName, szNewGroupName) == 0) return FALSE; /* Check the group name for illegal characters */ if (!CheckAccountName(NULL, 0, szNewGroupName)) return FALSE; /* Change the user name */ lgrpi0.lgrpi0_name = szNewGroupName; status = NetLocalGroupSetInfo(NULL, szOldGroupName, 0, (LPBYTE)&lgrpi0, NULL); if (status != NERR_Success) { TCHAR szText[256]; wsprintf(szText, TEXT("Error: %u"), status); MessageBox(NULL, szText, TEXT("NetLocalGroupSetInfo"), MB_ICONERROR | MB_OK); return FALSE; } /* Update the listview item */ ListView_SetItemText(pnmv->hdr.hwndFrom, pnmv->item.iItem, 0, szNewGroupName); return TRUE; }