А какая разница? Код, который может вызываться на высоких IRQL, нельзя выгружать. Посмотри в DDK главы "Paging an Entire Driver" и...
Completion Routine может вызываться на DISPATCH_LEVEL
PTE правильный. Включай SoftIce в дистрибутив :)
Ставь бряк на место изменения кода. Дальше В WinDbg: !pte <адрес_перехватываемой_функции> В SoftIce тоже типа того что-то. И результаты в студию...
Возможно, страница находится в подкачиваемой памяти. Посмотри в отладчике ее PTE перед модификацией
"TCP_IP Illustrated" by Stevens
XPiS Замени на ZwOpenProcess
http://www.osronline.com/ddkx/kmarch/drvcomps_1bfr.htm : "Note that the Unload routine is not called if a driver's DriverEntry routine returns a...
Вообще надо перед началом думать о поддержке многопоточности, кривых девайсов и прочей ерунде - не придется потом морочаться. А тут досталось...
green Виноват-то он виноват, а приложение падать не должно :) _Serega_ Попробую на основе твоего подхода отловить все обращения к памяти и...
Проблема в том, что функции не используются. Есть memory-mapped file и работает сейчас примерно так: void * file_projection; file_projection =...
Такая ситуация. Есть файл достаточно сложной структуры, с которым постоянно работает приложение. Этот файл маппится в память и все замечательно...
Чтобы выключить PAE надо в boot.ini прописать /nopae /noexecute=alwaysoff А большие страницы бывают и очень даже широко используются :)...
Функция quasiMmGetPhysicalAddress получает физический адрес для маленьких страниц памяти. А если в системе 256 и больше Мб оперативки, то ядро...
Для начала, все процессорные структуры должны быть выравнены по 1 байту: #pragma pack(push,1) typedef struct _TAG_GDT_INFO { WORD Limit;...
У 32-битного потока в Win64 два контекста - 32-битный и 64-битный. В 32-битный контекст 64-б. дескриптор записать не получится. А 64-битный не...
ak217 Все новые команды выполняются в Long Mode. В Compatibility Mode все команды полностью совместимы с x86, безо всяких выкрутасов
Подвохов нет, не считая того, что из 32-разрядного приложения нельзя получить доступ к 64-разрядному сегментному регистру :) По всей видимости,...
Надо установить бит CS.L в 1 (21 бит в старшем DWORD регистра CS), тогда будет включен Long Mode. Для 32-разрядных приложений он установлен в 0...
А не проще просто сохранить 01101000 10010010 , а потом восстановить с помощью OR? 00000000 00000000 OR 01101000 10010010 = 01101000 10010010
Имена участников (разделяйте запятой).