PGENERAL_GROUP_DATA pGroupData)
{
PLOCALGROUP_INFO_1 groupInfo = NULL;
- PLOCALGROUP_MEMBERS_INFO_1 membersInfo = NULL;
+ PLOCALGROUP_MEMBERS_INFO_2 membersInfo = NULL;
DWORD dwRead;
DWORD dwTotal;
DWORD_PTR resumeHandle = 0;
NetApiBufferFree(groupInfo);
/* Set group members */
- NetLocalGroupGetMembers(NULL, pGroupData->szGroupName, 1, (LPBYTE*)&membersInfo,
+ NetLocalGroupGetMembers(NULL, pGroupData->szGroupName, 2, (LPBYTE*)&membersInfo,
MAX_PREFERRED_LENGTH, &dwRead, &dwTotal,
&resumeHandle);
{
ZeroMemory(&lvi, sizeof(lvi));
lvi.mask = LVIF_TEXT | LVIF_STATE | LVIF_IMAGE;
- lvi.pszText = membersInfo[i].lgrmi1_name;
lvi.state = 0;
- if (membersInfo[i].lgrmi1_sidusage == SidTypeGroup ||
- membersInfo[i].lgrmi1_sidusage == SidTypeWellKnownGroup)
+ if (membersInfo[i].lgrmi2_sidusage == SidTypeGroup ||
+ membersInfo[i].lgrmi2_sidusage == SidTypeWellKnownGroup)
{
lvi.iImage = 0;
}
- else if (membersInfo[i].lgrmi1_sidusage == SidTypeUser)
+ else if (membersInfo[i].lgrmi2_sidusage == SidTypeUser)
{
/* FIXME: handle locked user properly! */
lvi.iImage = 1;
}
- if (membersInfo[i].lgrmi1_sidusage == SidTypeWellKnownGroup)
+ if (membersInfo[i].lgrmi2_sidusage == SidTypeWellKnownGroup)
{
TCHAR szSid[256];
- GetTextSid(membersInfo[i].lgrmi1_sid, szSid);
+ GetTextSid(membersInfo[i].lgrmi2_sid, szSid);
wsprintf(szGroupName,
TEXT("%s (%s)"),
- membersInfo[i].lgrmi1_name,
+ membersInfo[i].lgrmi2_domainandname,
szSid);
lvi.pszText = szGroupName;
}
+ else
+ {
+ LPWSTR ptr;
+
+ ptr = wcschr(membersInfo[i].lgrmi2_domainandname, L'\\');
+ if (ptr != NULL)
+ {
+ lvi.pszText = ++ptr;
+ }
+ else
+ {
+ lvi.pszText = membersInfo[i].lgrmi2_domainandname;
+ }
+ }
(void)ListView_InsertItem(hwndLV, &lvi);
}