hook HttpSendRequest + DELPHI
От: Аноним  
Дата: 07.09.11 16:28
Оценка:
приветствую!

Я перехватываю функцию HttpSendRequestW из WinInet в IE9 , наблюдаю мистическое поведение
Код выглядит так:
var
  HttpSendRequestWhook: THttpSendRequestW;

function HttpSendRequestWHookProc(hRequest: HINTERNET; lpszHeaders: PWideChar;
                                  dwHeadersLength: DWORD; lpOptional: Pointer;
                                  dwOptionalLength: DWORD): BOOL; stdcall;
var
  wsTmp: WideString;
begin
  OutputDebugStringA('[HttpSendRequestWHookProc]');
//  wsTmp := '11';

  Result := HttpSendRequestWhook(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength);
end;

begin
  OutputDebugString('Dll Main');
  @HttpSendRequestWhook := HookCode(GetProcAddress(LoadLibrary('WinInet.dll'), 'HttpSendRequestW'), @HttpSendRequestWHookProc);
end.


Если в HttpSendRequestWHookProc делать какие-то действия, например, OutputDebugStringW(lpszHeaders); или еще чего — всё ок. А вот если убрать комментарий с wsTmp := '11' — IE начнёт возвращать Internet Explorer cannot display the webpage!!

Я грешил на менеджер памяти, попробовал подключить FastMM — пофигу. Пробовал отлаживать, но проблему найти так и не удалось.
Кто постарше, посоветуйте как искать причину или помогите разобраться, пожалуйста..

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.