Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Спасибо, про отдельную очередь понятно. Но задача такова,... 03.05.05 21:16 Число просмотров: 1869
Автор: serge Статус: Незарегистрированный пользователь Отредактировано 03.05.05 21:18 Количество правок: 1
|
> Прально! Это для того и сделано, чтобы останавливать > систему в том случае, если от успешности обработки данного > irp-а зависит ее дальнейшая работа. Если тебе не нужно ее > блокировать, то организуй отдельную очередь и обработчик в > отдельном потоке. А в сабже только копируй в эту очередь > данные и сразу выходи.
Спасибо, про отдельную очередь понятно. Но задача такова, что обработчик irp пакетов используется для синхронизации user и kernel mode кода. Судя по ответу, организовать синхронизацию с помощью вызовов DeviceIoControl мне не удастся. Какие ещё способы синхронизации существуют?
Для наглядности вот временная диаграмма того, что мне нужно получить:
00:01 DevIoCtl Called from thread1
00:02 DevIoCtl Called from thread2
00:03 DevIoCtl Returned from thread2
00:05 DevIoCtl Returned from thread1
Наверное я неправильно выразился, говоря что мне нужна асинхронная обработка irp. Мне нужна concurrent обработка (как же это по русски то?).
|
|
|