| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > NtQuerySystemInformation() |
| Автор: Royan 14.5.2004, 22:27 | ||||
Кто - нибудь пользовался этой функцией? Я было нашел на форуме сообщение от Шедона, с примером но он не работает, самое печальное, что там даже параметры структуры SYSTEM_PROCESS_INFORMATION не совпадают с теми, что задокументированы в msdn'е, то бишь
Что означают Reserved1...6 я не понимаю На самом деле мне всего лишь нужно перечислить все текущие процессы (найти их уникальные ID, и получить название самих процессов) Вот мой код:
|
| Автор: shedon 14.5.2004, 22:51 |
| что именно у тебя не работает ? |
| Автор: Royan 14.5.2004, 23:05 | ||||
| Несмотря на то что найден обходной путь, я приведу его в самом низу, все-таки надо разобряться с чем тут проблема... У меня в коде с NtQuerySystemInformation() неправильно проходит инициализация struct_sysProcInfo после вызоваNtQuerySystemInformation() , а именно - struct_sysProcInfo {...} _SYSTEM_PROCESS_INFORMATION NextEntryOffset 3435973836 unsigned long + Reserved1 0x0012dfd4 "ММ...ММ" unsigned char [52] + Reserved2 0x0012e008 void * [3] UniqueProcessId 0xcccccccc void * Reserved3 0xcccccccc void * HandleCount 3435973836 unsigned long + Reserved4 0x0012e020 "ММММ...МММ" unsigned char [4] + Reserved5 0x0012e024 void * [11] PeakPagefileUsage 3435973836 unsigned long PrivatePageCount 3435973836 unsigned long + Reserved6 0x0012e058 {-3689348814741910324} _LARGE_INTEGER [6] Подозрительные значения сразу же видны вот цикл перебора процессов, который я использую:
и он валиться на втором же шаге А вот работающий код перечисляющий процессы:
|
| Автор: shedon 15.5.2004, 13:17 | ||
Всё работает...
Я не давал такого кода, если собрать всё, что ядовал, то всё рабортает.... |
| Автор: Royan 15.5.2004, 22:32 | ||
Вот этот код я откопал (без моих изменений), и проблема здесь в том, что например поля "NextOffest" структура SYSTEM_PROCESS_INFORMATION не содержит.
И также непонятно, что у содержится в заголовке "..\CmnHdr.h" Вот ссылка на топик, в котором ты отправил этот код: http://forum.vingrad.ru/index.php?showtopic=21557 |
| Автор: shedon 15.5.2004, 22:46 |
| Извиняюсь, вот добавил хедер. http://forum.vingrad.ru/index.php?act=ST&f=1&t=21557&st=0#entry146225 |
| Автор: shedon 17.5.2004, 20:51 |
| Royan, ну как заработоло ? |