PC Review Forums Newsgroups Hardware Anti-Virus Win32-API function WritePrivateProfileString gets blocked due to a anti-virus program?

Reply

Win32-API function WritePrivateProfileString gets blocked due to a anti-virus program?

 
Thread Tools Rate Thread
Old 08-03-2006, 04:21 PM   #1
mbusik
Guest
 
Posts: n/a
Default Win32-API function WritePrivateProfileString gets blocked due to a anti-virus program?


Hallo,
I'm using the Win32-API function WritePrivateProfileString to store
configuration entries for years. Since some weeks the performance of
this function rapidly changed.

My problem is reproducilbe at least with two different products from
McAfee.
Neither at microsoft nor at McAfee I've found any hint that this API
function has been changed. There is also no registry entry which causes
this api function to store the values
in the registry.

1. "McAfee VirusScan" (personal/soho version)
Disabling the scanning of ini-files solves the problem.
With INI-files scan enabled my testcase (writing 100 Entries) needs
up to 3.4 seconds.
With INI-files scan disabled, it takes less then 100 ms.
Terminating the AvSynMan service has the same result as disabling
the INI-file scan.

2. "Mc Afee Enterprise"
Disabling almost all services, disabling virus scan completely does
NOT solve the problem.
(logged in with local admin rights, the ini file will be stored
locally, no user profile replication etc. enabled)
The same testcase als under 1) needs 10.3 seconds to complete...

Has anybody an idea what the reason for 2) could be?

Any help will be appreciated,
regards,
Martin

P.S. here the main part of the testcase, it is a simple stupid win32
application:

startTicks = GetTickCount();
while(*sections != NULL) {
LPCSTR sectionName = (LPCSTR)*sections++;
LPCSTR *keyValues = (LPCSTR *)*sections++;
while(*keyValues != NULL) {
LPCSTR key = *keyValues++;
LPCSTR value = *keyValues++;
WritePrivateProfileString(sectionName,key,value,iniName);
}
}
WritePrivateProfileString(NULL,NULL,NULL,NULL);
endTicks = GetTickCount();
wsprintf(msg,"Writing %s took %ld mS",iniName,endTicks - startTicks);
MessageBox(NULL,msg,"result",MB_OK);

  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off