[Win32utils-devel] windows-api command decision

Daniel Berger djberg96 at gmail.com
Sat Sep 8 23:01:31 EDT 2007

Hi all,

Ok folks, here's how it is.

The windows-api project will, from now on, consist of two parts.

The first part is "win32-api". This is a replacement for 'Win32API'. 
This is a refactored version of the Win32API that currently ships with 
Ruby's stdlib. It is a C extension.

Changes include:

* Name change - it's now "win32/api" instead of "Win32API".
* It's now under the "Win32" namespace/module.
* Refactored to use the Ruby 1.8 allocation scheme.
* Changed the order of the arguments - the DLL has been moved from first 
to last, and now defaults to 'kernel32'. The prototype and return type 
also have default values.
* There are now (sane) methods for obtaining instance variable 
information, such as prototype, return type, etc.

The second part is the pure Ruby part of the windows-api library. This 
is still a wrapper, but uses our own "win32-api" library instead of 
Ruby's "Win32API". For the 0.2.0 release the changes were actually 
relatively minor.

The upside of releasing our own version of win32-api is that we ensure 
that it will still exist once Ruby 2.0 is release. In addition, we can 
tweak it to suit our needs as we see fit. Specifically, this means we 
can add Park's callback interface. :)

In practice, this means that end users will always use our version of 
windows-api, but we can modify the underlying C code as we see fit.

Please, checkout the latest windows-api from CVS and see what you think.



More information about the win32utils-devel mailing list