Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
_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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.032 c
1-1095139121
_newver_
2004-09-14 09:18
2004.09.26
преобразование типов при подключении DLL


1-1094637857
jonik
2004-09-08 14:04
2004.09.26
Форма с Настройками программы


6-1089807438
AlexA
2004-07-14 16:17
2004.09.26
Пытаюсь при помощи TNMPOP3 сохранить вложения


14-1094725175
Ditrix
2004-09-09 14:19
2004.09.26
свободное ПО. конференция в Киеве.


3-1093937123
Valera
2004-08-31 11:25
2004.09.26
SQL-запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский