Задача — список процессов. Всё делаю по статье
http://www.rsdn.ru/article/qna/baseserv/enumproc.xmlАвтор(ы): Александр Федотов
Дата: 23.10.2001
В статье рассматривается несколько способов перечисления процессов
в Windows различных версий, включая методы, пригодные для перечисления
процессов на другом компьютере.
, выбрал второй вариант (т.к. только он работает под чистым NT4). Компилирую под C++ Builder 5, WinXP.
Всё работает, но там, где "Status = _ZwQuerySystemInformation..." оно возвращает в Status отрицательное значение: "-173741819". Дальше всё доходит до фрагмента кода:
"HeapFree(hHeap, 0, pBuffer); return SetLastError(Status), FALSE;", и на этом выполнение прекращается.
Что делать? Как сделать, чтобы всё работало? Заранее — огромное спасибо
P.S. На RSDN я новичок, так что не судите строго за неправильное цитирование кода (?), и т.д...
Я ошибся. Не второй вариант, а третий ("Способ 3. Использование функции ZwQuerySystemInformation")
Вот, нашел ссылку на книгу Gary Nebbett
http://www.volynkin.com/references.htm (в самом низу этой страницы)
Пока качаю, запишу тут свои мысли по поводу темы:
Может, возвращение отрицательного Status'а — это не просто так, а какой-то знак?

Точно. А на что этот знак указывает? Наверно, надо запускать с правами админа, а не юзера, тогда всё будет OK??...
Хех — оказывается, я ссылался на функции из DLL не так, как надо (?). Совершенно случайным образом добился того, что всё заработало...