![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
volvo |
![]()
Сообщение
#1
|
Гость ![]() |
Привет всем.
![]() Ситуация такая: возникла необходимость получить SID пользователя, являющегося владельцем процесса. Собственно, функция была написана, и отлажена, но возникла одна проблема: на некоторых процессах функция отрабатывает нормально, на других - отказывается корректно выполнять вот этот кусок: if((hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, TRUE, pid)) != 0) { Что самое интересное: функция спокойно отрабатывает на некоторых процессах, владельцами которых является SYSTEM/NT AUTHORITY, но процессы, принадлежащие пользователю из Restricted Users иногда не открывает (хотя при обработке другого процесса того же пользователя прекрасно возвращается SID). Не отрабатывают все время одни и те же процессы (совершенно разных пользователей, от NETWORK SERVICE и SYSTEM до того самого Restricted User-а), программа, естественно, запускается с правами Administrator-а... Внимание, вопрос: куда копать, и почему, собственно, иногда все работает, а иногда - возвращается "Error (87): The parameter is incorrect" ? P.S. Компилятор - BDS 2006 (хотя и на GCC, и на Intel C++ Compiler происходит то же самое) |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 15:50 |