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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32]Поподробнее, или по Английски это обзови, хотя бы... 21.08.02 13:02  Число просмотров: 978
Автор: Zef <Alloo Zef> Статус: 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