0
C++ Say, если я получаю SID пользователя с помощью следующего API:Как скопировать SID для хранения с
TOKEN_USER* pTU = (TOKEN_USER*)pbytes;
DWORD dwSize;
GetTokenInformation(hToken, TokenUser, pTU, dwSize, &dwSize);
pTU->User.Sid; //Contains the SID I need
Мне нужно хранить этот SID для последующего использования/сравнения в программе. Но как его скопировать?
Если я это сделать:
SID globalSIDStorage;
globalSIDStorage = *pTU->User.Sid;
Я получаю сообщение об ошибке, что:
ошибка C2679: бинарный '=': ни один оператор не найден, который принимает правостороннюю операнд типа ' PSID»(или нет приемлемой конверсии.
Спасибо. Проблема здесь заключается в знании длины SID. Есть ли API для этого? Также из моего грубого расчета, если я храню SID в виде двоичного массива, он будет максимальным в 68 байт. Это может быть больше? – ahmd0
ОК, неважно, это 'GetLengthSid': http://msdn.microsoft.com/en-us/library/windows/desktop/aa446642(v=vs.85).aspx и максимальный размер SID находится в' SECURITY_MAX_SID_SIZE' – ahmd0