Bug under X64 - ATL Performance Counter DLL  
Author Message
Djalma Rosa dos Santos Filho





PostPosted: Visual C++ General, Bug under X64 - ATL Performance Counter DLL Top

Hi guys,

None of my ATL DLLs with Performnace Monitor objects generated by the wizard are working under X64, although they work smoothly under X86 and IA64.
I thought that there could be something wrong with my code, but I built a genuine X64 version of the MS PerformanceScribble Sample and it did not work too.

http://www.hide-link.com/ (VS.80).aspx

Under X64 machine the registration is successfully performed, but the counters do not appear in Performance Monitor.

After a couple of minutes, I found the following error messages in Event Viewer under PerfLib source:
-------------------------------------------------------
Performance counter data collection from the "Perf_PerformanceScribble" service has been disabled due to one or more errors generated by the performance counter library for that service. The error(s) that forced this action have been written to the application event log. The error(s) should be corrected before the performance counters for this service are enabled again.
-------------------------------------------------------
Windows cannot open the 64-bit extensible counter DLL Perf_PerformanceScribble in a 32-bit environment. Contact the file vendor to obtain a 32-bit version. Alternatively if you are running a 64-bit native environment, you can open the 64-bit extensible counter DLL by using the 64-bit version of Performance Monitor. To use this tool, open the Windows folder, open the System32 folder, and then start Perfmon.exe.
-------------------------------------------------------
This is very strange because I am running Performance monitor from the OS provided link %SystemRoot%\system32\perfmon.msc /s.

I don't know if required, but another strange thing that I found is that ATLPerf.h does not contain #ifdefs for _M_X64, although there are some for _M_IA64, _M_IX86 and _M_AMD64 (for the "automagic registration stuff").

I hope someone can help me, please.

Thanks in Advance.
Djalma Rosa dos Santos Filho



Visual C++11  
 
 
Djalma Rosa dos Santos Filho





PostPosted: Visual C++ General, Bug under X64 - ATL Performance Counter DLL Top

I've found and reported the real cause of this bug at
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1205289&SiteID=1