19#define VALID_GENERAL_FLAGS (UF_PASSWD_CANT_CHANGE | UF_DONT_EXPIRE_PASSWD | UF_ACCOUNTDISABLE | UF_LOCKOUT)
58 for (
i = 0;
i < 26;
i++)
128 ERR(
"NetUserSetInfo failed. Status: %lu Index: %lu",
status, dwIndex);
289 wsprintf(szText,
TEXT(
"Do you really want to remove the user \"%s\" from the group \"%s\"?"),
297 3, (
LPBYTE)&memberInfo, 1);
363 &totalentries, &resume_handle);
367 for (
i = 0;
i < entriesread;
i++)
369 memset(&lvi, 0x00,
sizeof(lvi));
371 lvi.pszText =
pBuffer[
i].lgrpi1_name;
624 if (pUserData->pGroupData)
717 ERR(
"NetUserSetInfo failed. Status: %lu Index: %lu",
status, dwIndex);
768 pUserData->dwPasswordExpired = !pUserData->dwPasswordExpired;
823 psp->lParam = (
LPARAM)pszUser;
850 psh.hwndParent = hwndDlg;
853 psh.pszCaption = szUserName;
#define IDD_USER_ADD_MEMBERSHIP
#define IDC_USER_PROFILE_LOCAL_PATH
#define IDC_USER_PROFILE_DRIVE
#define IDC_USER_GENERAL_FULL_NAME
#define IDC_USER_MEMBERSHIP_REMOVE
#define IDC_USER_PROFILE_REMOTE_PATH
#define IDC_USER_GENERAL_CANNOT_CHANGE
#define IDC_USER_GENERAL_NAME
#define IDC_USER_PROFILE_SCRIPT
#define IDC_USER_ADD_MEMBERSHIP_LIST
#define IDC_USER_GENERAL_DESCRIPTION
#define IDC_USER_GENERAL_FORCE_CHANGE
#define IDC_USER_GENERAL_DISABLED
#define IDC_USER_GENERAL_NEVER_EXPIRES
#define IDC_USER_PROFILE_REMOTE
#define IDD_USER_MEMBERSHIP
#define IDC_USER_MEMBERSHIP_LIST
#define IDC_USER_PROFILE_LOCAL
#define IDC_USER_GENERAL_LOCKED
#define IDC_USER_MEMBERSHIP_ADD
#define IDC_USER_PROFILE_PATH
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
#define HeapFree(x, y, z)
NET_API_STATUS WINAPI NetApiBufferFree(LPVOID Buffer)
NET_API_STATUS WINAPI NetUserGetInfo(LPCWSTR servername, LPCWSTR username, DWORD level, LPBYTE *bufptr)
NET_API_STATUS WINAPI NetUserGetLocalGroups(LPCWSTR servername, LPCWSTR username, DWORD level, DWORD flags, LPBYTE *bufptr, DWORD prefmaxlen, LPDWORD entriesread, LPDWORD totalentries)
NET_API_STATUS WINAPI NetUserSetInfo(LPCWSTR servername, LPCWSTR username, DWORD level, LPBYTE buf, LPDWORD parm_err)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define UF_ACCOUNTDISABLE
#define UF_DONT_EXPIRE_PASSWD
#define UF_PASSWD_CANT_CHANGE
#define MAX_PREFERRED_LENGTH
NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPCWSTR servername, LPCWSTR groupname, DWORD level, LPBYTE buf, DWORD totalentries)
NET_API_STATUS WINAPI NetLocalGroupEnum(LPCWSTR servername, DWORD level, LPBYTE *bufptr, DWORD prefmaxlen, LPDWORD entriesread, LPDWORD totalentries, PDWORD_PTR resumehandle)
NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPCWSTR servername, LPCWSTR groupname, DWORD level, LPBYTE buf, DWORD totalentries)
#define UNREFERENCED_PARAMETER(P)
#define PropSheet_Changed(d, w)
#define PSH_PROPSHEETPAGE
#define ListView_InsertItem(hwnd, pitem)
#define ListView_InsertColumn(hwnd, iCol, pcol)
#define ListView_SetImageList(hwnd, himl, iImageList)
#define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_)
#define ListView_GetNextItem(hwnd, i, flags)
#define LVS_EX_FULLROWSELECT
#define ListView_GetItemCount(hwnd)
#define ListView_SetExtendedListViewStyle(hwndLV, dw)
#define ListView_GetSelectedCount(hwndLV)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ListView_DeleteAllItems(hwnd)
#define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_)
#define ImageList_AddIcon(himl, hicon)
#define ListView_DeleteItem(hwnd, i)
LPWSTR lgrmi3_domainandname
PLOCALGROUP_USERS_INFO_0 pGroupData
LPWSTR usri3_home_dir_drive
DWORD usri3_password_expired
static VOID InitUserPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc, LPTSTR pszUser)
static VOID InitUserGroupsList(HWND hwndDlg)
static BOOL OnUserPropSheetNotify(HWND hwndDlg, PMEMBERSHIP_USER_DATA pUserData, LPARAM lParam)
static BOOL SetUserGeneralData(HWND hwndDlg, PGENERAL_USER_DATA pUserData)
static VOID UpdateUserOptions(HWND hwndDlg, PGENERAL_USER_DATA pUserData, BOOL bInit)
struct _MEMBERSHIP_USER_DATA * PMEMBERSHIP_USER_DATA
INT_PTR CALLBACK UserMembershipPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID GetUserGeneralData(HWND hwndDlg, PGENERAL_USER_DATA pUserData)
static VOID AddGroupToUser(HWND hwndDlg, PMEMBERSHIP_USER_DATA pUserData)
INT_PTR CALLBACK UserProfilePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID RemoveGroupFromUser(HWND hwndDlg, PMEMBERSHIP_USER_DATA pUserData)
static VOID GetUserMembershipData(HWND hwndDlg, PMEMBERSHIP_USER_DATA pUserData)
INT_PTR CALLBACK AddGroupToUserDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL UserProperties(HWND hwndDlg)
struct _PROFILE_USER_DATA PROFILE_USER_DATA
#define VALID_GENERAL_FLAGS
struct _GENERAL_USER_DATA * PGENERAL_USER_DATA
INT_PTR CALLBACK UserGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL AddSelectedGroupsToUser(HWND hwndDlg, PMEMBERSHIP_USER_DATA pUserData)
struct _PROFILE_USER_DATA * PPROFILE_USER_DATA
static VOID GetUserProfileData(HWND hwndDlg, PPROFILE_USER_DATA pUserData)
static BOOL SetUserProfileData(HWND hwndDlg, PPROFILE_USER_DATA pUserData)
struct _GENERAL_USER_DATA GENERAL_USER_DATA
struct _MEMBERSHIP_USER_DATA MEMBERSHIP_USER_DATA
LPTSTR GetDlgItemTextAlloc(HWND hwndDlg, INT nDlgItem)
LPTSTR GetComboBoxLBTextAlloc(HWND hwndDlg, INT nDlgItem, INT nIndex)
BOOL WINAPI CheckDlgButton(_In_ HWND, _In_ int, _In_ UINT)
#define CB_FINDSTRINGEXACT
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI CheckRadioButton(_In_ HWND, _In_ int, _In_ int, _In_ int)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI DestroyIcon(_In_ HICON)