We have a web application that generated with visual studio - C sharp, just loaded into IIS. In some part of that application we import a C++ dll by the opening of a modal page. It works correctly in windows xp but in windows 7 it shows the wrong page (default.aspx). We are sure that it is because of dllimport because when we comment out the method that executes the dllimport, it shows the correct page. Here I am giving the stack trace deployed from "debug diagnostic tool": (Cause there is no error when we debug the application with Visual Studio in windows 7 on localhost)
In w3wp__ads40web__PID__1760__Date__07_04_2012__Time_05_55_43PM__364__Second_Chance_Exception_C0000374.dmp the assembly instruction at ntdll!RtlReportCriticalFailure+57 in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an unknown exception (0xc0000374) on thread 30
Maybe it is just because of a wrong IIS setting... Please help if you have any suggestion regarding to that...
The only thing I can suggest is to debug the C++ code because your thread title seems incorrect. The importing of the DLL most likely imports OK; the problem is somewhere inside the DLL.
I have no suggestions as to where to look because I don't know how the DLL is used. You'll have to trace the function calls and determine the cause of failure. A good ol' log file could prove helpful to trace the problem down.
I cant... Cause my boss wont show the dll to me... Also I cannot understand cause I am a CSharp man... :( Hey, Jose what do you think about the stack trace?
The method that executes the dll import is "webreport" and also "report" in the stack trace it tries to tell us those methods create the problem isnt it??
The stack trace merely is saying that CoTaskMemFree() is faulting. This is usually the DLL's fault.
Yes, the stack trace shows what has been called, and the first item is the last/latest one called. If there's an error, it happened inside that last function/method call, but it isn't necessarily the culprit. For example, you can't blame CoTaskMemFree() for faulting because you told it to free memory that cannot be freed by this function, for example.