Войдите в систему на имя пользователя или адрес электронной почты в Windows 8, используя C ++ и WinAPIs

На Windows 7, чтобы получить имя вошедшего в систему пользователя, я могу сделать это:

LPTSTR pUserName = NULL;
DWORD dwcbSzUserName = 0;

//'dwSessID' = user session ID
if(WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, dwSessID, WTSUserName, &pUserName, &dwcbSzUserName))
{
    //Got user name in 'pUserName'
}

if(pUserName)
    WTSFreeMemory(pUserName);

Но в Windows 8 он возвращает какое-то сокращенное имя, например, «john_000» когда фактическим именем пользователя является «John A. Doe».

Так как же найти имя вошедшего в систему пользователя (и, возможно, его электронную почту) в Windows 8 с C ++, используя WinAPI, как это показано на экране входа в систему?

Ответы на вопрос(1)

Ваш ответ на вопрос