К сожалению, твой вариант не намного лучше, ибо есть PsGetProcessId().
Что!? Ой, не доводи до греха. Бряк в отладчике или вывод туда же. Дамп выкладывай. Желательно с Kernel Memory. Код ужасный, просто слов нет.
n2 Код у тебя правильный, не хватает только проверки результата вызова NtQueryInformationThread() и явного указания класса ThreadBasicInformation...
Да, так нельзя. Максимум, что можно сделать, это создать не интерактивную оконную станцию, назначить её текущему процессу, создать в ней рабочий...
Да, надо писать NDIS-фильтр.
Это ошибка документации. Там не указано, что поле Object это на самом деле не PVOID, а PVOID*, т.е. не указатель на сам объект, а указатель на...
Попробуй изменить соответствующую строчку вот так: st = ObQueryNameString(*((PVOID*) info->Object),on,512,&l);
Этот код только для Windows Server 2003 и выше.
Поле info->Status надо проверять на успех макросом NT_SUCCESS(). Если ошибка, то указатель по адресу info->Object невалидный и трогать его нельзя.
Да, поэтому завязываем. Ниже всё, что я хотел сказать. Проблема в упущенном времени. Сейчас я мог бы уметь в 3 раза больше. Но я предпочёл...
В таком случае - учить основы и не повторять моих ошибок. Слышишь?! Я сказал, насмерть стоять, но не повторять моих ошибок! Драйвер TDI-фильтр.
О, теперь ты понимаешь всю прелесть власти, - добро пожаловать в клуб. По теме: лучше, если скажешь, на что тебе надо, разные есть, особенно...
billi12 Открой для себя CmRegisterCallback(). И ещё ObQueryNameString() тоже не забудь. По поводу путей ключей - было уже, в поиск.
А чо я-то сразу, слышь, э? Вообще полезно, да, прикрепил бы тему.
Ну вот, совсем другое дело. Если не против, я это опубликую в блоге. Я так понимаю, это не всё, скинь целиком на почту, если можно. И да, кстати,...
ASMatic Ну да, всё правильно, но я подумал, что у RET уже есть эти данные. Я угадал.
Возможно, тупо ошибка где-то в коде драйвера. А некоторые вызовы, если они синхронные, действительно могут долго не завершаться. Самый надёжный...
В SDT адреса NT-сервисов, т.е. функций с префиксом Nt, а ZwXxx() это экспорты ядра, переходники к сервисам. Можно реализовать схему с подсчётом...
Ну тогда уж не забудь и структуры выложить для всех этих запросов. А также не забудь упомянуть, что этого недостаточно, ибо там, как минимум, ещё...
Это всё понятно и интересно, но никак не отвечает на вопрос "зачем это всё" и "кто это всё создал".
Имена участников (разделяйте запятой).