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

 WASM Phorum —› WASM.WIN32 —› Запись в память, выделенную функцией ExAllocatePool

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


Дата: Янв 9, 2004 15:51:10

Проблема следующая. Выделяю память функцией ExAllocatePool, затем ее освобождаю ExFreePool. Всё нормально.
PVOID pool = NULL; 
int a = 5; 
pool = ExAllocatePool(NonPagedPool, PAGE_SIZE); 
pool = &a;       
ExFreePool(pool); 

Но когда пытаюсь туда что-нибудь записать, выскакивает SoftICE, пишет Page Fault, а потом перезагрузка.


Дата: Янв 9, 2004 17:45:46 · Поправил: Dr.Golova

pool = &a;
Интересно, может быть это должно было означать
*(void**)pool = &a;


Дата: Янв 9, 2004 17:47:53 · Поправил: HeDiN

>>pool=&a<<
Ты присваиваешь pool адрес a, а потом пытаешься его освободить.
Наверно надо *pool=a, если я что-то понимаю.


Дата: Янв 9, 2004 18:44:49

Да и я примерно так же думаю. :)
*pool = a;


Дата: Янв 9, 2004 18:53:00

Super, со мной volodya согласился !!!! (без шуток)


Дата: Янв 9, 2004 23:22:32

[ nike: ...выскакивает SoftICE, пишет Page Fault, а потом перезагрузка. ]

Тут, кстати, благодаря этой фиче айса, легко без перезагрузки обойтись можно. Айс встаёт на сбойную инструкцию и ты сразу видишь, что ломишься не туда. Просто обходишь её и все. Если ты только уже не затер что-нить важное.


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