Exemple #1
0
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;
}
Exemple #2
0
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;
}