|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 25, 2004 20:20:27 Как организовать обратную связь из filter-hook sys драйвера обратно в windows приложение? Например пришел(ушел) инет пакет как из функции PF_FORWARD_ACTION filterFunc(...) сразуже сообшить в user-mode приложение - (в смысле interprocess comunication PostMessage() или тому подобное)? |
|
|
Дата: Окт 26, 2004 11:39:47 |
|
|
Дата: Окт 26, 2004 22:26:02 · Поправил: bigglass |
|
|
Дата: Окт 27, 2004 09:20:07 Как можно сделать чтоб из драйвера перед вызовом KeSetEvent() передать информацию в user-mode приложение (в какое-нибуть место в памяти и т.д.) чтобы в user-mode треде после завершения WaitForSigleObject() не использовать обращение к драйверу deviceiocontrol(...) на передачу нужной информации а взять и прочитать ее из 'заданного' места памяти куда ее драйвер запишет? (для ускорения обмена с драйвером) Thread() while(true){ WaitForSingleObject(); "read some memory location" ... } |
|
|
Дата: Окт 27, 2004 15:05:43 |
|
|
Дата: Окт 29, 2004 19:17:27 Можно ли по примеру выделения памяти для чтения из user-mode "Драйверы режима ядра: Часть 9" использовать "ввод-вывод без управления" (Часть 5: Полнофункциональный драйвер) т.е. user-mode выделяет у себя память и посылает DeviceIoControl(тип,"ввод-вывод без управления") а kernel-mode driver используя in(out) параметры блокирует их в памяти и т.д. чтобы адрес был постоянным для user-mode. ввод-вывод без управления Диспетчер ввода-вывода помещает в поле DeviceIoControl.Type3InputBuffer структуры IO_STACK_LOCATION указатель на пользовательский входной буфер, а в поле UserBuffer структуры _IRP указатель на пользовательский выходной буфер и оставляет драйверу возможность управлять ими самостоятельно. Т.о. вся ответственность за управление пользовательскими буферами ложится на драйвер. Он может блокировать их в памяти, отображать на системное адресное пространство или обращаться к ним напрямую и т.д. |
|
|
Дата: Окт 30, 2004 15:55:36 Да. IoAllocateMdl __try { MmProbeAndLockPages } Если надо отобразить в ядро, то + ещё MmGetSystemAddressForMdlSafe |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.125 |