[SYSDM] Simplify AddUserProfile() by using fixed size buffers for account and domain names and handle unknown and deleted accounts properly. Also fix fonts for asian languages.

This commit is contained in:
Eric Kohl 2019-03-23 20:57:02 +01:00
parent cc99d3ad5f
commit d4b638d7c8
27 changed files with 86 additions and 44 deletions

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Приложение за таблото за управление на уредбата"
IDS_WARNINITIALSIZE "Въведете числена стойност за началния размер на страниращия файл."

View file

@ -317,6 +317,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Systémový aplet kontrolních panelů"
IDS_WARNINITIALSIZE "Zadejte číselnou hodnotu pro počáteční velikost stránkovacího souboru."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -321,6 +321,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Obligatorisch"
IDS_USERPROFILE_CONFIRM_DELETE "Soll das Profil für folgenden Benutzer gelöscht werden: %s?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Löschen bestätigen"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Konto unbekannt"
IDS_USERPROFILE_ACCOUNT_DELETED "Konto gelöscht"
IDS_USERPROFILE_TYPE_TEXT "Soll das servergespeicherte Profil oder die lokal gespeicherte Kopie davon vom Betriebssystem verwendet werden, wenn sich %s am Computer anmeldet?"
IDS_MESSAGEBOXTITLE "Systemsteuerungsoption ""System"""
IDS_WARNINITIALSIZE "Geben Sie einen numerischen Wert für die Anfangsgröße der Auslagerungsdatei an."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -314,6 +314,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Applet de sistema del Panel de control"
IDS_WARNINITIALSIZE "Introduzca el tamaño inicial del archivo de paginación."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Entrez une valeur numérique pour la taille initiale du fichier d'échange."

View file

@ -314,6 +314,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -314,6 +314,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Applet di sistema del pannello di controllo"
IDS_WARNINITIALSIZE "Immettere la dimensione iniziale del file di paging."

View file

@ -103,7 +103,7 @@ END
IDD_HARDWAREPROFILE DIALOGEX 0, 0, 212, 188
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "General"
FONT 8, "MS Shell Dlg"
FONT 9, "MS UI Gothic"
BEGIN
ICON IDI_HARDPROF, IDC_STATIC, 10, 10, 18, 20, SS_ICON
LTEXT "", IDC_HWPPROP_PROFILE, 48, 16, 150, 8
@ -168,7 +168,7 @@ END
IDD_USERPROFILE_TYPE DIALOGEX 0, 0, 225, 103
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Change Profile Type"
FONT 8, "MS Shell Dlg"
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "", IDC_USERPROFILE_TYPE_TEXT, 7, 11, 206, 28
AUTORADIOBUTTON "&Roaming profile", IDC_USERPROFILE_TYPE_ROAMING, 60, 49, 145, 10
@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -321,6 +321,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System"
IDS_WARNINITIALSIZE "Wprowadź wielkość dla początkowego rozmiaru pliku stronicowania."

View file

@ -321,6 +321,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Specificare valori de sistem"
IDS_WARNINITIALSIZE "Introduceți o valoare numerică pentru dimensiunea inițială a fișierului de paginare."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Обязательный"
IDS_USERPROFILE_CONFIRM_DELETE "Вы действительно хотите удалить профиль пользователя %s?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Подтверждение удаления"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Панель управления системы"
IDS_WARNINITIALSIZE "Введите числовое значение исходного размера файла подкачки."

View file

@ -320,6 +320,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -312,6 +312,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Sistemi i kontrollit panelit programeve"
IDS_WARNINITIALSIZE "Futni një vlerë numerike për madhësinë fillestare e faqeve të dokumentave."

View file

@ -314,6 +314,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "System control panel applet"
IDS_WARNINITIALSIZE "Enter a numeric value for the initial size of the paging file."

View file

@ -314,6 +314,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Dizge Denetim Masası Uygulaması"
IDS_WARNINITIALSIZE "Sayfalama kütüğünün başlangıç büyüklüğü için bir sayılık değer giriniz."

View file

@ -320,6 +320,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Обов'язковий"
IDS_USERPROFILE_CONFIRM_DELETE "Ви дійсно хочете видалити профіль %s?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Підтвердження видалення"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "Елемент панелі керування"
IDS_WARNINITIALSIZE "Введіть числове значення для початкового розміру файлу довантаження."

View file

@ -171,7 +171,7 @@ END
IDD_USERPROFILE_TYPE DIALOGEX 0, 0, 225, 103
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Change Profile Type"
FONT 8, "MS Shell Dlg"
FONT 9, "宋体"
BEGIN
LTEXT "", IDC_USERPROFILE_TYPE_TEXT, 7, 11, 206, 28
AUTORADIOBUTTON "&Roaming profile", IDC_USERPROFILE_TYPE_ROAMING, 60, 49, 145, 10
@ -315,6 +315,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "系统控制面板小程序"
IDS_WARNINITIALSIZE "为分页文件的初始大小输入一个数字值。"

View file

@ -106,7 +106,7 @@ END
IDD_HARDWAREPROFILE DIALOGEX 0, 0, 212, 188
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "一般"
FONT 8, "新細明體"
FONT 9, "新細明體"
BEGIN
ICON IDI_HARDPROF, IDC_STATIC, 10, 10, 18, 20, SS_ICON
LTEXT "", IDC_HWPPROP_PROFILE, 48, 16, 150, 8
@ -171,7 +171,7 @@ END
IDD_USERPROFILE_TYPE DIALOGEX 0, 0, 225, 103
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Change Profile Type"
FONT 8, "MS Shell Dlg"
FONT 9, "新細明體"
BEGIN
LTEXT "", IDC_USERPROFILE_TYPE_TEXT, 7, 11, 206, 28
AUTORADIOBUTTON "&Roaming profile", IDC_USERPROFILE_TYPE_ROAMING, 60, 49, 145, 10
@ -315,6 +315,8 @@ BEGIN
IDS_USERPROFILE_MANDATORY "Mandatory"
IDS_USERPROFILE_CONFIRM_DELETE "Are you sure you want to delete %s's profile?"
IDS_USERPROFILE_CONFIRM_DELETE_TITLE "Confirm Delete"
IDS_USERPROFILE_ACCOUNT_UNKNOWN "Account Unknown"
IDS_USERPROFILE_ACCOUNT_DELETED "Account Deleted"
IDS_USERPROFILE_TYPE_TEXT "When %s logs onto this computer, should the operating system use the roaming profile or just the locally cached copy of the roaming profile."
IDS_MESSAGEBOXTITLE "系統控制面板小程序"
IDS_WARNINITIALSIZE "爲分頁文件的初始大小輸入一個數字值。"

View file

@ -38,7 +38,9 @@
#define IDS_USERPROFILE_MANDATORY 79
#define IDS_USERPROFILE_CONFIRM_DELETE 80
#define IDS_USERPROFILE_CONFIRM_DELETE_TITLE 81
#define IDS_USERPROFILE_TYPE_TEXT 82
#define IDS_USERPROFILE_ACCOUNT_UNKNOWN 82
#define IDS_USERPROFILE_ACCOUNT_DELETED 83
#define IDS_USERPROFILE_TYPE_TEXT 84
#define IDS_MESSAGEBOXTITLE 100
#define IDS_WARNINITIALSIZE 101

View file

@ -200,8 +200,8 @@ AddUserProfile(
_In_ HKEY hProfileKey)
{
PPROFILEDATA pProfileData = NULL;
PWSTR pszAccountName = NULL;
PWSTR pszDomainName = NULL;
WCHAR szAccountName[128], szDomainName[128];
WCHAR szNameBuffer[256];
SID_NAME_USE Use;
DWORD dwAccountNameSize, dwDomainNameSize;
DWORD dwProfileData;
@ -213,43 +213,39 @@ AddUserProfile(
&pSid))
return;
dwAccountNameSize = 0;
dwDomainNameSize = 0;
LookupAccountSidW(NULL,
pSid,
NULL,
&dwAccountNameSize,
NULL,
&dwDomainNameSize,
&Use);
pszDomainName = HeapAlloc(GetProcessHeap(),
0,
dwDomainNameSize * sizeof(WCHAR));
if (pszDomainName == NULL)
goto done;
pszAccountName = HeapAlloc(GetProcessHeap(),
0,
dwAccountNameSize * sizeof(WCHAR));
if (pszAccountName == NULL)
goto done;
dwAccountNameSize = ARRAYSIZE(szAccountName);
dwDomainNameSize = ARRAYSIZE(szDomainName);
if (!LookupAccountSidW(NULL,
pSid,
pszAccountName,
szAccountName,
&dwAccountNameSize,
pszDomainName,
szDomainName,
&dwDomainNameSize,
&Use))
goto done;
{
/* Unknown account */
LoadStringW(hApplet, IDS_USERPROFILE_ACCOUNT_UNKNOWN, szNameBuffer, ARRAYSIZE(szNameBuffer));
}
else
{
/* Show only the user accounts */
if (Use != SidTypeUser)
goto done;
/* Show only the user accounts */
if (Use != SidTypeUser)
goto done;
if (szAccountName[0] == UNICODE_NULL)
{
/* Deleted account */
LoadStringW(hApplet, IDS_USERPROFILE_ACCOUNT_DELETED, szNameBuffer, ARRAYSIZE(szNameBuffer));
}
else
{
/* Normal account */
wsprintf(szNameBuffer, L"%s\\%s", szDomainName, szAccountName);
}
}
dwProfileData = sizeof(PROFILEDATA) +
((wcslen(pszDomainName) + wcslen(pszAccountName) + 2) * sizeof(WCHAR));
((wcslen(szNameBuffer) + 1) * sizeof(WCHAR));
pProfileData = HeapAlloc(GetProcessHeap(),
0,
dwProfileData);
@ -261,7 +257,7 @@ AddUserProfile(
ptr = (PWSTR)((ULONG_PTR)pProfileData + sizeof(PROFILEDATA));
pProfileData->pszFullName = ptr;
wsprintf(pProfileData->pszFullName, L"%s\\%s", pszDomainName, pszAccountName);
wcscpy(pProfileData->pszFullName, szNameBuffer);
memset(&lvi, 0x00, sizeof(lvi));
lvi.mask = LVIF_TEXT | LVIF_STATE | LVIF_PARAM;
@ -271,12 +267,6 @@ AddUserProfile(
ListView_InsertItem(hwndListView, &lvi);
done:
if (pszDomainName != NULL)
HeapFree(GetProcessHeap(), 0, pszDomainName);
if (pszAccountName != NULL)
HeapFree(GetProcessHeap(), 0, pszAccountName);
if (pSid != NULL)
LocalFree(pSid);
}