информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаАтака на InternetВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Синхронизация потоков в кернеле? 21.08.02 22:52  Число просмотров: 978
Автор: Sandy <Alexander Stepanov> Статус: Elderman
<"чистая" ссылка>
> Кернельный Спай-логгер. Перехватывает ряд ф-ций и должен
> записывать, кто и зачем их вызывал в файл (точнее, в поток
> вывода, причем с минимальной задержкой). Создаю тред,
> который пишет в файл, а хуки, естессно срабатывают в
> кнтекстах, из которых вызывали функции. Как их
> синхронизировать так, чтобы после отработки хука,
> запускался цикл записи в файл в треде-логгере?
> Евенты в чужих контекстах не работают, а мутексы работают,
> но "наоборот", т.е. останавливают "чужие" треды, пока
> работает "свой". А тут, как раз обратное: запускающих
> много, а запускаемый - один.

А семафоры не помогут?
<programming>
[Win32] Синхронизация потоков в кернеле? 21.08.02 11:00  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Кернельный Спай-логгер. Перехватывает ряд ф-ций и должен записывать, кто и зачем их вызывал в файл (точнее, в поток вывода, причем с минимальной задержкой). Создаю тред, который пишет в файл, а хуки, естессно срабатывают в кнтекстах, из которых вызывали функции. Как их синхронизировать так, чтобы после отработки хука, запускался цикл записи в файл в треде-логгере?
Евенты в чужих контекстах не работают, а мутексы работают, но "наоборот", т.е. останавливают "чужие" треды, пока работает "свой". А тут, как раз обратное: запускающих много, а запускаемый - один.
[Win32] Синхронизация потоков в кернеле? 21.08.02 22:52  
Автор: Sandy <Alexander Stepanov> Статус: Elderman
<"чистая" ссылка>
> Кернельный Спай-логгер. Перехватывает ряд ф-ций и должен
> записывать, кто и зачем их вызывал в файл (точнее, в поток
> вывода, причем с минимальной задержкой). Создаю тред,
> который пишет в файл, а хуки, естессно срабатывают в
> кнтекстах, из которых вызывали функции. Как их
> синхронизировать так, чтобы после отработки хука,
> запускался цикл записи в файл в треде-логгере?
> Евенты в чужих контекстах не работают, а мутексы работают,
> но "наоборот", т.е. останавливают "чужие" треды, пока
> работает "свой". А тут, как раз обратное: запускающих
> много, а запускаемый - один.

А семафоры не помогут?
[Win32] Синхронизация потоков в кернеле? 21.08.02 14:31  
Автор: cb <cb> Статус: Member
<"чистая" ссылка>
> Евенты в чужих контекстах не работают....

почему?
если для ожидания ты используешь KeWaitForSingleObject, а для установки события в Signaled - KeSetEvent, то все должно работать - эти ф-ии работают не HANDLE-ами объектов а с указателями на сами объекты...
во всяком случае у меня все работало...

cb.
[Win32]Юзаю KeSetEvent. Перетащил в w2k - пошло! 22.08.02 07:02  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Впрочем под NT4 у меня компилер был кривой: от w2k, а библиотеки от NT4.
[Win32] Синхронизация потоков в кернеле? 21.08.02 12:55  
Автор: IgorR <Igor Razin> Статус: Member
<"чистая" ссылка>
Можно через порт завершения ввода-вывода.
[Win32]Поподробнее, или по Английски это обзови, хотя бы... 21.08.02 13:02  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
[Win32]Поподробнее, или по Английски это обзови, хотя бы... 21.08.02 16:07  
Автор: IgorR <Igor Razin> Статус: Member
<"чистая" ссылка>
Виноват, не подумал что в кернеле. Не знаю будет там работать или нет.
тебе помогут ExQueueWorkItem либо... 22.08.02 04:54  
Автор: NeuronViking Статус: Незарегистрированный пользователь
<"чистая" ссылка>
почитай статьи как самому сделать очередь, это не сложно и является обычным механизмом как раз для таких целей.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach