Вниз
Скачать: CL | DM;

Проблемы со снятием ловушки   Найти похожие ветки 

← →
KygECHuK ©   (2006-05-12 09:52) [40]

Вполне возможно, вот код библиотеки с расшареной памятью:


library mapping;

uses
 ShareMem,
 Windows,
 typeunit;

const

 cMMFileName: PChar = "SharedMapData";

var
 GlobalData: pdllldata;
 MapHandle: THandle;

procedure GetDLLData(var AGlobalData: pdllldata); stdcall;
begin
 AGlobalData := GlobalData;
end;

procedure OpenSharedData;
var
 Size: Integer;
begin
 Size := SizeOf(TDLLData);
 MapHandle := CreateFileMapping(DWord(-1), nil, PAGE_READWRITE, 0,size,
   cMMFileName);

 GlobalData := MapViewOfFile(MapHandle, FILE_MAP_ALL_ACCESS, 0, 0, size);

 if GlobalData = nil then
 begin
   CloseHandle(MapHandle);
 end;
end;

procedure CloseSharedData;
begin
 if GlobalData <> nil then
   UnmapViewOfFile(GlobalData);
 if MapHandle <> 0 then
   CloseHandle(MapHandle);
end;

procedure DLLEntryPoint(dwReason: DWord);
begin
 case dwReason of
   DLL_PROCESS_ATTACH: OpenSharedData;
   DLL_PROCESS_DETACH: CloseSharedData;
 end;
end;

exports
 GetDLLData;

begin

 DllProc := @DLLEntryPoint;

 DLLEntryPoint(DLL_PROCESS_ATTACH);
end.


← →
Сергей М. ©   (2006-05-12 10:27) [41]

1. Где и когда тобой загружается/выгружается mapping.dll ? Зачем вообще выносить работу с MMF в отдельную библ-ку, когда это можно делать непосредственно в каждой из конкретных разрабатываемых тобой хук-библиотек ?

2. Откуда в USES взялся ShareMem ?


← →
KygECHuK ©   (2006-05-12 11:28) [42]

>> 1. Где и когда тобой загружается/выгружается mapping.dll ?

В [6] и [10] это экспортируемая функция GetDllData.

>> Зачем вообще выносить работу с MMF в отдельную библ-ку, когда это
>> можно делать непосредственно в каждой из конкретныхразрабатываемых
>> тобой хук-библиотек ?

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

>> 2. Откуда в USES взялся ShareMem ?

Сам в шоке, спасибо - убрал.



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

Скачать: CL | DM;



Память: 0.52 MB
Время: 0.026 c
15-1155035637
Vaitek__
2006-08-08 15:13
2006.09.03
А у вас есть шрифт Arial Narrow?


2-1155232075
Madder
2006-08-10 21:47
2006.09.03
Разбор писем Body


15-1154674208
syte_ser78
2006-08-04 10:50
2006.09.03
Кто хочет помочь?


1-1153456424
Fynjy1984_
2006-07-21 08:33
2006.09.03
WebBrowser и TabSheet


1-1153478918
REA
2006-07-21 14:48
2006.09.03
Image List Alpha Channel




   Наверх