Я бился головой ... Я не могу притворяться парнем из C ++ ...
TCHAR * pszUserName = userName.GetBuffer();
SID sid;
SecureZeroMemory(&sid, sizeof(sid));
SID_NAME_USE sidNameUse;
DWORD cbSid = sizeof(sid);
pLog->Log(_T("Getting the SID for user [%s]"), 1, userName);
if (!LookupAccountName(NULL, (LPSTR)pszUserName, &sid, &cbSid, NULL, 0, &sidNameUse))
{
pLog->Log(_T("Failed to look up user SID. Error code: %d"),1, GetLastError());
return _T("");
}
pLog->Log(_T("Converting binary SID to string SID"));
Сообщение «Получение SID для пользователя [x]» написано, но затем приложение вылетает. Я предполагаю, что это был LookupAccountName
звонок.
EDIT:
Упс userName
- это строка MFC