![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Kostt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 8.1.2006 Где: Томск Репутация: нет Всего: 3 |
Здравтвуйте!
Нужно получить Security ID ( SID ) пользователя, зная строковое представление этого ID. Функция ConvertStringSidToSid, которой предлагают пользоваться возвращает указатель на какой-то невнятный PSID, который суть PVOID. Как из него сделать SID или (еще лучше) инициализировать на его основе экземпляр CSID? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
В описании функции ясно написано:
PSID и есть указатель на SID. Но, поскольку, прямой доступ к SID не рекомендуется, потому что это "структура переменной длины", PSID объявлен как VOID*. Т.е. по сути - это хандл, и пользоваться им надо как хандлом, т.е. передавать в соответствующие функции для получения нужной инфы - все они примимают PSID. Если CSID - это класс CSid - попробуй передать в конструктор этот PSID с явным преобразованием. -------------------- ... |
|||
|
||||
| Kostt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 8.1.2006 Где: Томск Репутация: нет Всего: 3 |
Сделал, компилируется но вылетает. Наверно намудрил с приведением типов, опыта маловато
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Сама я с этими зверями не работала, но из описания поняла следующее.
Выделять память ты сам не должен - поскольку неизвестно, сколько надо. Ты передаешь указатель на указатель, и система сама выделит память.
Не уверена только, копирует ли CSid данные или держит сам указатель... другими словами, должен ли ты сам освободить память вызовом FreeSid... -------------------- ... |
|||
|
||||
| Kostt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 8.1.2006 Где: Томск Репутация: нет Всего: 3 |
Спасибо за помощь!
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |