Листинг 10.22.
Удаление ловушки
function RemoveHook(): Boolean stdcall;
begin
if GetFileMapping() then
begin
if hook_info^.hook_handle <> 0 then
//Удаляем ловушку
UnhookWindowsHookEx(hook_info^.hook_handle);
//Закрываем проекцию файла
ReleaseFileMapping();
RemoveHook := True;
end
else
RemoveHook := False;
end;
Тут все просто и не требует подробного пояснения. Теперь же рассмотрим так часто используемые функцию и процедуру, работающие с проекцией файла в память. Функция GetFileMapping, приведенная в листинге 10.23, открывает проекцию файла в память и связывает указатель hookinf о с областью памяти, отведенной для проекции файла.