This section is a moving target.
The #define values from wingdi.h and winuser.h are
available as bindings in the (win32) package environment. The
#define symbols are all uppercase; these have been translated to
all lowercase Scheme identifiers, thus WM_LBUTTONUP is the scheme
variable wm_lbuttonup. As Scheme is case insensitive, the
upper-case version may be used and probably should to make the code look
more like conventional Windows code. The Scheme bindings have been
produced automagically. Most of the #define-symbols contain an
underscore so there are not many name clashes. There is one very
notable name clash, however: ERROR is #defined to 0, which
shadows the scheme procedure error in the root package
environment. To signal an error, use access to get error
from the system global environment:
(declare (usual-integrations))
...
((access error system-global-environment) "Complain" ...)
The set of procedures is incomplete because procedures have been added on a by-need basis for the implementation of other parts of the system, e.g. Scheme Graphics. Look in the implementation for further details.
Win32 API procedure names have been uniformly converted into Scheme identifiers as follows:
Is finally have a
question-mark appended.
Example: applying these rules to IsWindow yields
is-window?, and GetDC is translated into get-dc.