Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Страничная память   Найти похожие ветки 

 
_Stalker_   (2004-08-14 13:35) [0]

Пожалуйста, посмотрите правильно ли я работаю со страничной памятью:
.
.
Const
MMFName:PChar="KeyMMF";
Type
PGlobalDLLData=^TGlobalDLLData;
TGlobalDLLData=packed record
 SysHook:integer;
end;
Var
GlobalData: TGlobalDLLData;
MMFHandle: THandle;
.
.

begin.
.
.
MMFHandle:= CreateFileMapping(INVALID_HANDLE_VALUE, nil, PAGE_READWRITE, 0, SizeOf(TGlobalDLLData), MMFName);
 GlobalData:= MapViewOfFile(MMFHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TGlobalDLLData));}
 GlobalData^.SysHook:=XXX

.
.

Потом когда надо получить значение переменной делаю:

A:=GlobalData.SysHook;


 
VMcL ©   (2004-08-14 17:11) [1]

GlobalData: PGlobalDLLData;


 
_Stalker_   (2004-08-14 21:03) [2]


> VMcL ©   (14.08.04 17:11) [1]
> GlobalData: PGlobalDLLData;

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


 
VMcL ©   (2004-08-15 04:15) [3]

>>_Stalker_  (14.08.04 21:03) [2]

"Не работает" - понятие растяжимое.

>Может при этом есть какие- то особенности работы со страничной памятью?

После того, как выделенная память успешно отображена на ВАП процесса функцией MapViewOfFile, можно свободно работать с указателем (у тебя GlobalData) на эту память в пределах отображенного размера и запрошенных прав.

P.S. Результаты API-функций следует проверять на ошибочное значение (CreateFileMapping на 0, MapViewOfFile на nil и т. д.).



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
8-1088633422
xam
2004-07-01 02:10
2004.09.26
Документация Lame по русски


14-1094401976
Stany
2004-09-05 20:32
2004.09.26
исходник для подсчета интернет траффика


3-1093866563
Sheriff
2004-08-30 15:49
2004.09.26
Firebird, execute procedure


8-1088750197
maxistent
2004-07-02 10:36
2004.09.26
Поворот битмапа по/против часовой стрлк


1-1095002737
Макс
2004-09-12 19:25
2004.09.26
Word