| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > как связать IRP_MJ_READ и IRP_MJ_WRITE |
| Автор: DrHex 10.9.2009, 13:05 |
| Как можно сделать связь IRP_MJ_READ и IRP_MJ_WRITE с таким что было было известно с оного ли они процесса были посланны. То и есть вызывается IRP_MJ_WRITE потом логика для работы с данными, после чего в драйвер приходит запрос на IRP_MJ_READ и надо дать ответ. Но так как приходит он не сразу то драйвер должен понимать какой процесс С драйвером работают N процессов. От процессов в произвольное вреся происхоти запрос IRP_MJ_WRITE. После чего происходит обработка запроса. И еще через промежуток времени происходти IRP_MJ_READ. Так вот ответ для каждого процесса будет иникальным, как мне можно узнать от какого процесса прижел запрос??? То и есть IRP_MJ_WRITE + process_ID_write И когда приходит IRP_MJ_READ + process_ID_read и ищу у себя ответ для данного процесса.???? |
| Автор: xvr 10.9.2009, 13:23 |
| И IRP_MJ_READ и IRP_MJ_WRITE приходят напрямую из пользовательского процесса (если конечно где то сверху не затесался драйвер-фильтр |
| Автор: DrHex 11.9.2009, 10:42 |
| xvr спасибо, я это видел, просто думал может как то можно два handle связать..... |
| Автор: xvr 11.9.2009, 16:32 | ||||
handle'ы чего надо связать? Если те, что вернул CreateFile у пользователя, то посмотри на поле FileObject в IO_STACK_LOCATION
|
| Автор: DrHex 11.9.2009, 18:04 |
| xvr мне нужно связать handle чтения и записи их два.... Один на чтения а второй на запись(одним не обойтись все дело в асинхронности). Судя со всего только через id процесса. |
| Автор: xvr 11.9.2009, 20:10 | ||||||
Что такое 'handle чтения' и 'handle записи'?
Не совсем понятна общая постановка задачи |