Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
[Win32]Юзаю KeSetEvent. Перетащил в w2k - пошло! 22.08.02 07:02 Число просмотров: 1089
Автор: Zef <Alloo Zef> Статус: Elderman
|
Впрочем под NT4 у меня компилер был кривой: от w2k, а библиотеки от NT4.
|
<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 Статус: Незарегистрированный пользователь
|
почитай статьи как самому сделать очередь, это не сложно и является обычным механизмом как раз для таких целей.
|
|
|