· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Изменение значения глобальной переменной в драйвере

Посл.отвђт Сообщенiе


Дата: Янв 9, 2004 15:35:05

Как в драйверах режима ядра с ними вообще работать?
Там же разные функции выполняются в разных контекстах.
Я хочу сказать, что например DriverEntry в SYSTEM, а какой-нибудь DispatchControl в другом контексте.
Как здесь быть? Пробовал переключать контексты
KeAttachProcess()
и
KeDetachProcess()

но ничего не вышло, т.к. снова же нужно запоминать где-то значение PEPROCESS, возвращаемое функцией
GetCurrentProcess()


Вообщем, вопрос такой - как работать с глобальными переменными в драйвере.


Дата: Янв 9, 2004 23:21:51

Так дрова то грузятся в системное адресное пространство, а оно контекстно независимо, кроме очень маленьких областей типа области рабочего набора и гиперпространства. Так что обращайся к своей переменной и не боись. Можно даже при любом IRQL, т.к. по умолчанию дрова в неподкачиваемую память грузятся.


Дата: Янв 11, 2004 16:23:37

Незнаю тогда, что это за прикол. Глобальная перeменная у меня типа СТРОКА, и она какого-то хрена сама изменяется, т.е. в ходе работы драйвера поверх нее записывается что-то еще. Такое может быть?
P.S. Если вы не против, я могу код привести(только на Си).


Дата: Янв 11, 2004 17:19:37

Поставь туда bpm и посмотри кто пишет. Код... приводи, поглядим.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.164