Здравствуйте, Saviour, Вы писали:
S>Написал драйерок и зарегил эвенты все ништяк робит как часы. Но одно но как получить имя процесса и еще лучше и полный путь запускаемого файла в самом драйвере?
Могу предложить несколько "левое" решение.
Зарегистрируйте также нотификатор PsSetLoadImageNotifyRoutine. Он будет вызван в контексте только что созданного процесса. Первым будет вызван нотфикатор о загрузке образа главного (ехе) модуля, а потом всех подчиненных.
В чем левизна:
1)Вроде, под НТ4 нет PsSetLoadImageNotifyRoutine

2)Есть более прямые пути (наверное )
3)К одному процессу пути могут быть в разной форме(это вообще ко всем относится):
1) локальный \Device\HarddiskVolume1\mydir\myproc.exe
2) а если папка расшарена? \Device\LanmanRedirector\myshara\myproc.exe
3) а если мы используем клиента отличного от "клиента для сетей микрософт"?
\Device\CoolRedirector\myshara\myproc.exe
4)А под NTFS можно создавать линки аля ext2
\Device\HarddiskVolume1\mydir1\myproc.exe
так что — учитывайте.......
тут еще жесткий способ выгребания имени (ПОЛНОГО!) процесса:
http://ntndis.com/forum/viewtopic.php?t=52
Написал драйерок и зарегил эвенты все ништяк робит как часы. Но одно но как получить имя процесса и еще лучше и полный путь запускаемого файла в самом драйвере?