Re: Lots of symbols in comctl32 are exported by ordinal only

Hans Leidekker <hans-p/[email protected]> Sun, 26 Oct 2003 12:53:37 +0100 (CET)
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <Pine.LNX.4.44.0310261148190.1948-100000@salad>
On Thu, 23 Oct 2003, Danny Smith wrote:

> The only ways you can determine the ordinal alias in absence of
> documentation is by reverse engineering or by trial and error.   How
> were these determined?

They were gleaned from Wine, but I'd rather not end up in a semantics 
discussion about reverse engineering. You can write a program that 
exercises interfaces and determines their behavior. Then you can write
your own implementation based on that information. This is what Wine 
does. If you mean using a debugger when you say reverse engineering, 
Wine opposes that technique because of the legal aspects of it.

In this particular case, if you have an application that needs an
ordinal only symbol that's not in your comctl yet, you could add
stubbed ordinals to your version of comctl until you find that it
links. Call it trial and error if you like.

> By pushing the limits on "clean room" development of the w32api, we
> jeopardise not only the mingw project but also other projects - cygwin,
> Watcom - that seek to provide tools mainly for ordinary developers (who
> get no value from having  DPA_Clone and friends exposed in the import
> lib).

They would get value in the long term if their applications would
build and run (unmodified) on open source implementations of the 
Windows API like Wine and ReactOS. But I don't think this is beyond
"clean room" anyway. 

By the way, DPA_Create et al already were present in MinGW's import
lib -- be it without NONAME markup -- how come?

 -Hans




-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/