Getting the API's for Windows Applications

Rolf Kalbermatter rolf.kalbermatter at citeng.com
Tue May 18 09:19:20 CDT 2004


Jacobus Erasmus <jacobus at kewlconcepts.co.za> wrote:

>Is it possible to workout or read the API's that a specific Windows
>application use ?
>
>The theory is that it would be possible to estimate the amount of work
>needed to get a Windows app to work on Wine by calculating the number of
>API's that is not working or only half working and estimating the time
>it would take to correct these API's. 

This would be a very rough estimation. Some APIs are simple to implement
and some are not. The ones not yet in Wine are often of the second class
but that is not a general rule.

>By running wine-debug it is possible to get the API's used by an
>application. I'm hoping that there is some simpler way (although I'm not
>holding my breath) to read the API's used by an application directly
>from the .exe or .dll. 

It really depends. You could walk the import table of the executable
both the standard and delayed imports and get quite far. dumpbin or
whatever it is called can do that. However this will not account for dynamically imported APIs some applications do, to work for instance
around API differences between different Windows version. Or another
reason might be that a certain API is optional and the app should keep
running eventhough that API is not available on the target system.

I think to catch those APIs as well only API profiling would help. But
it may not be the main issue here as the dynamic runtime linking is
most often done to prevent the application from not starting up when
the underlyiing API is not present.  

Rolf Kalbermatter




More information about the wine-devel mailing list