Ошибка wininet.dll

 

Может кто сталкивался. Помогите, пожалуйста разобраться с проблемой.

Для разбора csv файла используется следующий код:

//Импорт wininet.dll

#import "wininet.dll"
int InternetAttemptConnect (int x);
  int InternetOpenA(string sAgent, int lAccessType, 
  string sProxyName = "", string sProxyBypass = "", 
  int lFlags = 0);
  int InternetOpenUrlA(int hInternetSession, string sUrl, 
  string sHeaders = "", int lHeadersLength = 0,
  int lFlags = 0, int lContext = 0);
  int InternetReadFile(int hFile, int& sBuffer[], int lNumBytesToRead, 
  int& lNumberOfBytesRead[]);
  int InternetCloseHandle(int hInet);
#import


//Процедура чтения файла CSV

string ReadWebPage(string url)
{
  WriteFileTest(url);
  if(!IsDllsAllowed())
  {
  Alert("Необходимо в настройках разрешить использование DLL");
  return("");
  }
  int rv = InternetAttemptConnect(0);
  if(rv != 0)
  {
  Alert("Ошибка при вызове InternetAttemptConnect()");
  return("");
  }
  int hInternetSession = InternetOpenA("Microsoft Internet Explorer", 
  0, "", "", 0);
  if(hInternetSession <= 0)
  {
  Alert("Ошибка при вызове InternetOpenA()");
  return("");  
  }
  int hURL = InternetOpenUrlA(hInternetSession,url, "", 0, 0, 0);
  if(hURL <= 0)
  {
  Alert("Ошибка при вызове InternetOpenUrlA()");
  InternetCloseHandle(hInternetSession);
  return(0);  
  }  
  int cBuffer[256];
  int dwBytesRead[1]; 
  string TXT = "";
  while(!IsStopped())
  {
  for(int i = 0; i<256; i++) cBuffer[i] = 0;
  bool bResult = InternetReadFile(hURL, cBuffer, 1024, dwBytesRead);
  if(dwBytesRead[0] == 0) break;
  string text = "";  
  for(i = 0; i < 256; i++)
  {
  text = text + CharToStr(cBuffer[i] & 0x000000FF);
  if(StringLen(text) == dwBytesRead[0]) break;
  text = text + CharToStr(cBuffer[i] >> 8 & 0x000000FF);
  if(StringLen(text) == dwBytesRead[0]) break;
  text = text + CharToStr(cBuffer[i] >> 16 & 0x000000FF);
  if(StringLen(text) == dwBytesRead[0]) break;
  text = text + CharToStr(cBuffer[i] >> 24 & 0x000000FF);
  }
  TXT = TXT + text;
  Sleep(2);
  }
  if(TXT == "") Alert("Нет считанных данных");
  InternetCloseHandle(hInternetSession);
   
  return(TXT);
}

Так вот. На одном компьютере все работает нормально, на втором все работает, а на третьем не хочет ни в какую. 

Что только не делали и wininet.dll переписывали и винду переустанавливали и IE обновляли. Ни в какую. 

В чем еще может быть загвоздка???

При прикреплении индикатора к графику терминал просто вылетает и сообщает об ошибке. Что то вроде этого:

There has been a critical error
Time : 2008.09.08 10:29
Program : Client Terminal
Version : 4.00 (build: 216, 16 Apr 2008)
OS : Windows 2000 Professional 5.0 Service Pack 4 (Build 2195)
Processors : 1 x X86 (level 15)
Memory : 515568/74680 kb
Exception : C0000005
Address : 0046138C
Access Type : read
Access Addr : 1CCB7D4B

Registers : EAX=00000000 CS=001b EIP=0046138C EFLGS=00010202
  : EBX=0000039C SS=0023 ESP=0012D7EC EBP=0012D824
  : ECX=1CCB7D4B DS=0023 ESI=0045F5FC FS=003b
  : EDX=0326E170 ES=0023 EDI=0330A988 GS=0000

Stack Trace : 00454D23 05FA2238 00489370 0818BE8D
  : 00000000 00000000 00000000 00000000
  : 00000000 00000000 00000000 00000000
  : 00000000 00000000 00000000 00000000

Modules :
  1 : 00400000 002A9000 c:\documents and 
settings\&#208;&#224;&#225;&#238;&#247;&#232;&#233; 
&#241;&#242;&#238;&#235;\fibo group\terminal.exe
  2 : 60000000 00045000 c:\winnt\system32\msctf.dll
  3 : 60AF0000 0001A000 c:\program files\crypto 
pro\winlogon\cpadvai.dll
  4 : 6B1E0000 00005000 c:\winnt\system32\msimg32.dll
  5 : 6BD00000 0000D000 c:\winnt\system32\syncor11.dll
  6 : 6C120000 0000E000 c:\winnt\system32\mfc42loc.dll
  7 : 6C290000 000FB000 c:\winnt\system32\mfc42.dll
  8 : 71710000 00084000 c:\winnt\system32\comctl32.dll
  9 : 745E0000 002C6000 c:\winnt\system32\msi.dll
  10 : 74F60000 0001E000 c:\winnt\system32\msafd.dll
  11 : 74FA0000 00007000 c:\winnt\system32\wshtcpip.dll
  12 : 74FB0000 00008000 c:\winnt\system32\ws2help.dll
  13 : 74FC0000 00014000 c:\winnt\system32\ws2_32.dll
  14 : 76AE0000 0003E000 c:\winnt\system32\comdlg32.dll
  15 : 77070000 00023000 c:\winnt\system32\cscdll.dll
  16 : 770F0000 00078000 c:\winnt\system32\rpcrt4.dll
  17 : 772C0000 00066000 c:\winnt\system32\shlwapi.dll
  18 : 77520000 00031000 c:\winnt\system32\winmm.dll
  19 : 77820000 0003E000 c:\winnt\system32\cscui.dll
  20 : 779B0000 0009B000 c:\winnt\system32\oleaut32.dll
  21 : 77E10000 00069000 c:\winnt\system32\user32.dll
  22 : 77F40000 0003C000 c:\winnt\system32\gdi32.dll
  23 : 77F80000 0007D000 c:\winnt\system32\ntdll.dll
  24 : 78000000 00045000 c:\winnt\system32\msvcrt.dll
  25 : 79060000 00065000 c:\winnt\system32\advapi32.dll
  26 : 79430000 000B4000 c:\winnt\system32\kernel32.dll
  27 : 7CB60000 0008F000 c:\winnt\system32\clbcatq.dll
  28 : 7CD70000 000EF000 c:\winnt\system32\ole32.dll
  29 : 7CE80000 00246000 c:\winnt\system32\shell32.dll

Call stack :
0045F580:1E0C [0046138C] ?ExecuteStaticAsm@CExpertInterior 
(terminal.exe)
00454C10:0113 [00454D23] ?RunExpertInt@CExpertInterior (terminal.exe)
00489370:0000 [00489370] ?Name@CIndCustom (terminal.exe)

 
А на других машинах тоже 216 билд?
 
218. Но я думаю в этом не должно быть проблемы, так как wininet  - это ведь стандартная dll IE. Хотя, нужно попробовать.
 

27 : 7CB60000 0008F000 c:\winnt\system32\clbcatq.dll

Похож на трояна. Скачайте HijackThis и побликуйте лог.