![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Форумчане такой вот вопрос:
есть фильтрующий драйвер файловой системы. в WDK сказано что он выполняется в контексте приложения обращающегося к драйверу. т.е. приложение вызывает CrateFile(...); и грубо говоря в этом месте управление получает функция-обработчик запроса IRP_MJ_CREATE_FILE (или ему подобного, зависит от ситуации). Допустим в этой функции я выделяю N-байт памяти под свои нужды, в связи с этим у меня вопрос, где именно эти N-байт будут храниться логически и физически. И если другая программа тоже пытается обратиться к файлу, считай еще один IRP_MJ_CREATE_FILE и еще одни N-байт выделенные под свои нужды. Будут ли видны оба этих N-байт памяти? или функция будет видеть только ту область памяти которая была зарезервирована при вызовах только в КОНКРЕТНО этой исполняемой проге? -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| DrHex |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 2.5.2009 Репутация: нет Всего: нет |
Все очень просто. Выделяешь память то и освобождай. Выделил в драйвере значит он и должен освободить. Ну и конечно если он выделил он её и видит.
Будут.
Нет. Драйверу доступна вся память (память одного пользовательского процесса(можно переключатся между процессами) + kernel memory) . Когда выделение памяти происходит в драйвере то память выделяется в 'kernel memory' так что в драйвере это память доступна. --------------------
google.com и это все. |
||||
|
|||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Угу
|
||||
|
|||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
to DrHex && xvr - спасибо въехал.
а как сие делается? -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 5 Всего: 17 |
Посмотри в сторону MDL(Memory Descriptor List).
-------------------- 0x2b|~0x2b |
|||
|
||||
| DrHex |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 2.5.2009 Репутация: нет Всего: нет |
1)Посмотри в сторону MDL(Memory Descriptor List). 2)KeAttachStackToProcess
Все зависит как с памятью работать. --------------------
google.com и это все. |
||||
|
|||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
кажися въехал. а не так то оно все и сложно как кажется с первого взгляда... нужно просто вдумчиво читать то что пишут в документациях аля WDK ну и форум))) спасибо камрады Это сообщение отредактировал(а) shara - 11.9.2009, 18:33 -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |