Здравствуйте, onyx2, Вы писали:
А>>Эти функции нужны для определения других вещей на основе данных полученых из пакета.
O>В общем, мне неизвестно что там вам надо получить, поэтому ничего советовать не буду.
ZwCreateFile
ZwDeviceIoControlFile
Эти функции используются для получения структур MIB_TCP_RAW и MIB_UDP_RAW от TCPIP драйвера
посылая ему IOCTL_TCP_QUERY_INFORMATION_EX.
ZwOpenProcess
ZwQueryInformationProcess
ZwOpenProcessToken
ZwQueryInformationToken
Эти функции используются для получения имени файла запущеного процеса по заданому PID и
SID юзера запустившего его.
Итого, надо получать эту инфу на каждый прием/посылка IP пакета и спать 5 секунд нельзя

.
Еслиб не этот случай, что callback функция работает на IRQL=2 ... наверное все былоб хорошо

.
Конечно такая схема работы на первый взгляд не есть хороший вариант. Но иметь на любой момент времени
табличку запущенных процессов в системе, чтобы на каждый IP пакет получать инфу по заданному PID процесса
пока не представляется возможным...

Работать ведь надо этой filter-hook callback function быстро...