changeset 5920:0f2338afbabf cygwin

Minimum necessary to get started: sufficient to compile OK, run -nw, but not with window
author Henry Thompson <ht@markup.co.uk>
date Mon, 21 Apr 2014 11:42:50 +0100
parents 2800105fcc9f
children 68639fb08af8
files config.guess config.sub configure configure.ac lib-src/gnuclient.c lib-src/make-mswin-unicode.pl notes.txt src/console-msw-impl.h src/device-impl.h src/device.c src/dialog-msw.c src/event-msw.c src/frame-msw.c src/frame.c src/glyphs-msw.c src/glyphs.c src/intl-auto-encap-win32.c src/intl-auto-encap-win32.h src/intl-encap-win32.c src/m/x86_64.h src/s/cygwin64.h src/scrollbar-msw.c src/specifier.c
diffstat 23 files changed, 7762 insertions(+), 6433 deletions(-) [+]
line wrap: on
line diff
--- a/config.guess	Thu Dec 16 11:20:17 2021 +0000
+++ b/config.guess	Mon Apr 21 11:42:50 2014 +0100
@@ -2,7 +2,7 @@
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2013-02-12'
+timestamp='2013-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -132,6 +132,27 @@
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -853,21 +874,21 @@
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -880,59 +901,54 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -951,57 +967,63 @@
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
     or1k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${LIBC}
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1234,19 +1256,21 @@
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		case $UNAME_PROCESSOR in
+		    i386) UNAME_PROCESSOR=x86_64 ;;
+		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		esac
+	    fi
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
--- a/config.sub	Thu Dec 16 11:20:17 2021 +0000
+++ b/config.sub	Mon Apr 21 11:42:50 2014 +0100
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2013-02-12'
+timestamp='2013-04-24'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -252,7 +252,7 @@
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc \
+	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
 	| be32 | be64 \
@@ -366,7 +366,7 @@
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| be32-* | be64-* \
--- a/configure	Thu Dec 16 11:20:17 2021 +0000
+++ b/configure	Mon Apr 21 11:42:50 2014 +0100
@@ -5813,6 +5813,7 @@
   hppa-*-*         ) machine=hp800 ;;
   arm*             ) machine=arm ;;
   i[3-9]86-*-*   ) machine=intel386 ;;
+  x86_64-*-*       ) machine=x86_64 ;;
 esac
 
 case "$ac_cv_build" in
@@ -5888,6 +5889,12 @@
         test "$opsys $CC" = "sol2 /usr/ucb/cc" && CC=""
   ;;
 
+    x86_64-*-* )
+    case "$ac_cv_build" in
+      *-cygwin* )	opsys=cygwin64 ;;
+          esac
+  ;;
+
     i[3-9]86-*-* )
     case "$ac_cv_build" in
       *-mach* )			opsys=mach-bsd4-3 ;;
--- a/configure.ac	Thu Dec 16 11:20:17 2021 +0000
+++ b/configure.ac	Mon Apr 21 11:42:50 2014 +0100
@@ -1306,6 +1306,7 @@
   hppa-*-*         ) machine=hp800 ;;
   arm*             ) machine=arm ;;
   i[[3-9]]86-*-*   ) machine=intel386 ;;
+  x86_64-*-*       ) machine=x86_64 ;;
 esac
 
 dnl Straightforward OS determination
@@ -1391,6 +1392,14 @@
     test "$opsys $CC" = "sol2 /usr/ucb/cc" && CC=""
   ;;
 
+  dnl 64-bit machines where we do not care about the manufacturer
+  x86_64-*-* )
+    case "$ac_cv_build" in
+      *-cygwin* )	opsys=cygwin64 ;;
+      dnl Otherwise, we fall through to the generic opsys code at the bottom.
+    esac
+  ;;    
+
   dnl Intel 386 machines where we do not care about the manufacturer
   i[[3-9]]86-*-* )
     case "$ac_cv_build" in
--- a/lib-src/gnuclient.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/lib-src/gnuclient.c	Mon Apr 21 11:42:50 2014 +0100
@@ -45,13 +45,14 @@
  * ../etc/gnuserv.README relative to the directory containing this file)
  */
 
-#ifdef  CYGWIN
-extern void cygwin_conv_to_posix_path(const char *path, char *posix_path);
-#endif
-
 #include "gnuserv.h"
 #include "compiler.h"
 
+#ifdef  CYGWIN
+/*extern void cygwin_conv_to_posix_path(const char *path, char *posix_path);*/
+#include <sys/cygwin.h>
+#endif
+
 char gnuserv_version[] = "gnuclient version " GNUSERV_VERSION;
 
 #include "getopt.h"
@@ -190,7 +191,9 @@
   /*
     If we're in cygwin, just convert it and let the unix stuff handle it.
   */
-  cygwin_conv_to_posix_path(filename, cygwinFilename);
+  /* gone in 64-bit cygwin_conv_to_posix_path(filename, cygwinFilename); */
+  cygwin_conv_path (CCP_WIN_A_TO_POSIX | CCP_RELATIVE, filename, cygwinFilename,
+PATH_MAX);
   filename = cygwinFilename;
 #endif
 
--- a/lib-src/make-mswin-unicode.pl	Thu Dec 16 11:20:17 2021 +0000
+++ b/lib-src/make-mswin-unicode.pl	Mon Apr 21 11:42:50 2014 +0100
@@ -183,15 +183,15 @@
 # regexp matching a parenthesized argument list in a prototype
 my $args_re = "\\(((?:${ws_re}${arg_re}${ws_re},)*${ws_re}${arg_re}${ws_re})\\)";
 # regexp matching a return type in a protype
-my $rettype_re = "(SHSTDAPI_\\(${tok_ch}+\\)|${tok_ch}" . "[A-Za-z_0-9 \t\n\r\f]*?${tok_ch})";
+my $rettype_re = "(SHSTDAPI_\\([${tok_ch} *]+\\)|${tok_ch}" . "[A-Za-z_0-9 \t\n\r\f]*?${tok_ch})";
 # regexp matching a function name
 my $funname_re = "(${tok_ch}+)";
 # Regexp matching a function prototype, $1 = rettype, $2 = name, $3 = args
 my $fun_re = "${rettype_re}${ws_re}${funname_re}${ws_re}${args_re};";
 # Regexp matching a particular Unicode function (ending in ...W)
-my $wfun_re = "${rettype_re}${ws_re}${funname_re}W${ws_re}${args_re};";
+my $wfun_re = "(?:#endif|#ifndef ${tok_ch}+)?${ws_re}${rettype_re}${ws_re}${funname_re}W${ws_re}${args_re};";
 
-# print "regexp: $wfun_re\n";
+#print "regexp: $wfun_re\n";
 
 while (<>)
   {
@@ -250,6 +250,7 @@
 	      {
 		my ($fun, $reason) = split /\s+/, $parms, 2;
 		$files{$current_file}{$fun} = [$command, $reason];
+		#print "$current_file : $fun = $command, $reason\n";
 		$bracket{$current_file}{$fun} =
 		  $current_bracket[$#current_bracket];
 	      }
@@ -282,6 +283,7 @@
     while ($slurp =~ /$wfun_re/g)
       {
 	my ($rettype, $fun, $args) = ($1, $2, $3);
+	#print "slurped: $1 $2 $3\n";
 
 	if ($processed{$fun})
 	  {
@@ -298,6 +300,7 @@
 	# my ($command, $reason) = @$files{$file}{$fun};
 	# You have to use a temporary var.
 	my $filesarr = $files{$file}{$fun};
+	if (!defined ($filesarr)) {print "\nlosing: |$file|$fun|\n"; next}
 	my ($command, $reason) = @$filesarr;
 	if (!defined ($command))
 	  {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes.txt	Mon Apr 21 11:42:50 2014 +0100
@@ -0,0 +1,63 @@
+Brute-forced a set of changes which allowed
+ make unicode-encapsulate
+to work
+ 1) Patched make-mswin-unicode.pl to match macros with pointer return types;
+ 2) Updated intl-encap-win32.c to deal with
+    a) added functions;
+    b) refactoring of w32api include files.
+
+Renamed DEVICE_TYPE to DEVICE_TYPE_X in device-impl.h and everywhere
+it is used to avoid collision with DEVICE_TYPE in winioctl.h
+
+Minimal fixes to get to compile wrt int vs. intptr_t in
+ event-msw.c
+
+event-msw.c:67:3: error: #error Something is wrong -- you are neither
+Windows native (possibly MinGW) nor Cygwin.  # error Something is
+wrong -- you are neither Windows native (possibly MinGW) nor Cygwin.
+
+Ah, need a more up-to-date config.{sub,guess}, got one from somewhere
+dated timestamp='2013-06-10'
+
+Copy src/s/cygwin32.h to cygwin64.h and src/m/intel386.h to x86_64.h
+
+And a configure.ac which recognises cygwin64
+ 
+Remove cygwin_conv_to_posix_path from lib-src/gnuclient.c
+
+Replace calls to qxeGetWindowLong(... GWL_..) with
+qxeGetWindowLongPtr(... GWLP_...) (w. LONG_PTR result if used)
+after re-making unicode-encapsulate
+And one LONG l = qxeGetWindowLong (hwnd, XWL_FRAMEOBJ) to LONG_PTR l = qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ)
+
+Ah, several bugs in new header files in w32api, required some
+additions to wfun_re in make-mswin-unicode.pl
+
+That's enough to get event-msw.c to compile, although there are some
+size-related warnings.
+
+similar problem in frame-msw.c:
+ qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HICON
+
+and in glyphs-msw.c:
+ qxeGetWindowLong
+  (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)),
+   GWL_HINSTANCE),
+
+and scrollbar-msw.c
+also
+      (void *) opaque =
+	 (void *)qxeGetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA);
+
+        LONG_PTR opaque =
+	 qxeGetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA);
+
+and dialog-msw.c:197:31: error: ‘DWL_USER’ undeclared (first use in this function)
+       qxeSetWindowLong (hwnd, DWL_USER, l_param);
+
+Compiles all the way through, links OK, temacs runs!
+Build completes
+xemacs -nw works
+but xemacs as such does not:
+ > ./xemacs
+  Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created)
--- a/src/console-msw-impl.h	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/console-msw-impl.h	Mon Apr 21 11:42:50 2014 +0100
@@ -137,7 +137,7 @@
 #define DEVICE_MSPRINTER_DEVMODE(d) 	(DEVICE_MSPRINTER_DATA (d)->devmode)
 
 #define CONSOLE_TYPESYM_MSPRINTER_P(typesym) EQ (typesym, Qmsprinter)
-#define DEVICE_MSPRINTER_P(dev) CONSOLE_TYPESYM_MSPRINTER_P (DEVICE_TYPE (dev))
+#define DEVICE_MSPRINTER_P(dev) CONSOLE_TYPESYM_MSPRINTER_P (DEVICE_TYPE_X (dev))
 #define CHECK_MSPRINTER_DEVICE(z) CHECK_DEVICE_TYPE (z, msprinter)
 #define CONCHECK_MSPRINTER_DEVICE(z) CONCHECK_DEVICE_TYPE (z, msprinter)
 
--- a/src/device-impl.h	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/device-impl.h	Mon Apr 21 11:42:50 2014 +0100
@@ -52,8 +52,8 @@
   ((d)->devmeths->device_specific_frame_props)
 
 /* More public: */
-#define DEVICE_TYPE(d) ((d)->devmeths->symbol)
-#define XDEVICE_TYPE(d) DEVICE_TYPE (XDEVICE (d))
+#define DEVICE_TYPE_X(d) ((d)->devmeths->symbol)
+#define XDEVICE_TYPE(d) DEVICE_TYPE_X (XDEVICE (d))
 
 /******** Accessing / calling a device method *********/
 
@@ -147,13 +147,13 @@
 /* Redefine basic properties more efficiently */
 
 #undef DEVICE_LIVE_P
-#define DEVICE_LIVE_P(d) (!EQ (DEVICE_TYPE (d), Qdead))
+#define DEVICE_LIVE_P(d) (!EQ (DEVICE_TYPE_X (d), Qdead))
 #undef DEVICE_CONSOLE
 #define DEVICE_CONSOLE(d) ((d)->console)
 #undef DEVICE_FRAME_LIST
 #define DEVICE_FRAME_LIST(d) ((d)->frame_list)
 
-#define DEVICE_TYPE_P(d, type)	EQ (DEVICE_TYPE (d), Q##type)
+#define DEVICE_TYPE_P(d, type)	EQ (DEVICE_TYPE_X (d), Q##type)
 
 #ifdef ERROR_CHECK_TYPES
 DECLARE_INLINE_HEADER (
@@ -161,7 +161,7 @@
 error_check_device_type (struct device *d, Lisp_Object sym)
 )
 {
-  assert (EQ (DEVICE_TYPE (d), sym));
+  assert (EQ (DEVICE_TYPE_X (d), sym));
   return d;
 }
 # define DEVICE_TYPE_DATA(d, type)			\
@@ -231,27 +231,27 @@
    too many places where the abstraction is broken.  Need to
    fix. */
 
-#define DEVICE_X_P(dev) CONSOLE_TYPESYM_X_P (DEVICE_TYPE (dev))
+#define DEVICE_X_P(dev) CONSOLE_TYPESYM_X_P (DEVICE_TYPE_X (dev))
 #define CHECK_X_DEVICE(z) CHECK_DEVICE_TYPE (z, x)
 #define CONCHECK_X_DEVICE(z) CONCHECK_DEVICE_TYPE (z, x)
 
-#define DEVICE_GTK_P(dev) CONSOLE_TYPESYM_GTK_P (DEVICE_TYPE (dev))
+#define DEVICE_GTK_P(dev) CONSOLE_TYPESYM_GTK_P (DEVICE_TYPE_X (dev))
 #define CHECK_GTK_DEVICE(z) CHECK_DEVICE_TYPE (z, gtk)
 #define CONCHECK_GTK_DEVICE(z) CONCHECK_DEVICE_TYPE (z, gtk)
 
-#define DEVICE_MSWINDOWS_P(dev) CONSOLE_TYPESYM_MSWINDOWS_P (DEVICE_TYPE (dev))
+#define DEVICE_MSWINDOWS_P(dev) CONSOLE_TYPESYM_MSWINDOWS_P (DEVICE_TYPE_X (dev))
 #define CHECK_MSWINDOWS_DEVICE(z) CHECK_DEVICE_TYPE (z, mswindows)
 #define CONCHECK_MSWINDOWS_DEVICE(z) CONCHECK_DEVICE_TYPE (z, mswindows)
 
-#define DEVICE_TTY_P(dev) CONSOLE_TYPESYM_TTY_P (DEVICE_TYPE (dev))
+#define DEVICE_TTY_P(dev) CONSOLE_TYPESYM_TTY_P (DEVICE_TYPE_X (dev))
 #define CHECK_TTY_DEVICE(z) CHECK_DEVICE_TYPE (z, tty)
 #define CONCHECK_TTY_DEVICE(z) CONCHECK_DEVICE_TYPE (z, tty)
 
-#define DEVICE_STREAM_P(dev) CONSOLE_TYPESYM_STREAM_P (DEVICE_TYPE (dev))
+#define DEVICE_STREAM_P(dev) CONSOLE_TYPESYM_STREAM_P (DEVICE_TYPE_X (dev))
 #define CHECK_STREAM_DEVICE(z) CHECK_DEVICE_TYPE (z, stream)
 #define CONCHECK_STREAM_DEVICE(z) CONCHECK_DEVICE_TYPE (z, stream)
 
-#define DEVICE_WIN_P(dev) CONSOLE_TYPESYM_WIN_P (DEVICE_TYPE (dev))
+#define DEVICE_WIN_P(dev) CONSOLE_TYPESYM_WIN_P (DEVICE_TYPE_X (dev))
 
 #define DEVICE_REDISPLAY_INFO(d) ((d)->redisplay_info)
 
--- a/src/device.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/device.c	Mon Apr 21 11:42:50 2014 +0100
@@ -496,7 +496,7 @@
     {
       Lisp_Object device = XCAR (devcons);
 
-      if (EQ (CONMETH_TYPE (meths), DEVICE_TYPE (XDEVICE (device)))
+      if (EQ (CONMETH_TYPE (meths), DEVICE_TYPE_X (XDEVICE (device)))
 	  && internal_equal (DEVICE_CANON_CONNECTION (XDEVICE (device)),
 			     canon, 0))
 	return device;
@@ -909,7 +909,7 @@
   /* Now see if we're the default device, and thus need to be changed. */
   {
     /* Device type still OK, not set to null till down below. */
-    Lisp_Object dt = DEVICE_TYPE (d);
+    Lisp_Object dt = DEVICE_TYPE_X (d);
 
     if (EQ (device, get_default_device (dt)))
       {
--- a/src/dialog-msw.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/dialog-msw.c	Mon Apr 21 11:42:50 2014 +0100
@@ -194,13 +194,13 @@
   switch (msg)
     {
     case WM_INITDIALOG:
-      qxeSetWindowLong (hwnd, DWL_USER, l_param);
+      qxeSetWindowLongPtr (hwnd, DWLP_USER, l_param);
       break;
       
     case WM_DESTROY:
       {
 	Lisp_Object data;
-	data = GET_LISP_FROM_VOID ((void *) qxeGetWindowLong (hwnd, DWL_USER));
+	data = GET_LISP_FROM_VOID (qxeGetWindowLongPtr (hwnd, DWLP_USER));
 	Vdialog_data_list = delq_no_quit (data, Vdialog_data_list);
       }
       break;
@@ -210,7 +210,7 @@
 	Lisp_Object fn, arg, data;
 	struct mswindows_dialog_id *did;
 
-	data = GET_LISP_FROM_VOID ((void *) qxeGetWindowLong (hwnd, DWL_USER));
+	data = GET_LISP_FROM_VOID ( qxeGetWindowLongPtr (hwnd, DWLP_USER));
 	did = XMSWINDOWS_DIALOG_ID (data);
 	if (w_param != IDCANCEL) /* user pressed escape */
 	  {
--- a/src/event-msw.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/event-msw.c	Mon Apr 21 11:42:50 2014 +0100
@@ -1830,7 +1830,7 @@
 				  LISP_STRING_TO_TSTR (name),
 				  XEUNICODE_P ? CP_WINUNICODE : CP_WINANSI);
 
-  Fput(token, QHSZ, make_float ((int)hsz));
+  Fput(token, QHSZ, make_float ((intptr_t)hsz));
   Vdde_advise_items = Fcons (token, Vdde_advise_items);
 
   RETURN_UNGCPRO (token);
@@ -1855,7 +1855,7 @@
   val = Fget (item, QHSZ, Qnil);
   if (!FLOATP (val))
     return Qnil;
-  hsz = (HSZ)(int)XFLOAT_DATA (val);
+  hsz = (HSZ)(intptr_t)XFLOAT_DATA (val);
   DdeFreeStringHandle (mswindows_dde_mlid, hsz);
   Vdde_advise_items = delq_no_quit (item, Vdde_advise_items);
   return Qnil;
@@ -1879,7 +1879,7 @@
   val = Fget (item, QHSZ, Qnil);
   if (!FLOATP (val))
     return Qnil;
-  hsz = (HSZ)(int)XFLOAT_DATA (val);
+  hsz = (HSZ)(intptr_t)XFLOAT_DATA (val);
 
   Fset (item, data);
   DdePostAdvise (mswindows_dde_mlid, mswindows_dde_topic_eval, hsz);
@@ -1941,7 +1941,7 @@
 		val = Fget (elt, QHSZ, Qnil);
 		if (!FLOATP (val))
 		  continue;
-		hsz = (HSZ) (int) XFLOAT_DATA (val);
+		hsz = (HSZ)(intptr_t) XFLOAT_DATA (val);
 		if (!DdeCmpStringHandles (hszItem, hsz))
 		  return (HDDEDATA) TRUE;
 	      }
@@ -2005,7 +2005,7 @@
 		val = Fget (elt, QHSZ, Qnil);
 		if (!FLOATP (val))
 		  continue;
-		hsz = (HSZ) (int) XFLOAT_DATA (val);
+		hsz = (HSZ)(intptr_t) XFLOAT_DATA (val);
 		if (!DdeCmpStringHandles (hszItem, hsz))
 		  args[1] = Fsymbol_value (elt);
 	      }
@@ -2502,7 +2502,7 @@
     debug_output_mswin_message (hwnd, message_, wParam, lParam);
 #endif /* DEBUG_XEMACS */
 
-  assert (!qxeGetWindowLong (hwnd, GWL_USERDATA));
+  assert (!qxeGetWindowLongPtr (hwnd, GWLP_USERDATA));
   switch (message_)
     {
     case WM_DESTROYCLIPBOARD:
@@ -3619,7 +3619,7 @@
 	/* if we get an opportunity to paint a widget then do so if
 	   there is an appropriate face */
 	HWND crtlwnd = (HWND) lParam;
-	LONG ii = qxeGetWindowLong (crtlwnd, GWL_USERDATA);
+	LONG_PTR ii = qxeGetWindowLongPtr (crtlwnd, GWLP_USERDATA);
 	if (ii)
 	  {
 	    Lisp_Object image_instance;
@@ -4139,7 +4139,7 @@
 Lisp_Object
 mswindows_find_frame (HWND hwnd)
 {
-  LONG l = qxeGetWindowLong (hwnd, XWL_FRAMEOBJ);
+  LONG_PTR l = qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ);
   Lisp_Object f;
   if (l == 0)
     {
@@ -4149,7 +4149,7 @@
       assert (!NILP (Vmswindows_frame_being_created));
       return Vmswindows_frame_being_created;
     }
-  f = GET_LISP_FROM_VOID ((void *) l);
+  f = GET_LISP_FROM_VOID ((intptr_t) l);
   return f;
 }
 
@@ -4179,7 +4179,7 @@
 {
   if (XEVENT_TYPE (ev) == timeout_event)
     {
-      if ((int) data == XEVENT_TIMEOUT_INTERVAL_ID (ev))
+      if ((intptr_t) data == XEVENT_TIMEOUT_INTERVAL_ID (ev))
 	return 1;
     }
 
@@ -4965,8 +4965,8 @@
 
   if (debug_mswindows_events > 1)
     {
-      stderr_out (" wparam=%d lparam=%d hwnd=%x frame: ",
-		  wParam, (int) lParam, (unsigned int) hwnd);
+      stderr_out (" wparam=%d lparam=%d hwnd=%p frame: ",
+		  (int)wParam, (int) lParam, hwnd);
       debug_print (frame);
       if (message_ == WM_WINDOWPOSCHANGED ||
           message_ == WM_WINDOWPOSCHANGING)
--- a/src/frame-msw.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/frame-msw.c	Mon Apr 21 11:42:50 2014 +0100
@@ -488,8 +488,8 @@
 						    FALSE);
 	}
 
-      qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HICON,
-		       (LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->icon));
+      qxeSetClassLongPtr (FRAME_MSWINDOWS_HANDLE (f), GCLP_HICON,
+		       (LONG_PTR) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->icon));
     }
 }
 
@@ -499,8 +499,8 @@
   if (IMAGE_INSTANCEP (f->pointer)
       && IMAGE_INSTANCE_TYPE (XIMAGE_INSTANCE (f->pointer)) == IMAGE_POINTER)
     {
-      qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HCURSOR,
-		       (LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer));
+      qxeSetClassLongPtr (FRAME_MSWINDOWS_HANDLE (f), GCLP_HCURSOR,
+		       (LONG_PTR) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer));
       /* we only have to do this because GC doesn't cause a mouse
          event and doesn't give time to event processing even if it
          did. */
--- a/src/frame.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/frame.c	Mon Apr 21 11:42:50 2014 +0100
@@ -1556,7 +1556,7 @@
   if (CONSOLEP (device_spec))
     return EQ (DEVICE_CONSOLE (XDEVICE (device)), device_spec);
   if (valid_console_type_p (device_spec))
-    return EQ (DEVICE_TYPE (XDEVICE (device)), device_spec);
+    return EQ (DEVICE_TYPE_X (XDEVICE (device)), device_spec);
   return 1;
 }
 
--- a/src/glyphs-msw.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/glyphs-msw.c	Mon Apr 21 11:42:50 2014 +0100
@@ -2133,12 +2133,12 @@
 			 IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (ii),
 			 0,
 			 (HINSTANCE)
-			 qxeGetWindowLong
+			 qxeGetWindowLongPtr
 			 (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)),
-			  GWL_HINSTANCE),
+			  GWLP_HINSTANCE),
 			 NULL);
 
-  qxeSetWindowLong (wnd, GWL_USERDATA, (LONG)STORE_LISP_IN_VOID(image_instance));
+  qxeSetWindowLongPtr (wnd, GWLP_USERDATA, (LONG_PTR)STORE_LISP_IN_VOID(image_instance));
   IMAGE_INSTANCE_SUBWINDOW_ID (ii) = wnd;
 }
 
@@ -2278,15 +2278,15 @@
 				IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (ii),
 				(HMENU)id,       /* No menu */
 				(HINSTANCE)
-				qxeGetWindowLong
+				qxeGetWindowLongPtr
 				(FRAME_MSWINDOWS_HANDLE (XFRAME (frame)),
-				 GWL_HINSTANCE),
+				 GWLP_HINSTANCE),
 				NULL)) == NULL)
     gui_error ("window creation failed with code",
 	       make_fixnum (GetLastError()));
 
   IMAGE_INSTANCE_SUBWINDOW_ID (ii) = wnd;
-  qxeSetWindowLong (wnd, GWL_USERDATA, (LONG)STORE_LISP_IN_VOID(image_instance));
+  qxeSetWindowLongPtr (wnd, GWLP_USERDATA, (LONG_PTR)STORE_LISP_IN_VOID(image_instance));
   /* set the widget font from the widget face */
   if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii)))
     qxeSendMessage (wnd, WM_SETFONT,
--- a/src/glyphs.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/glyphs.c	Mon Apr 21 11:42:50 2014 +0100
@@ -1532,7 +1532,7 @@
      image instance ... */
   dest_mask = decode_image_instance_type_list (dest_types);
   data = normalize_image_instantiator (data,
-				       DEVICE_TYPE (DOMAIN_XDEVICE (domain)),
+				       DEVICE_TYPE_X (DOMAIN_XDEVICE (domain)),
 				       make_fixnum (dest_mask));
   GCPRO1 (data);
   /* After normalizing the data, it's always either an image instance (which
--- a/src/intl-auto-encap-win32.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/intl-auto-encap-win32.c	Mon Apr 21 11:42:50 2014 +0100
@@ -13,139 +13,51 @@
 
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file WINCON.H                       */
-/*----------------------------------------------------------------------*/
-
-/* Error if FillConsoleOutputCharacter used: split CHAR */
-
-DWORD
-qxeGetConsoleTitle (Extbyte * arg1, DWORD arg2)
-{
-  if (XEUNICODE_P)
-    return GetConsoleTitleW ((LPWSTR) arg1, arg2);
-  else
-    return GetConsoleTitleA ((LPSTR) arg1, arg2);
-}
-
-BOOL
-qxePeekConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return PeekConsoleInputW (arg1, arg2, arg3, arg4);
-  else
-    return PeekConsoleInputA (arg1, arg2, arg3, arg4);
-}
-
-BOOL
-qxeReadConsole (HANDLE arg1, PVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5)
-{
-  if (XEUNICODE_P)
-    return ReadConsoleW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return ReadConsoleA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeReadConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return ReadConsoleInputW (arg1, arg2, arg3, arg4);
-  else
-    return ReadConsoleInputA (arg1, arg2, arg3, arg4);
-}
-
-BOOL
-qxeReadConsoleOutputCharacter (HANDLE arg1, Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return ReadConsoleOutputCharacterW (arg1, (LPWSTR) arg2, arg3, arg4, arg5);
-  else
-    return ReadConsoleOutputCharacterA (arg1, (LPSTR) arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeReadConsoleOutput (HANDLE arg1, PCHAR_INFO arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5)
-{
-  if (XEUNICODE_P)
-    return ReadConsoleOutputW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return ReadConsoleOutputA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeScrollConsoleScreenBuffer (HANDLE arg1, const SMALL_RECT* arg2, const SMALL_RECT* arg3, COORD arg4, const CHAR_INFO* arg5)
-{
-  if (XEUNICODE_P)
-    return ScrollConsoleScreenBufferW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return ScrollConsoleScreenBufferA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeSetConsoleTitle (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return SetConsoleTitleW ((LPCWSTR) arg1);
-  else
-    return SetConsoleTitleA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeWriteConsole (HANDLE arg1, PCVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5)
-{
-  if (XEUNICODE_P)
-    return WriteConsoleW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return WriteConsoleA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeWriteConsoleInput (HANDLE arg1, const INPUT_RECORD* arg2, DWORD arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return WriteConsoleInputW (arg1, arg2, arg3, arg4);
-  else
-    return WriteConsoleInputA (arg1, arg2, arg3, arg4);
-}
-
-BOOL
-qxeWriteConsoleOutput (HANDLE arg1, const CHAR_INFO* arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5)
-{
-  if (XEUNICODE_P)
-    return WriteConsoleOutputW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return WriteConsoleOutputA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeWriteConsoleOutputCharacter (HANDLE arg1, const Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return WriteConsoleOutputCharacterW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return WriteConsoleOutputCharacterA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
-}
-
-
-/*----------------------------------------------------------------------*/
 /*                      Processing file SHELLAPI.H                      */
 /*----------------------------------------------------------------------*/
 
+UINT
+qxeDragQueryFile (HDROP hDrop, UINT iFile, Extbyte * lpszFile, UINT cch)
+{
+  if (XEUNICODE_P)
+    return DragQueryFileW (hDrop, iFile, (LPWSTR) lpszFile, cch);
+  else
+    return DragQueryFileA (hDrop, iFile, (LPSTR) lpszFile, cch);
+}
+
+HINSTANCE
+qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd)
+{
+  if (XEUNICODE_P)
+    return ShellExecuteW (hwnd, (LPCWSTR) lpOperation, (LPCWSTR) lpFile, (LPCWSTR) lpParameters, (LPCWSTR) lpDirectory, nShowCmd);
+  else
+    return ShellExecuteA (hwnd, (LPCSTR) lpOperation, (LPCSTR) lpFile, (LPCSTR) lpParameters, (LPCSTR) lpDirectory, nShowCmd);
+}
+
+HINSTANCE
+qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult)
+{
+  if (XEUNICODE_P)
+    return FindExecutableW ((LPCWSTR) lpFile, (LPCWSTR) lpDirectory, (LPWSTR) lpResult);
+  else
+    return FindExecutableA ((LPCSTR) lpFile, (LPCSTR) lpDirectory, (LPSTR) lpResult);
+}
+
 /* Error if CommandLineToArgv used: Unicode-only */
 
-UINT
-qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4)
-{
-  if (XEUNICODE_P)
-    return DragQueryFileW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return DragQueryFileA (arg1, arg2, (LPSTR) arg3, arg4);
+INT
+qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon)
+{
+  if (XEUNICODE_P)
+    return ShellAboutW (hWnd, (LPCWSTR) szApp, (LPCWSTR) szOtherStuff, hIcon);
+  else
+    return ShellAboutA (hWnd, (LPCSTR) szApp, (LPCSTR) szOtherStuff, hIcon);
 }
 
 /* NOTE: error arg2, Cygwin prototype, extra const.
    NOTE: Prototype manually overridden.
          Header file claims:
-           HICON WINAPI ExtractAssociatedIcon(HINSTANCE,LPCWSTR,PWORD)
+           SHSTDAPI_(HICON) ExtractAssociatedIcon(HINSTANCE hInst, LPWSTR pszIconPath, WORD *piIcon)
          Overridden with:
            HICON ExtractAssociatedIcon(HINSTANCE, LPWSTR, LPWORD)
          Differences in return-type qualifiers, e.g. WINAPI, are not important.
@@ -159,86 +71,73 @@
     return ExtractAssociatedIconA (arg1, (LPSTR) arg2, arg3);
 }
 
+/* Error if ExtractAssociatedIconEx used: HST: new? -- needs review */
+
 HICON
-qxeExtractIcon (HINSTANCE arg1, const Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return ExtractIconW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return ExtractIconA (arg1, (LPCSTR) arg2, arg3);
-}
+qxeExtractIcon (HINSTANCE hInst, const Extbyte * pszExeFileName, UINT nIconIndex)
+{
+  if (XEUNICODE_P)
+    return ExtractIconW (hInst, (LPCWSTR) pszExeFileName, nIconIndex);
+  else
+    return ExtractIconA (hInst, (LPCSTR) pszExeFileName, nIconIndex);
+}
+
+#if !defined (CYGWIN_HEADERS)
+
+/* NOTE: NT 4.0+ only */
+DWORD
+qxeDoEnvironmentSubst (Extbyte * pszSrc, UINT cchSrc)
+{
+  if (XEUNICODE_P)
+    return DoEnvironmentSubstW ((LPWSTR) pszSrc, cchSrc);
+  else
+    return DoEnvironmentSubstA ((LPSTR) pszSrc, cchSrc);
+}
+
+#endif /* !defined (CYGWIN_HEADERS) */
 
 /* NOTE: NT 4.0+ only, former error in Cygwin prototype but no more (Cygwin 1.7, 1-30-10) */
 UINT
-qxeExtractIconEx (const Extbyte * arg1, int arg2, HICON* arg3, HICON* arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return ExtractIconExW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5);
-  else
-    return ExtractIconExA ((LPCSTR) arg1, arg2, arg3, arg4, arg5);
-}
-
-HINSTANCE
-qxeFindExecutable (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return FindExecutableW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPWSTR) arg3);
-  else
-    return FindExecutableA ((LPCSTR) arg1, (LPCSTR) arg2, (LPSTR) arg3);
-}
-
-/* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */
-
-int
-qxeShellAbout (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, HICON arg4)
-{
-  if (XEUNICODE_P)
-    return ShellAboutW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4);
-  else
-    return ShellAboutA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4);
-}
-
-HINSTANCE
-qxeShellExecute (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4, const Extbyte * arg5, INT arg6)
-{
-  if (XEUNICODE_P)
-    return ShellExecuteW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, (LPCWSTR) arg5, arg6);
-  else
-    return ShellExecuteA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4, (LPCSTR) arg5, arg6);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeShellExecuteEx (LPSHELLEXECUTEINFOW arg1)
-{
-  if (XEUNICODE_P)
-    return ShellExecuteExW (arg1);
-  else
-    return ShellExecuteExA ((LPSHELLEXECUTEINFOA) arg1);
+qxeExtractIconEx (const Extbyte * lpszFile, int nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons)
+{
+  if (XEUNICODE_P)
+    return ExtractIconExW ((LPCWSTR) lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
+  else
+    return ExtractIconExA ((LPCSTR) lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
 }
 
 /* NOTE: NT 4.0+ only */
 int
-qxeSHFileOperation (LPSHFILEOPSTRUCTW arg1)
-{
-  if (XEUNICODE_P)
-    return SHFileOperationW (arg1);
-  else
-    return SHFileOperationA ((LPSHFILEOPSTRUCTA) arg1);
-}
-
-/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
+qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp)
+{
+  if (XEUNICODE_P)
+    return SHFileOperationW (lpFileOp);
+  else
+    return SHFileOperationA ((LPSHFILEOPSTRUCTA) lpFileOp);
+}
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeShellExecuteEx (SHELLEXECUTEINFOW * pExecInfo)
+{
+  if (XEUNICODE_P)
+    return ShellExecuteExW (pExecInfo);
+  else
+    return ShellExecuteExA (pExecInfo);
+}
+
+/* Error if SHCreateProcessAsUser used: HST: new? -- needs review */
 
 #if !defined (CYGWIN_HEADERS)
 
 /* NOTE: NT 4.0+ only */
 HRESULT
-qxeSHQueryRecycleBin (const Extbyte * arg1, LPSHQUERYRBINFO arg2)
-{
-  if (XEUNICODE_P)
-    return SHQueryRecycleBinW ((LPCWSTR) arg1, arg2);
-  else
-    return SHQueryRecycleBinA ((LPCSTR) arg1, arg2);
+qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
+{
+  if (XEUNICODE_P)
+    return SHQueryRecycleBinW ((LPCWSTR) pszRootPath, pSHQueryRBInfo);
+  else
+    return SHQueryRecycleBinA ((LPCSTR) pszRootPath, pSHQueryRBInfo);
 }
 
 #endif /* !defined (CYGWIN_HEADERS) */
@@ -247,16 +146,58 @@
 
 /* NOTE: NT 4.0+ only */
 HRESULT
-qxeSHEmptyRecycleBin (HWND arg1, const Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return SHEmptyRecycleBinW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return SHEmptyRecycleBinA (arg1, (LPCSTR) arg2, arg3);
+qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return SHEmptyRecycleBinW (hwnd, (LPCWSTR) pszRootPath, dwFlags);
+  else
+    return SHEmptyRecycleBinA (hwnd, (LPCSTR) pszRootPath, dwFlags);
 }
 
 #endif /* !defined (CYGWIN_HEADERS) */
 
+/* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */
+
+/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
+
+/* Error if SHGetDiskFreeSpaceEx used: HST: new? -- needs review */
+
+#if !defined (CYGWIN_HEADERS)
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, WINBOOL * pfMustCopy, UINT uFlags)
+{
+  if (XEUNICODE_P)
+    return SHGetNewLinkInfoW ((LPCWSTR) pszLinkTo, (LPCWSTR) pszDir, (LPWSTR) pszName, pfMustCopy, uFlags);
+  else
+    return SHGetNewLinkInfoA ((LPCSTR) pszLinkTo, (LPCSTR) pszDir, (LPSTR) pszName, pfMustCopy, uFlags);
+}
+
+#endif /* !defined (CYGWIN_HEADERS) */
+
+#if !defined (CYGWIN_HEADERS)
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, WINBOOL fModal)
+{
+  if (XEUNICODE_P)
+    return SHInvokePrinterCommandW (hwnd, uAction, (LPCWSTR) lpBuf1, (LPCWSTR) lpBuf2, fModal);
+  else
+    return SHInvokePrinterCommandA (hwnd, uAction, (LPCSTR) lpBuf1, (LPCSTR) lpBuf2, fModal);
+}
+
+#endif /* !defined (CYGWIN_HEADERS) */
+
+/* Error if IsLFNDrive used: HST: new? -- needs review */
+
+/* Error if SHEnumerateUnreadMailAccounts used: HST: new? -- needs review */
+
+/* Error if SHGetUnreadMailCount used: HST: new? -- needs review */
+
+/* Error if SHSetUnreadMailCount used: HST: new? -- needs review */
+
 
 /*----------------------------------------------------------------------*/
 /*                      Processing file WINSPOOL.H                      */
@@ -264,25 +205,45 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddForm used: not used, complicated interface with split structures */
+/* NOTE: #### problems with DEVMODE pointer in PRINTER_INFO_2 */
+WINBOOL
+qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
+{
+  if (XEUNICODE_P)
+    return EnumPrintersW (Flags, (LPWSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
+  else
+    return EnumPrintersA (Flags, (LPSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddJob used: not used, complicated interface with split structures */
+/* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddMonitor used: not used, complicated interface with split structures */
+/* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddPort used: not used, complicated interface with split structures */
+/* Error if GetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -294,7 +255,13 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddPrinterConnection used: not used, complicated interface with split structures */
+/* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if GetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -306,109 +273,7 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddPrintProcessor used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if AddPrintProvidor used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if ConfigurePort used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeleteForm used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeleteMonitor used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePort used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePrinterConnection used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePrinterData used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePrinterDriver used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePrintProcessor used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if DeletePrintProvidor used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumForms used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumMonitors used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumPorts used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumPrinterData used: not used, complicated interface with split structures */
+/* Error if AddPrinterDriverEx used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -420,62 +285,6 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* NOTE: #### problems with DEVMODE pointer in PRINTER_INFO_2 */
-BOOL
-qxeEnumPrinters (DWORD arg1, Extbyte * arg2, DWORD arg3, PBYTE arg4, DWORD arg5, PDWORD arg6, PDWORD arg7)
-{
-  if (XEUNICODE_P)
-    return EnumPrintersW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return EnumPrintersA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if EnumPrintProcessors used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetDefaultPrinter used: Function needs review to determine how to handle it */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetForm used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetPrinterData used: not used, complicated interface with split structures */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
 /* Error if GetPrinterDriver used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -488,43 +297,97 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
+/* Error if DeletePrinterDriver used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeletePrinterDriverEx used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if AddPrintProcessor used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if EnumPrintProcessors used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
 /* Error if GetPrintProcessorDirectory used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
+/* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeletePrintProcessor used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if PrinterMessageBox used: not used, complicated interface with split structures */
+/* Error if StartDocPrinter used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if AddJob used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
+/* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if GetPrinterData used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if SetForm used: not used, complicated interface with split structures */
+/* Error if GetPrinterDataEx used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
+/* Error if EnumPrinterData used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
+/* Error if EnumPrinterDataEx used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if EnumPrinterKey used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -536,252 +399,205 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if StartDocPrinter used: not used, complicated interface with split structures */
+/* Error if SetPrinterDataEx used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
-
-/*----------------------------------------------------------------------*/
-/*                      Processing file WINNETWK.H                      */
-/*----------------------------------------------------------------------*/
-
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return WNetAddConnectionW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return WNetAddConnectionA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3);
-}
+/* Error if DeletePrinterData used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeletePrinterDataEx used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection2 (LPNETRESOURCEW arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return WNetAddConnection2W (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4);
-  else
-    return WNetAddConnection2A ((LPNETRESOURCEA) arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4);
-}
+/* Error if DeletePrinterKey used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection3 (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5)
-{
-  if (XEUNICODE_P)
-    return WNetAddConnection3W (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, arg5);
-  else
-    return WNetAddConnection3A (arg1, (LPNETRESOURCEA) arg2, (LPCSTR) arg3, (LPCSTR) arg4, arg5);
-}
+/* Error if PrinterMessageBox used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if AddForm used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeleteForm used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetCancelConnection (const Extbyte * arg1, BOOL arg2)
-{
-  if (XEUNICODE_P)
-    return WNetCancelConnectionW ((LPCWSTR) arg1, arg2);
-  else
-    return WNetCancelConnectionA ((LPCSTR) arg1, arg2);
-}
+/* Error if GetForm used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetCancelConnection2 (const Extbyte * arg1, DWORD arg2, BOOL arg3)
-{
-  if (XEUNICODE_P)
-    return WNetCancelConnection2W ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return WNetCancelConnection2A ((LPCSTR) arg1, arg2, arg3);
-}
+/* Error if SetForm used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if EnumForms used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if EnumMonitors used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetConnection (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3)
-{
-  if (XEUNICODE_P)
-    return WNetGetConnectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return WNetGetConnectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
-}
+/* Error if AddMonitor used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeleteMonitor used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetUseConnection (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5, Extbyte * arg6, PDWORD arg7, PDWORD arg8)
-{
-  if (XEUNICODE_P)
-    return WNetUseConnectionW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, arg5, (LPWSTR) arg6, arg7, arg8);
-  else
-    return WNetUseConnectionA (arg1, (LPNETRESOURCEA) arg2, (LPCSTR) arg3, (LPCSTR) arg4, arg5, (LPSTR) arg6, arg7, arg8);
-}
+/* Error if EnumPorts used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if WNetSetConnection used: Function needs review to determine how to handle it */
+/* Error if AddPort used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* NOTE: contains split-simple LPNETRESOURCE */
-DWORD 
-qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW arg1)
-{
-  if (XEUNICODE_P)
-    return WNetConnectionDialog1W (arg1);
-  else
-    return WNetConnectionDialog1A ((LPCONNECTDLGSTRUCTA) arg1);
-}
+/* Error if ConfigurePort used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW arg1)
-{
-  if (XEUNICODE_P)
-    return WNetDisconnectDialog1W (arg1);
-  else
-    return WNetDisconnectDialog1A ((LPDISCDLGSTRUCTA) arg1);
-}
+/* Error if DeletePort used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if XcvData used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if GetDefaultPrinter used: Function needs review to determine how to handle it */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetOpenEnum (DWORD arg1, DWORD arg2, DWORD arg3, LPNETRESOURCEW arg4, LPHANDLE arg5)
-{
-  if (XEUNICODE_P)
-    return WNetOpenEnumW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return WNetOpenEnumA (arg1, arg2, arg3, (LPNETRESOURCEA) arg4, arg5);
-}
+/* Error if SetDefaultPrinter used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if SetPort used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetEnumResource (HANDLE arg1, PDWORD arg2, PVOID arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return WNetEnumResourceW (arg1, arg2, arg3, arg4);
-  else
-    return WNetEnumResourceA (arg1, arg2, arg3, arg4);
-}
+/* Error if AddPrinterConnection used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetUniversalName (const Extbyte * arg1, DWORD arg2, PVOID arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return WNetGetUniversalNameW ((LPCWSTR) arg1, arg2, arg3, arg4);
-  else
-    return WNetGetUniversalNameA ((LPCSTR) arg1, arg2, arg3, arg4);
-}
+/* Error if DeletePrinterConnection used: not used, complicated interface with split structures */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if AddPrintProvidor used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetUser (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3)
-{
-  if (XEUNICODE_P)
-    return WNetGetUserW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return WNetGetUserA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
-}
+/* Error if DeletePrintProvidor used: not used, complicated interface with split structures */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetProviderName (DWORD arg1, Extbyte * arg2, PDWORD arg3)
-{
-  if (XEUNICODE_P)
-    return WNetGetProviderNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return WNetGetProviderNameA (arg1, (LPSTR) arg2, arg3);
-}
+/* Error if AddPrinterConnection2 used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DeletePrinterDriverPackage used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if DocumentEvent used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetNetworkInformation (const Extbyte * arg1, LPNETINFOSTRUCT arg2)
-{
-  if (XEUNICODE_P)
-    return WNetGetNetworkInformationW ((LPCWSTR) arg1, arg2);
-  else
-    return WNetGetNetworkInformationA ((LPCSTR) arg1, arg2);
-}
+/* Error if GetCorePrinterDrivers used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if WNetGetResourceInformation used: Function needs review to determine how to handle it */
+/* Error if GetPrinterDriver2 used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if WNetGetResourceParent used: Function needs review to determine how to handle it */
+/* Error if GetPrinterDriverPackagePath used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetGetLastError (PDWORD arg1, Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5)
-{
-  if (XEUNICODE_P)
-    return WNetGetLastErrorW (arg1, (LPWSTR) arg2, arg3, (LPWSTR) arg4, arg5);
-  else
-    return WNetGetLastErrorA (arg1, (LPSTR) arg2, arg3, (LPSTR) arg4, arg5);
-}
+/* Error if GetSpoolFileHandle used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeMultinetGetConnectionPerformance (LPNETRESOURCEW arg1, LPNETCONNECTINFOSTRUCT arg2)
-{
-  if (XEUNICODE_P)
-    return MultinetGetConnectionPerformanceW (arg1, arg2);
-  else
-    return MultinetGetConnectionPerformanceA ((LPNETRESOURCEA) arg1, arg2);
-}
+/* Error if OpenPrinter2 used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if UploadPrinterDriverPackage used: HST: new? -- needs review */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -790,188 +606,58 @@
 /*                      Processing file WINUSER.H                       */
 /*----------------------------------------------------------------------*/
 
-BOOL
-qxeAppendMenu (HMENU arg1, UINT arg2, UINT_PTR arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return AppendMenuW (arg1, arg2, arg3, (LPCWSTR) arg4);
-  else
-    return AppendMenuA (arg1, arg2, arg3, (LPCSTR) arg4);
-}
-
-/* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */
-
-/* Error if BroadcastSystemMessageEx used: Function needs review to determine how to handle it */
-
-#if !defined (CYGWIN_HEADERS)
-
-BOOL
-qxeCallMsgFilter (LPMSG arg1, INT arg2)
-{
-  if (XEUNICODE_P)
-    return CallMsgFilterW (arg1, arg2);
-  else
-    return CallMsgFilterA (arg1, arg2);
-}
-
-#endif /* !defined (CYGWIN_HEADERS) */
-
-/* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
-
-/* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */
-
-/* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */
-
-BOOL
-qxeChangeMenu (HMENU arg1, UINT arg2, const Extbyte * arg3, UINT arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return ChangeMenuW (arg1, arg2, (LPCWSTR) arg3, arg4, arg5);
-  else
-    return ChangeMenuA (arg1, arg2, (LPCSTR) arg3, arg4, arg5);
-}
-
-Extbyte *
-qxeCharLower (Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) CharLowerW ((LPWSTR) arg1);
-  else
-    return (Extbyte *) CharLowerA ((LPSTR) arg1);
-}
-
-DWORD
-qxeCharLowerBuff (Extbyte * arg1, DWORD arg2)
-{
-  if (XEUNICODE_P)
-    return CharLowerBuffW ((LPWSTR) arg1, arg2);
-  else
-    return CharLowerBuffA ((LPSTR) arg1, arg2);
-}
-
-Extbyte *
-qxeCharNext (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) CharNextW ((LPCWSTR) arg1);
-  else
-    return (Extbyte *) CharNextA ((LPCSTR) arg1);
-}
-
-Extbyte *
-qxeCharPrev (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) CharPrevW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return (Extbyte *) CharPrevA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeCharToOem (const Extbyte * arg1, LPSTR arg2)
-{
-  if (XEUNICODE_P)
-    return CharToOemW ((LPCWSTR) arg1, arg2);
-  else
-    return CharToOemA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeCharToOemBuff (const Extbyte * arg1, LPSTR arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return CharToOemBuffW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return CharToOemBuffA ((LPCSTR) arg1, arg2, arg3);
-}
-
-Extbyte *
-qxeCharUpper (Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) CharUpperW ((LPWSTR) arg1);
-  else
-    return (Extbyte *) CharUpperA ((LPSTR) arg1);
-}
-
-DWORD
-qxeCharUpperBuff (Extbyte * arg1, DWORD arg2)
-{
-  if (XEUNICODE_P)
-    return CharUpperBuffW ((LPWSTR) arg1, arg2);
-  else
-    return CharUpperBuffA ((LPSTR) arg1, arg2);
-}
-
 int
-qxeCopyAcceleratorTable (HACCEL arg1, LPACCEL arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return CopyAcceleratorTableW (arg1, arg2, arg3);
-  else
-    return CopyAcceleratorTableA (arg1, arg2, arg3);
-}
-
-HACCEL
-qxeCreateAcceleratorTable (LPACCEL arg1, int arg2)
-{
-  if (XEUNICODE_P)
-    return CreateAcceleratorTableW (arg1, arg2);
-  else
-    return CreateAcceleratorTableA (arg1, arg2);
+qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist)
+{
+  if (XEUNICODE_P)
+    return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist);
+  else
+    return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist);
+}
+
+HKL
+qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags)
+{
+  if (XEUNICODE_P)
+    return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags);
+  else
+    return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags);
+}
+
+WINBOOL
+qxeGetKeyboardLayoutName (Extbyte * pwszKLID)
+{
+  if (XEUNICODE_P)
+    return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID);
+  else
+    return GetKeyboardLayoutNameA ((LPSTR) pwszKLID);
 }
 
 /* Error if CreateDesktop used: split-sized LPDEVMODE */
 
-/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
-HWND
-qxeCreateDialogIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return CreateDialogIndirectParamW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return CreateDialogIndirectParamA (arg1, arg2, arg3, arg4, arg5);
-}
-
-HWND
-qxeCreateDialogParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return CreateDialogParamW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return CreateDialogParamA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
+HDESK
+qxeOpenDesktop (const Extbyte * lpszDesktop, DWORD dwFlags, WINBOOL fInherit, ACCESS_MASK dwDesiredAccess)
+{
+  if (XEUNICODE_P)
+    return OpenDesktopW ((LPCWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
+  else
+    return OpenDesktopA ((LPCSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
+}
+
+/* NOTE: // callback fun differs only in string pointer type */
+WINBOOL
+qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return EnumDesktopsW (hwinsta, lpEnumFunc, lParam);
+  else
+    return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam);
 }
 
 /* NOTE: error arg 1, VS6 prototype, missing const.
    NOTE: Prototype manually overridden.
          Header file claims:
-           WINUSERAPI HWND WINAPI CreateMDIWindow(LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM)
-         Overridden with:
-           HWND CreateMDIWindow(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM)
-         Differences in return-type qualifiers, e.g. WINAPI, are not important.
- */
-HWND
-qxeCreateMDIWindow (Extbyte * arg1, Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10)
-{
-  if (XEUNICODE_P)
-    return CreateMDIWindowW ((LPWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-  else
-    return CreateMDIWindowA ((LPSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-}
-
-HWND
-qxeCreateWindowEx (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, int arg5, int arg6, int arg7, int arg8, HWND arg9, HMENU arg10, HINSTANCE arg11, LPVOID arg12)
-{
-  if (XEUNICODE_P)
-    return CreateWindowExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-  else
-    return CreateWindowExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-}
-
-/* NOTE: error arg 1, VS6 prototype, missing const.
-   NOTE: Prototype manually overridden.
-         Header file claims:
-           WINUSERAPI HWINSTA WINAPI CreateWindowStation(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES)
+           WINUSERAPI HWINSTA WINAPI CreateWindowStation(LPCWSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa)
          Overridden with:
            HWINSTA CreateWindowStation(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES)
          Differences in return-type qualifiers, e.g. WINAPI, are not important.
@@ -985,123 +671,907 @@
     return CreateWindowStationA ((LPSTR) arg1, arg2, arg3, arg4);
 }
 
-/* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */
+HWINSTA
+qxeOpenWindowStation (const Extbyte * lpszWinSta, WINBOOL fInherit, ACCESS_MASK dwDesiredAccess)
+{
+  if (XEUNICODE_P)
+    return OpenWindowStationW ((LPCWSTR) lpszWinSta, fInherit, dwDesiredAccess);
+  else
+    return OpenWindowStationA ((LPCSTR) lpszWinSta, fInherit, dwDesiredAccess);
+}
+
+/* NOTE: // callback fun differs only in string pointer type */
+WINBOOL
+qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return EnumWindowStationsW (lpEnumFunc, lParam);
+  else
+    return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam);
+}
+
+WINBOOL
+qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded)
+{
+  if (XEUNICODE_P)
+    return GetUserObjectInformationW (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
+  else
+    return GetUserObjectInformationA (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
+}
+
+WINBOOL
+qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength)
+{
+  if (XEUNICODE_P)
+    return SetUserObjectInformationW (hObj, nIndex, pvInfo, nLength);
+  else
+    return SetUserObjectInformationA (hObj, nIndex, pvInfo, nLength);
+}
+
+UINT
+qxeRegisterWindowMessage (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return RegisterWindowMessageW ((LPCWSTR) lpString);
+  else
+    return RegisterWindowMessageA ((LPCSTR) lpString);
+}
+
+WINBOOL
+qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)
+{
+  if (XEUNICODE_P)
+    return GetMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
+  else
+    return GetMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
+}
 
 LRESULT
-qxeDefFrameProc (HWND arg1, HWND arg2, UINT arg3, WPARAM arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return DefFrameProcW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return DefFrameProcA (arg1, arg2, arg3, arg4, arg5);
-}
-
-/* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */
+qxeDispatchMessage (CONST MSG * lpMsg)
+{
+  if (XEUNICODE_P)
+    return DispatchMessageW (lpMsg);
+  else
+    return DispatchMessageA (lpMsg);
+}
+
+WINBOOL
+qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg)
+{
+  if (XEUNICODE_P)
+    return PeekMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
+  else
+    return PeekMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
+}
+
+/* Skipping SendMessage because split messages and structures */
+
+/* Error if SendMessageTimeout used: VS6 has erroneous seventh parameter DWORD_PTR instead of PDWORD_PTR */
+
+WINBOOL
+qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return SendNotifyMessageW (hWnd, Msg, wParam, lParam);
+  else
+    return SendNotifyMessageA (hWnd, Msg, wParam, lParam);
+}
+
+WINBOOL
+qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, ULONG_PTR dwData)
+{
+  if (XEUNICODE_P)
+    return SendMessageCallbackW (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData);
+  else
+    return SendMessageCallbackA (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData);
+}
+
+/* Error if BroadcastSystemMessageEx used: Function needs review to determine how to handle it */
+
+/* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */
+
+/* Error if RegisterDeviceNotification used: NT 5.0+ only */
+
+WINBOOL
+qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return PostMessageW (hWnd, Msg, wParam, lParam);
+  else
+    return PostMessageA (hWnd, Msg, wParam, lParam);
+}
+
+WINBOOL
+qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return PostThreadMessageW (idThread, Msg, wParam, lParam);
+  else
+    return PostThreadMessageA (idThread, Msg, wParam, lParam);
+}
 
 /* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */
 
+/* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
+
+/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
+
+/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
+
+WINBOOL
+qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass)
+{
+  if (XEUNICODE_P)
+    return GetClassInfoW (hInstance, (LPCWSTR) lpClassName, lpWndClass);
+  else
+    return GetClassInfoA (hInstance, (LPCSTR) lpClassName, (LPWNDCLASSA) lpWndClass);
+}
+
+/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeGetClassInfoEx (HINSTANCE hInstance, const Extbyte * lpszClass, LPWNDCLASSEXW lpwcx)
+{
+  if (XEUNICODE_P)
+    return GetClassInfoExW (hInstance, (LPCWSTR) lpszClass, lpwcx);
+  else
+    return GetClassInfoExA (hInstance, (LPCSTR) lpszClass, (LPWNDCLASSEXA) lpwcx);
+}
+
+HWND
+qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)
+{
+  if (XEUNICODE_P)
+    return CreateWindowExW (dwExStyle, (LPCWSTR) lpClassName, (LPCWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
+  else
+    return CreateWindowExA (dwExStyle, (LPCSTR) lpClassName, (LPCSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
+}
+
+HWND
+qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
+{
+  if (XEUNICODE_P)
+    return CreateDialogParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
+  else
+    return CreateDialogParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
+}
+
 /* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
-int
-qxeDialogBoxIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return DialogBoxIndirectParamW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return DialogBoxIndirectParamA (arg1, arg2, arg3, arg4, arg5);
-}
-
-int
-qxeDialogBoxParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return DialogBoxParamW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return DialogBoxParamA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
-}
-
-LONG
-qxeDispatchMessage (const MSG* arg1)
-{
-  if (XEUNICODE_P)
-    return DispatchMessageW (arg1);
-  else
-    return DispatchMessageA (arg1);
+HWND
+qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
+{
+  if (XEUNICODE_P)
+    return CreateDialogIndirectParamW (hInstance, lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
+  else
+    return CreateDialogIndirectParamA (hInstance, (LPCDLGTEMPLATEA) lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
+}
+
+INT_PTR
+qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
+{
+  if (XEUNICODE_P)
+    return DialogBoxParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
+  else
+    return DialogBoxParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
+}
+
+/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
+INT_PTR
+qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
+{
+  if (XEUNICODE_P)
+    return DialogBoxIndirectParamW (hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
+  else
+    return DialogBoxIndirectParamA (hInstance, (LPCDLGTEMPLATEA) hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
+}
+
+WINBOOL
+qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return SetDlgItemTextW (hDlg, nIDDlgItem, (LPCWSTR) lpString);
+  else
+    return SetDlgItemTextA (hDlg, nIDDlgItem, (LPCSTR) lpString);
+}
+
+UINT
+qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int cchMax)
+{
+  if (XEUNICODE_P)
+    return GetDlgItemTextW (hDlg, nIDDlgItem, (LPWSTR) lpString, cchMax);
+  else
+    return GetDlgItemTextA (hDlg, nIDDlgItem, (LPSTR) lpString, cchMax);
+}
+
+LRESULT
+qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return SendDlgItemMessageW (hDlg, nIDDlgItem, Msg, wParam, lParam);
+  else
+    return SendDlgItemMessageA (hDlg, nIDDlgItem, Msg, wParam, lParam);
+}
+
+/* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */
+
+#if !defined (CYGWIN_HEADERS)
+
+WINBOOL
+qxeCallMsgFilter (LPMSG lpMsg, int nCode)
+{
+  if (XEUNICODE_P)
+    return CallMsgFilterW (lpMsg, nCode);
+  else
+    return CallMsgFilterA (lpMsg, nCode);
+}
+
+#endif /* !defined (CYGWIN_HEADERS) */
+
+UINT
+qxeRegisterClipboardFormat (const Extbyte * lpszFormat)
+{
+  if (XEUNICODE_P)
+    return RegisterClipboardFormatW ((LPCWSTR) lpszFormat);
+  else
+    return RegisterClipboardFormatA ((LPCSTR) lpszFormat);
 }
 
 int
-qxeDlgDirList (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return DlgDirListW (arg1, (LPWSTR) arg2, arg3, arg4, arg5);
-  else
-    return DlgDirListA (arg1, (LPSTR) arg2, arg3, arg4, arg5);
+qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount)
+{
+  if (XEUNICODE_P)
+    return GetClipboardFormatNameW (format, (LPWSTR) lpszFormatName, cchMaxCount);
+  else
+    return GetClipboardFormatNameA (format, (LPSTR) lpszFormatName, cchMaxCount);
+}
+
+WINBOOL
+qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst)
+{
+  if (XEUNICODE_P)
+    return CharToOemW ((LPCWSTR) lpszSrc, lpszDst);
+  else
+    return CharToOemA ((LPCSTR) lpszSrc, lpszDst);
+}
+
+WINBOOL
+qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst)
+{
+  if (XEUNICODE_P)
+    return OemToCharW (lpszSrc, (LPWSTR) lpszDst);
+  else
+    return OemToCharA (lpszSrc, (LPSTR) lpszDst);
+}
+
+WINBOOL
+qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength)
+{
+  if (XEUNICODE_P)
+    return CharToOemBuffW ((LPCWSTR) lpszSrc, lpszDst, cchDstLength);
+  else
+    return CharToOemBuffA ((LPCSTR) lpszSrc, lpszDst, cchDstLength);
+}
+
+WINBOOL
+qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength)
+{
+  if (XEUNICODE_P)
+    return OemToCharBuffW (lpszSrc, (LPWSTR) lpszDst, cchDstLength);
+  else
+    return OemToCharBuffA (lpszSrc, (LPSTR) lpszDst, cchDstLength);
+}
+
+Extbyte *
+qxeCharUpper (Extbyte * lpsz)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) CharUpperW ((LPWSTR) lpsz);
+  else
+    return (Extbyte *) CharUpperA ((LPSTR) lpsz);
+}
+
+DWORD
+qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength)
+{
+  if (XEUNICODE_P)
+    return CharUpperBuffW ((LPWSTR) lpsz, cchLength);
+  else
+    return CharUpperBuffA ((LPSTR) lpsz, cchLength);
+}
+
+Extbyte *
+qxeCharLower (Extbyte * lpsz)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) CharLowerW ((LPWSTR) lpsz);
+  else
+    return (Extbyte *) CharLowerA ((LPSTR) lpsz);
+}
+
+DWORD
+qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength)
+{
+  if (XEUNICODE_P)
+    return CharLowerBuffW ((LPWSTR) lpsz, cchLength);
+  else
+    return CharLowerBuffA ((LPSTR) lpsz, cchLength);
+}
+
+Extbyte *
+qxeCharNext (const Extbyte * lpsz)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) CharNextW ((LPCWSTR) lpsz);
+  else
+    return (Extbyte *) CharNextA ((LPCSTR) lpsz);
+}
+
+Extbyte *
+qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) CharPrevW ((LPCWSTR) lpszStart, (LPCWSTR) lpszCurrent);
+  else
+    return (Extbyte *) CharPrevA ((LPCSTR) lpszStart, (LPCSTR) lpszCurrent);
+}
+
+/* Error if IsCharAlpha used: split CHAR */
+
+/* Error if IsCharAlphaNumeric used: split CHAR */
+
+/* Error if IsCharUpper used: split CHAR */
+
+/* Error if IsCharLower used: split CHAR */
+
+int
+qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int cchSize)
+{
+  if (XEUNICODE_P)
+    return GetKeyNameTextW (lParam, (LPWSTR) lpString, cchSize);
+  else
+    return GetKeyNameTextA (lParam, (LPSTR) lpString, cchSize);
+}
+
+/* Skipping VkKeyScan because split CHAR */
+
+/* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */
+
+UINT
+qxeMapVirtualKey (UINT uCode, UINT uMapType)
+{
+  if (XEUNICODE_P)
+    return MapVirtualKeyW (uCode, uMapType);
+  else
+    return MapVirtualKeyA (uCode, uMapType);
+}
+
+/* NOTE: NT 4.0+ only */
+UINT
+qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl)
+{
+  if (XEUNICODE_P)
+    return MapVirtualKeyExW (uCode, uMapType, dwhkl);
+  else
+    return MapVirtualKeyExA (uCode, uMapType, dwhkl);
+}
+
+HACCEL
+qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName)
+{
+  if (XEUNICODE_P)
+    return LoadAcceleratorsW (hInstance, (LPCWSTR) lpTableName);
+  else
+    return LoadAcceleratorsA (hInstance, (LPCSTR) lpTableName);
+}
+
+HACCEL
+qxeCreateAcceleratorTable (LPACCEL paccel, int cAccel)
+{
+  if (XEUNICODE_P)
+    return CreateAcceleratorTableW (paccel, cAccel);
+  else
+    return CreateAcceleratorTableA (paccel, cAccel);
 }
 
 int
-qxeDlgDirListComboBox (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return DlgDirListComboBoxW (arg1, (LPWSTR) arg2, arg3, arg4, arg5);
-  else
-    return DlgDirListComboBoxA (arg1, (LPSTR) arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeDlgDirSelectComboBoxEx (HWND arg1, Extbyte * arg2, int arg3, int arg4)
-{
-  if (XEUNICODE_P)
-    return DlgDirSelectComboBoxExW (arg1, (LPWSTR) arg2, arg3, arg4);
-  else
-    return DlgDirSelectComboBoxExA (arg1, (LPSTR) arg2, arg3, arg4);
-}
-
-BOOL
-qxeDlgDirSelectEx (HWND arg1, Extbyte * arg2, int arg3, int arg4)
-{
-  if (XEUNICODE_P)
-    return DlgDirSelectExW (arg1, (LPWSTR) arg2, arg3, arg4);
-  else
-    return DlgDirSelectExA (arg1, (LPSTR) arg2, arg3, arg4);
+qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries)
+{
+  if (XEUNICODE_P)
+    return CopyAcceleratorTableW (hAccelSrc, lpAccelDst, cAccelEntries);
+  else
+    return CopyAcceleratorTableA (hAccelSrc, lpAccelDst, cAccelEntries);
+}
+
+int
+qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg)
+{
+  if (XEUNICODE_P)
+    return TranslateAcceleratorW (hWnd, hAccTable, lpMsg);
+  else
+    return TranslateAcceleratorA (hWnd, hAccTable, lpMsg);
+}
+
+HMENU
+qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName)
+{
+  if (XEUNICODE_P)
+    return LoadMenuW (hInstance, (LPCWSTR) lpMenuName);
+  else
+    return LoadMenuA (hInstance, (LPCSTR) lpMenuName);
+}
+
+HMENU
+qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate)
+{
+  if (XEUNICODE_P)
+    return LoadMenuIndirectW (lpMenuTemplate);
+  else
+    return LoadMenuIndirectA ((CONST MENUTEMPLATEA *) lpMenuTemplate);
+}
+
+WINBOOL
+qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags)
+{
+  if (XEUNICODE_P)
+    return ChangeMenuW (hMenu, cmd, (LPCWSTR) lpszNewItem, cmdInsert, flags);
+  else
+    return ChangeMenuA (hMenu, cmd, (LPCSTR) lpszNewItem, cmdInsert, flags);
+}
+
+int
+qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int cchMax, UINT flags)
+{
+  if (XEUNICODE_P)
+    return GetMenuStringW (hMenu, uIDItem, (LPWSTR) lpString, cchMax, flags);
+  else
+    return GetMenuStringA (hMenu, uIDItem, (LPSTR) lpString, cchMax, flags);
+}
+
+WINBOOL
+qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem)
+{
+  if (XEUNICODE_P)
+    return InsertMenuW (hMenu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
+  else
+    return InsertMenuA (hMenu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
+}
+
+WINBOOL
+qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem)
+{
+  if (XEUNICODE_P)
+    return AppendMenuW (hMenu, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
+  else
+    return AppendMenuA (hMenu, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
+}
+
+WINBOOL
+qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem)
+{
+  if (XEUNICODE_P)
+    return ModifyMenuW (hMnu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
+  else
+    return ModifyMenuA (hMnu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
 }
 
 /* NOTE: NT 4.0+ only */
-BOOL
-qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10)
-{
-  if (XEUNICODE_P)
-    return DrawStateW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-  else
-    return DrawStateA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
+WINBOOL
+qxeInsertMenuItem (HMENU hmenu, UINT item, WINBOOL fByPosition, LPCMENUITEMINFOW lpmi)
+{
+  if (XEUNICODE_P)
+    return InsertMenuItemW (hmenu, item, fByPosition, lpmi);
+  else
+    return InsertMenuItemA (hmenu, item, fByPosition, (LPCMENUITEMINFOA) lpmi);
+}
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeGetMenuItemInfo (HMENU hmenu, UINT item, WINBOOL fByPosition, LPMENUITEMINFOW lpmii)
+{
+  if (XEUNICODE_P)
+    return GetMenuItemInfoW (hmenu, item, fByPosition, lpmii);
+  else
+    return GetMenuItemInfoA (hmenu, item, fByPosition, (LPMENUITEMINFOA) lpmii);
+}
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeSetMenuItemInfo (HMENU hmenu, UINT item, WINBOOL fByPositon, LPCMENUITEMINFOW lpmii)
+{
+  if (XEUNICODE_P)
+    return SetMenuItemInfoW (hmenu, item, fByPositon, lpmii);
+  else
+    return SetMenuItemInfoA (hmenu, item, fByPositon, (LPCMENUITEMINFOA) lpmii);
 }
 
 int
-qxeDrawText (HDC arg1, const Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return DrawTextW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return DrawTextA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
+qxeDrawText (HDC hdc, const Extbyte * lpchText, int cchText, LPRECT lprc, UINT format)
+{
+  if (XEUNICODE_P)
+    return DrawTextW (hdc, (LPCWSTR) lpchText, cchText, lprc, format);
+  else
+    return DrawTextA (hdc, (LPCSTR) lpchText, cchText, lprc, format);
 }
 
 /* NOTE: NT 4.0+ only */
 int
-qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6)
-{
-  if (XEUNICODE_P)
-    return DrawTextExW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return DrawTextExA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6);
+qxeDrawTextEx (HDC hdc, Extbyte * lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp)
+{
+  if (XEUNICODE_P)
+    return DrawTextExW (hdc, (LPWSTR) lpchText, cchText, lprc, format, lpdtp);
+  else
+    return DrawTextExA (hdc, (LPSTR) lpchText, cchText, lprc, format, lpdtp);
+}
+
+WINBOOL
+qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight)
+{
+  if (XEUNICODE_P)
+    return GrayStringW (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight);
+  else
+    return GrayStringA (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight);
+}
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeDrawState (HDC hdc, HBRUSH hbrFore, DRAWSTATEPROC qfnCallBack, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT uFlags)
+{
+  if (XEUNICODE_P)
+    return DrawStateW (hdc, hbrFore, qfnCallBack, lData, wData, x, y, cx, cy, uFlags);
+  else
+    return DrawStateA (hdc, hbrFore, qfnCallBack, lData, wData, x, y, cx, cy, uFlags);
+}
+
+LONG
+qxeTabbedTextOut (HDC hdc, int x, int y, const Extbyte * lpString, int chCount, int nTabPositions, CONST INT * lpnTabStopPositions, int nTabOrigin)
+{
+  if (XEUNICODE_P)
+    return TabbedTextOutW (hdc, x, y, (LPCWSTR) lpString, chCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
+  else
+    return TabbedTextOutA (hdc, x, y, (LPCSTR) lpString, chCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
+}
+
+DWORD
+qxeGetTabbedTextExtent (HDC hdc, const Extbyte * lpString, int chCount, int nTabPositions, CONST INT * lpnTabStopPositions)
+{
+  if (XEUNICODE_P)
+    return GetTabbedTextExtentW (hdc, (LPCWSTR) lpString, chCount, nTabPositions, lpnTabStopPositions);
+  else
+    return GetTabbedTextExtentA (hdc, (LPCSTR) lpString, chCount, nTabPositions, lpnTabStopPositions);
+}
+
+WINBOOL
+qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData)
+{
+  if (XEUNICODE_P)
+    return SetPropW (hWnd, (LPCWSTR) lpString, hData);
+  else
+    return SetPropA (hWnd, (LPCSTR) lpString, hData);
+}
+
+HANDLE
+qxeGetProp (HWND hWnd, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return GetPropW (hWnd, (LPCWSTR) lpString);
+  else
+    return GetPropA (hWnd, (LPCSTR) lpString);
+}
+
+HANDLE
+qxeRemoveProp (HWND hWnd, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return RemovePropW (hWnd, (LPCWSTR) lpString);
+  else
+    return RemovePropA (hWnd, (LPCSTR) lpString);
+}
+
+/* NOTE: // callback fun differs only in string pointer type */
+int
+qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return EnumPropsExW (hWnd, lpEnumFunc, lParam);
+  else
+    return EnumPropsExA (hWnd, (PROPENUMPROCEXA) lpEnumFunc, lParam);
 }
 
 /* NOTE: // callback fun differs only in string pointer type */
-BOOL
-qxeEnumDesktops (HWINSTA arg1, DESKTOPENUMPROCW arg2, LPARAM arg3)
-{
-  if (XEUNICODE_P)
-    return EnumDesktopsW (arg1, arg2, arg3);
-  else
-    return EnumDesktopsA (arg1, (DESKTOPENUMPROCA) arg2, arg3);
-}
+int
+qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc)
+{
+  if (XEUNICODE_P)
+    return EnumPropsW (hWnd, lpEnumFunc);
+  else
+    return EnumPropsA (hWnd, (PROPENUMPROCA) lpEnumFunc);
+}
+
+WINBOOL
+qxeSetWindowText (HWND hWnd, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return SetWindowTextW (hWnd, (LPCWSTR) lpString);
+  else
+    return SetWindowTextA (hWnd, (LPCSTR) lpString);
+}
+
+int
+qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount)
+{
+  if (XEUNICODE_P)
+    return GetWindowTextW (hWnd, (LPWSTR) lpString, nMaxCount);
+  else
+    return GetWindowTextA (hWnd, (LPSTR) lpString, nMaxCount);
+}
+
+int
+qxeGetWindowTextLength (HWND hWnd)
+{
+  if (XEUNICODE_P)
+    return GetWindowTextLengthW (hWnd);
+  else
+    return GetWindowTextLengthA (hWnd);
+}
+
+int
+qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType)
+{
+  if (XEUNICODE_P)
+    return MessageBoxW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType);
+  else
+    return MessageBoxA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType);
+}
+
+int
+qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId)
+{
+  if (XEUNICODE_P)
+    return MessageBoxExW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType, wLanguageId);
+  else
+    return MessageBoxExA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType, wLanguageId);
+}
+
+/* Error if MessageBoxIndirect used: Cygwin has split MSGBOXPARAMS* instead of LPMSGBOXPARAMS */
+
+LONG
+qxeGetWindowLong (HWND hWnd, int nIndex)
+{
+  if (XEUNICODE_P)
+    return GetWindowLongW (hWnd, nIndex);
+  else
+    return GetWindowLongA (hWnd, nIndex);
+}
+
+LONG
+qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong)
+{
+  if (XEUNICODE_P)
+    return SetWindowLongW (hWnd, nIndex, dwNewLong);
+  else
+    return SetWindowLongA (hWnd, nIndex, dwNewLong);
+}
+
+LONG_PTR
+qxeGetWindowLongPtr (HWND hWnd, int nIndex)
+{
+  if (XEUNICODE_P)
+    return GetWindowLongPtrW (hWnd, nIndex);
+  else
+    return GetWindowLongPtrA (hWnd, nIndex);
+}
+
+LONG_PTR
+qxeSetWindowLongPtr (HWND hWnd, int nIndex, LONG_PTR dwNewLong)
+{
+  if (XEUNICODE_P)
+    return SetWindowLongPtrW (hWnd, nIndex, dwNewLong);
+  else
+    return SetWindowLongPtrA (hWnd, nIndex, dwNewLong);
+}
+
+DWORD
+qxeGetClassLong (HWND hWnd, int nIndex)
+{
+  if (XEUNICODE_P)
+    return GetClassLongW (hWnd, nIndex);
+  else
+    return GetClassLongA (hWnd, nIndex);
+}
+
+DWORD
+qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong)
+{
+  if (XEUNICODE_P)
+    return SetClassLongW (hWnd, nIndex, dwNewLong);
+  else
+    return SetClassLongA (hWnd, nIndex, dwNewLong);
+}
+
+/* Error if GetClassLongPtr used: Function needs review to determine how to handle it */
+
+ULONG_PTR
+qxeSetClassLongPtr (HWND hWnd, int nIndex, LONG_PTR dwNewLong)
+{
+  if (XEUNICODE_P)
+    return SetClassLongPtrW (hWnd, nIndex, dwNewLong);
+  else
+    return SetClassLongPtrA (hWnd, nIndex, dwNewLong);
+}
+
+HWND
+qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName)
+{
+  if (XEUNICODE_P)
+    return FindWindowW ((LPCWSTR) lpClassName, (LPCWSTR) lpWindowName);
+  else
+    return FindWindowA ((LPCSTR) lpClassName, (LPCSTR) lpWindowName);
+}
+
+/* NOTE: NT 4.0+ only */
+HWND
+qxeFindWindowEx (HWND hWndParent, HWND hWndChildAfter, const Extbyte * lpszClass, const Extbyte * lpszWindow)
+{
+  if (XEUNICODE_P)
+    return FindWindowExW (hWndParent, hWndChildAfter, (LPCWSTR) lpszClass, (LPCWSTR) lpszWindow);
+  else
+    return FindWindowExA (hWndParent, hWndChildAfter, (LPCSTR) lpszClass, (LPCSTR) lpszWindow);
+}
+
+int
+qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount)
+{
+  if (XEUNICODE_P)
+    return GetClassNameW (hWnd, (LPWSTR) lpClassName, nMaxCount);
+  else
+    return GetClassNameA (hWnd, (LPSTR) lpClassName, nMaxCount);
+}
+
+/* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
+
+HHOOK
+qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId)
+{
+  if (XEUNICODE_P)
+    return SetWindowsHookExW (idHook, lpfn, hmod, dwThreadId);
+  else
+    return SetWindowsHookExA (idHook, lpfn, hmod, dwThreadId);
+}
+
+HBITMAP
+qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName)
+{
+  if (XEUNICODE_P)
+    return LoadBitmapW (hInstance, (LPCWSTR) lpBitmapName);
+  else
+    return LoadBitmapA (hInstance, (LPCSTR) lpBitmapName);
+}
+
+HCURSOR
+qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName)
+{
+  if (XEUNICODE_P)
+    return LoadCursorW (hInstance, (LPCWSTR) lpCursorName);
+  else
+    return LoadCursorA (hInstance, (LPCSTR) lpCursorName);
+}
+
+HCURSOR
+qxeLoadCursorFromFile (const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return LoadCursorFromFileW ((LPCWSTR) lpFileName);
+  else
+    return LoadCursorFromFileA ((LPCSTR) lpFileName);
+}
+
+HICON
+qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName)
+{
+  if (XEUNICODE_P)
+    return LoadIconW (hInstance, (LPCWSTR) lpIconName);
+  else
+    return LoadIconA (hInstance, (LPCSTR) lpIconName);
+}
+
+/* Error if PrivateExtractIcons used: HST: new? -- needs review */
+
+/* NOTE: NT 4.0+ only */
+HANDLE
+qxeLoadImage (HINSTANCE hInst, const Extbyte * name, UINT type, int cx, int cy, UINT fuLoad)
+{
+  if (XEUNICODE_P)
+    return LoadImageW (hInst, (LPCWSTR) name, type, cx, cy, fuLoad);
+  else
+    return LoadImageA (hInst, (LPCSTR) name, type, cx, cy, fuLoad);
+}
+
+WINBOOL
+qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg)
+{
+  if (XEUNICODE_P)
+    return IsDialogMessageW (hDlg, lpMsg);
+  else
+    return IsDialogMessageA (hDlg, lpMsg);
+}
+
+int
+qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType)
+{
+  if (XEUNICODE_P)
+    return DlgDirListW (hDlg, (LPWSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
+  else
+    return DlgDirListA (hDlg, (LPSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
+}
+
+WINBOOL
+qxeDlgDirSelectEx (HWND hwndDlg, Extbyte * lpString, int chCount, int idListBox)
+{
+  if (XEUNICODE_P)
+    return DlgDirSelectExW (hwndDlg, (LPWSTR) lpString, chCount, idListBox);
+  else
+    return DlgDirSelectExA (hwndDlg, (LPSTR) lpString, chCount, idListBox);
+}
+
+int
+qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype)
+{
+  if (XEUNICODE_P)
+    return DlgDirListComboBoxW (hDlg, (LPWSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
+  else
+    return DlgDirListComboBoxA (hDlg, (LPSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
+}
+
+WINBOOL
+qxeDlgDirSelectComboBoxEx (HWND hwndDlg, Extbyte * lpString, int cchOut, int idComboBox)
+{
+  if (XEUNICODE_P)
+    return DlgDirSelectComboBoxExW (hwndDlg, (LPWSTR) lpString, cchOut, idComboBox);
+  else
+    return DlgDirSelectComboBoxExA (hwndDlg, (LPSTR) lpString, cchOut, idComboBox);
+}
+
+LRESULT
+qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return DefFrameProcW (hWnd, hWndMDIClient, uMsg, wParam, lParam);
+  else
+    return DefFrameProcA (hWnd, hWndMDIClient, uMsg, wParam, lParam);
+}
+
+/* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */
+
+/* NOTE: error arg 1, VS6 prototype, missing const.
+   NOTE: Prototype manually overridden.
+         Header file claims:
+           WINUSERAPI HWND WINAPI CreateMDIWindow(LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam)
+         Overridden with:
+           HWND CreateMDIWindow(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM)
+         Differences in return-type qualifiers, e.g. WINAPI, are not important.
+ */
+HWND
+qxeCreateMDIWindow (Extbyte * arg1, Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10)
+{
+  if (XEUNICODE_P)
+    return CreateMDIWindowW ((LPWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
+  else
+    return CreateMDIWindowA ((LPSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
+}
+
+WINBOOL
+qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, ULONG_PTR dwData)
+{
+  if (XEUNICODE_P)
+    return WinHelpW (hWndMain, (LPCWSTR) lpszHelp, uCommand, dwData);
+  else
+    return WinHelpA (hWndMain, (LPCSTR) lpszHelp, uCommand, dwData);
+}
+
+/* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */
+
+/* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */
 
 /* Error if EnumDisplaySettings used: split-sized LPDEVMODE */
 
@@ -1109,990 +1579,1180 @@
 
 /* Error if EnumDisplayDevices used: split-sized PDISPLAY_DEVICE; NT 5.0+ only, no Win98 */
 
-/* NOTE: // callback fun differs only in string pointer type */
-int
-qxeEnumProps (HWND arg1, PROPENUMPROCW arg2)
-{
-  if (XEUNICODE_P)
-    return EnumPropsW (arg1, arg2);
-  else
-    return EnumPropsA (arg1, (PROPENUMPROCA) arg2);
-}
-
-/* NOTE: // callback fun differs only in string pointer type */
-int
-qxeEnumPropsEx (HWND arg1, PROPENUMPROCEXW arg2, LPARAM arg3)
-{
-  if (XEUNICODE_P)
-    return EnumPropsExW (arg1, arg2, arg3);
-  else
-    return EnumPropsExA (arg1, (PROPENUMPROCEXA) arg2, arg3);
-}
-
-/* NOTE: // callback fun differs only in string pointer type */
-BOOL
-qxeEnumWindowStations (WINSTAENUMPROCW arg1, LPARAM arg2)
-{
-  if (XEUNICODE_P)
-    return EnumWindowStationsW (arg1, arg2);
-  else
-    return EnumWindowStationsA ((WINSTAENUMPROCA) arg1, arg2);
-}
-
-/* NOTE: NT 4.0+ only */
-HWND
-qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return FindWindowExW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
-  else
-    return FindWindowExA (arg1, arg2, (LPCSTR) arg3, (LPCSTR) arg4);
-}
-
-HWND
-qxeFindWindow (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return FindWindowW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return FindWindowA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeGetClassInfo (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSW arg3)
-{
-  if (XEUNICODE_P)
-    return GetClassInfoW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return GetClassInfoA (arg1, (LPCSTR) arg2, (LPWNDCLASSA) arg3);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeGetClassInfoEx (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSEXW arg3)
-{
-  if (XEUNICODE_P)
-    return GetClassInfoExW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return GetClassInfoExA (arg1, (LPCSTR) arg2, (LPWNDCLASSEXA) arg3);
-}
-
-DWORD
-qxeGetClassLong (HWND arg1, int arg2)
-{
-  if (XEUNICODE_P)
-    return GetClassLongW (arg1, arg2);
-  else
-    return GetClassLongA (arg1, arg2);
-}
-
-/* Error if GetClassLongPtr used: Function needs review to determine how to handle it */
-
-int
-qxeGetClassName (HWND arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GetClassNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetClassNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-int
-qxeGetClipboardFormatName (UINT arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GetClipboardFormatNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetClipboardFormatNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-UINT
-qxeGetDlgItemText (HWND arg1, int arg2, Extbyte * arg3, int arg4)
-{
-  if (XEUNICODE_P)
-    return GetDlgItemTextW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return GetDlgItemTextA (arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-BOOL
-qxeGetKeyboardLayoutName (Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetKeyboardLayoutNameW ((LPWSTR) arg1);
-  else
-    return GetKeyboardLayoutNameA ((LPSTR) arg1);
-}
-
-int
-qxeGetKeyNameText (LONG arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GetKeyNameTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetKeyNameTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4)
-{
-  if (XEUNICODE_P)
-    return GetMenuItemInfoW (arg1, arg2, arg3, arg4);
-  else
-    return GetMenuItemInfoA (arg1, arg2, arg3, (LPMENUITEMINFOA) arg4);
-}
-
-int
-qxeGetMenuString (HMENU arg1, UINT arg2, Extbyte * arg3, int arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return GetMenuStringW (arg1, arg2, (LPWSTR) arg3, arg4, arg5);
-  else
-    return GetMenuStringA (arg1, arg2, (LPSTR) arg3, arg4, arg5);
-}
-
-BOOL
-qxeGetMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4)
-{
-  if (XEUNICODE_P)
-    return GetMessageW (arg1, arg2, arg3, arg4);
-  else
-    return GetMessageA (arg1, arg2, arg3, arg4);
-}
-
-HANDLE
-qxeGetProp (HWND arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return GetPropW (arg1, (LPCWSTR) arg2);
-  else
-    return GetPropA (arg1, (LPCSTR) arg2);
-}
-
-/* Error if GetRawInputDeviceInfo used: Function needs review to determine how to handle it */
-
-DWORD
-qxeGetTabbedTextExtent (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5)
-{
-  if (XEUNICODE_P)
-    return GetTabbedTextExtentW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return GetTabbedTextExtentA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
-}
-
-LONG
-qxeGetWindowLong (HWND arg1, int arg2)
-{
-  if (XEUNICODE_P)
-    return GetWindowLongW (arg1, arg2);
-  else
-    return GetWindowLongA (arg1, arg2);
-}
-
-/* Error if GetWindowLongPtr used: Function needs review to determine how to handle it */
-
-BOOL
-qxeGetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return GetUserObjectInformationW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return GetUserObjectInformationA (arg1, arg2, arg3, arg4, arg5);
-}
-
-int
-qxeGetWindowTextLength (HWND arg1)
-{
-  if (XEUNICODE_P)
-    return GetWindowTextLengthW (arg1);
-  else
-    return GetWindowTextLengthA (arg1);
-}
-
-int
-qxeGetWindowText (HWND arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GetWindowTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetWindowTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* Error if GetAltTabInfo used: NT 5.0+ only */
+/* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */
+WINBOOL
+qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
+{
+  if (XEUNICODE_P)
+    return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
+  else
+    return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
+}
 
 /* Error if GetMonitorInfo used: NT 5.0/Win98+ only */
 
 /* Error if GetWindowModuleFileName used: NT 5.0+ only */
 
-BOOL
-qxeGrayString (HDC arg1, HBRUSH arg2, GRAYSTRINGPROC arg3, LPARAM arg4, int arg5, int arg6, int arg7, int arg8, int arg9)
-{
-  if (XEUNICODE_P)
-    return GrayStringW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-  else
-    return GrayStringA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-}
-
-BOOL
-qxeInsertMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5)
-{
-  if (XEUNICODE_P)
-    return InsertMenuW (arg1, arg2, arg3, arg4, (LPCWSTR) arg5);
-  else
-    return InsertMenuA (arg1, arg2, arg3, arg4, (LPCSTR) arg5);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeInsertMenuItem (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
-{
-  if (XEUNICODE_P)
-    return InsertMenuItemW (arg1, arg2, arg3, arg4);
-  else
-    return InsertMenuItemA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
-}
-
-/* Error if IsCharAlphaNumeric used: split CHAR */
-
-/* Error if IsCharAlpha used: split CHAR */
-
-/* Error if IsCharLower used: split CHAR */
-
-/* Error if IsCharUpper used: split CHAR */
-
-BOOL
-qxeIsDialogMessage (HWND arg1, LPMSG arg2)
-{
-  if (XEUNICODE_P)
-    return IsDialogMessageW (arg1, arg2);
-  else
-    return IsDialogMessageA (arg1, arg2);
-}
-
-HACCEL
-qxeLoadAccelerators (HINSTANCE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return LoadAcceleratorsW (arg1, (LPCWSTR) arg2);
-  else
-    return LoadAcceleratorsA (arg1, (LPCSTR) arg2);
-}
-
-HBITMAP
-qxeLoadBitmap (HINSTANCE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return LoadBitmapW (arg1, (LPCWSTR) arg2);
-  else
-    return LoadBitmapA (arg1, (LPCSTR) arg2);
-}
-
-HCURSOR
-qxeLoadCursorFromFile (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return LoadCursorFromFileW ((LPCWSTR) arg1);
-  else
-    return LoadCursorFromFileA ((LPCSTR) arg1);
-}
-
-HCURSOR
-qxeLoadCursor (HINSTANCE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return LoadCursorW (arg1, (LPCWSTR) arg2);
-  else
-    return LoadCursorA (arg1, (LPCSTR) arg2);
-}
-
-HICON
-qxeLoadIcon (HINSTANCE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return LoadIconW (arg1, (LPCWSTR) arg2);
-  else
-    return LoadIconA (arg1, (LPCSTR) arg2);
-}
-
-/* NOTE: NT 4.0+ only */
+/* Error if RealGetWindowClass used: NT 5.0+ only */
+
+/* Error if GetAltTabInfo used: NT 5.0+ only */
+
+/* Error if GetRawInputDeviceInfo used: HST: new? -- needs review */
+
+/* Error if CreateDesktopEx used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                      Processing file SYNCHAPI.H                      */
+/*----------------------------------------------------------------------*/
+
+HANDLE
+qxeOpenMutex (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return OpenMutexW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName);
+  else
+    return OpenMutexA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName);
+}
+
+HANDLE
+qxeOpenEvent (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return OpenEventW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName);
+  else
+    return OpenEventA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName);
+}
+
+HANDLE
+qxeOpenSemaphore (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return OpenSemaphoreW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName);
+  else
+    return OpenSemaphoreA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName);
+}
+
+/* Error if SleepConditionVariableSR used: HST: new? -- needs review */
+
+/* Error if CreateMutexEx used: HST: new? -- needs review */
+
+/* Error if CreateEventEx used: HST: new? -- needs review */
+
+/* Error if CreateSemaphoreEx used: HST: new? -- needs review */
+
+HANDLE
+qxeCreateMutex (LPSECURITY_ATTRIBUTES lpMutexAttributes, WINBOOL bInitialOwner, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return CreateMutexW (lpMutexAttributes, bInitialOwner, (LPCWSTR) lpName);
+  else
+    return CreateMutexA (lpMutexAttributes, bInitialOwner, (LPCSTR) lpName);
+}
+
+HANDLE
+qxeCreateEvent (LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualReset, WINBOOL bInitialState, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return CreateEventW (lpEventAttributes, bManualReset, bInitialState, (LPCWSTR) lpName);
+  else
+    return CreateEventA (lpEventAttributes, bManualReset, bInitialState, (LPCSTR) lpName);
+}
+
 HANDLE
-qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6)
-{
-  if (XEUNICODE_P)
-    return LoadImageW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return LoadImageA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
-}
-
-HKL
-qxeLoadKeyboardLayout (const Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return LoadKeyboardLayoutW ((LPCWSTR) arg1, arg2);
-  else
-    return LoadKeyboardLayoutA ((LPCSTR) arg1, arg2);
-}
-
-HMENU
-qxeLoadMenuIndirect (const MENUTEMPLATE* arg1)
-{
-  if (XEUNICODE_P)
-    return LoadMenuIndirectW (arg1);
-  else
-    return LoadMenuIndirectA (arg1);
-}
-
-HMENU
-qxeLoadMenu (HINSTANCE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return LoadMenuW (arg1, (LPCWSTR) arg2);
-  else
-    return LoadMenuA (arg1, (LPCSTR) arg2);
-}
-
-int
-qxeLoadString (HINSTANCE arg1, UINT arg2, Extbyte * arg3, int arg4)
-{
-  if (XEUNICODE_P)
-    return LoadStringW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return LoadStringA (arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-/* NOTE: NT 4.0+ only */
-UINT
-qxeMapVirtualKeyEx (UINT arg1, UINT arg2, HKL arg3)
-{
-  if (XEUNICODE_P)
-    return MapVirtualKeyExW (arg1, arg2, arg3);
-  else
-    return MapVirtualKeyExA (arg1, arg2, arg3);
-}
-
-UINT
-qxeMapVirtualKey (UINT arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return MapVirtualKeyW (arg1, arg2);
-  else
-    return MapVirtualKeyA (arg1, arg2);
-}
-
-int
-qxeMessageBox (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4)
-{
-  if (XEUNICODE_P)
-    return MessageBoxW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4);
-  else
-    return MessageBoxA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4);
+qxeOpenWaitableTimer (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpTimerName)
+{
+  if (XEUNICODE_P)
+    return OpenWaitableTimerW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpTimerName);
+  else
+    return OpenWaitableTimerA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpTimerName);
+}
+
+/* Error if CreateWaitableTimerEx used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                  Processing file SECURITYBASEAPI.H                   */
+/*----------------------------------------------------------------------*/
+
+WINBOOL
+qxeAccessCheckAndAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose)
+{
+  if (XEUNICODE_P)
+    return AccessCheckAndAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, (LPWSTR) ObjectTypeName, (LPWSTR) ObjectName, SecurityDescriptor, DesiredAccess, GenericMapping, ObjectCreation, GrantedAccess, AccessStatus, pfGenerateOnClose);
+  else
+    return AccessCheckAndAuditAlarmA ((LPCSTR) SubsystemName, HandleId, (LPSTR) ObjectTypeName, (LPSTR) ObjectName, SecurityDescriptor, DesiredAccess, GenericMapping, ObjectCreation, GrantedAccess, AccessStatus, pfGenerateOnClose);
+}
+
+/* Error if AccessCheckByTypeAndAuditAlarm used: HST: new? -- needs review */
+
+/* Error if AccessCheckByTypeResultListAndAuditAlarm used: HST: new? -- needs review */
+
+/* Error if AccessCheckByTypeResultListAndAuditAlarmByHandle used: HST: new? -- needs review */
+
+WINBOOL
+qxeGetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded)
+{
+  if (XEUNICODE_P)
+    return GetFileSecurityW ((LPCWSTR) lpFileName, RequestedInformation, pSecurityDescriptor, nLength, lpnLengthNeeded);
+  else
+    return GetFileSecurityA ((LPCSTR) lpFileName, RequestedInformation, pSecurityDescriptor, nLength, lpnLengthNeeded);
+}
+
+WINBOOL
+qxeObjectCloseAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose)
+{
+  if (XEUNICODE_P)
+    return ObjectCloseAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, GenerateOnClose);
+  else
+    return ObjectCloseAuditAlarmA ((LPCSTR) SubsystemName, HandleId, GenerateOnClose);
+}
+
+WINBOOL
+qxeObjectDeleteAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose)
+{
+  if (XEUNICODE_P)
+    return ObjectDeleteAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, GenerateOnClose);
+  else
+    return ObjectDeleteAuditAlarmA ((LPCSTR) SubsystemName, HandleId, GenerateOnClose);
+}
+
+WINBOOL
+qxeObjectOpenAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, WINBOOL ObjectCreation, WINBOOL AccessGranted, LPBOOL GenerateOnClose)
+{
+  if (XEUNICODE_P)
+    return ObjectOpenAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, (LPWSTR) ObjectTypeName, (LPWSTR) ObjectName, pSecurityDescriptor, ClientToken, DesiredAccess, GrantedAccess, Privileges, ObjectCreation, AccessGranted, GenerateOnClose);
+  else
+    return ObjectOpenAuditAlarmA ((LPCSTR) SubsystemName, HandleId, (LPSTR) ObjectTypeName, (LPSTR) ObjectName, pSecurityDescriptor, ClientToken, DesiredAccess, GrantedAccess, Privileges, ObjectCreation, AccessGranted, GenerateOnClose);
+}
+
+WINBOOL
+qxeObjectPrivilegeAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted)
+{
+  if (XEUNICODE_P)
+    return ObjectPrivilegeAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, ClientToken, DesiredAccess, Privileges, AccessGranted);
+  else
+    return ObjectPrivilegeAuditAlarmA ((LPCSTR) SubsystemName, HandleId, ClientToken, DesiredAccess, Privileges, AccessGranted);
+}
+
+WINBOOL
+qxePrivilegedServiceAuditAlarm (const Extbyte * SubsystemName, const Extbyte * ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted)
+{
+  if (XEUNICODE_P)
+    return PrivilegedServiceAuditAlarmW ((LPCWSTR) SubsystemName, (LPCWSTR) ServiceName, ClientToken, Privileges, AccessGranted);
+  else
+    return PrivilegedServiceAuditAlarmA ((LPCSTR) SubsystemName, (LPCSTR) ServiceName, ClientToken, Privileges, AccessGranted);
+}
+
+WINBOOL
+qxeSetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor)
+{
+  if (XEUNICODE_P)
+    return SetFileSecurityW ((LPCWSTR) lpFileName, SecurityInformation, pSecurityDescriptor);
+  else
+    return SetFileSecurityA ((LPCSTR) lpFileName, SecurityInformation, pSecurityDescriptor);
+}
+
+
+/*----------------------------------------------------------------------*/
+/*                     Processing file PROCESSENV.H                     */
+/*----------------------------------------------------------------------*/
+
+/* Error if GetEnvironmentStrings used: HST: new? -- needs review */
+
+/* Error if SetEnvironmentStrings used: HST: new? -- needs review */
+
+WINBOOL
+qxeFreeEnvironmentStrings (LPWCH penv)
+{
+  if (XEUNICODE_P)
+    return FreeEnvironmentStringsW (penv);
+  else
+    return FreeEnvironmentStringsA (penv);
+}
+
+Extbyte *
+qxeGetCommandLine (void)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) GetCommandLineW ();
+  else
+    return (Extbyte *) GetCommandLineA ();
+}
+
+DWORD
+qxeGetEnvironmentVariable (const Extbyte * lpName, Extbyte * lpBuffer, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetEnvironmentVariableW ((LPCWSTR) lpName, (LPWSTR) lpBuffer, nSize);
+  else
+    return GetEnvironmentVariableA ((LPCSTR) lpName, (LPSTR) lpBuffer, nSize);
+}
+
+WINBOOL
+qxeSetEnvironmentVariable (const Extbyte * lpName, const Extbyte * lpValue)
+{
+  if (XEUNICODE_P)
+    return SetEnvironmentVariableW ((LPCWSTR) lpName, (LPCWSTR) lpValue);
+  else
+    return SetEnvironmentVariableA ((LPCSTR) lpName, (LPCSTR) lpValue);
+}
+
+DWORD
+qxeExpandEnvironmentStrings (const Extbyte * lpSrc, Extbyte * lpDst, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return ExpandEnvironmentStringsW ((LPCWSTR) lpSrc, (LPWSTR) lpDst, nSize);
+  else
+    return ExpandEnvironmentStringsA ((LPCSTR) lpSrc, (LPSTR) lpDst, nSize);
+}
+
+WINBOOL
+qxeSetCurrentDirectory (const Extbyte * lpPathName)
+{
+  if (XEUNICODE_P)
+    return SetCurrentDirectoryW ((LPCWSTR) lpPathName);
+  else
+    return SetCurrentDirectoryA ((LPCSTR) lpPathName);
+}
+
+DWORD
+qxeGetCurrentDirectory (DWORD nBufferLength, Extbyte * lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetCurrentDirectoryW (nBufferLength, (LPWSTR) lpBuffer);
+  else
+    return GetCurrentDirectoryA (nBufferLength, (LPSTR) lpBuffer);
+}
+
+DWORD
+qxeSearchPath (const Extbyte * lpPath, const Extbyte * lpFileName, const Extbyte * lpExtension, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart)
+{
+  if (XEUNICODE_P)
+    return SearchPathW ((LPCWSTR) lpPath, (LPCWSTR) lpFileName, (LPCWSTR) lpExtension, nBufferLength, (LPWSTR) lpBuffer, (LPWSTR *) lpFilePart);
+  else
+    return SearchPathA ((LPCSTR) lpPath, (LPCSTR) lpFileName, (LPCSTR) lpExtension, nBufferLength, (LPSTR) lpBuffer, (LPSTR *) lpFilePart);
+}
+
+/* Error if NeedCurrentDirectoryForExePath used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file DBGENG.H                       */
+/*----------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------*/
+/*                    Processing file LIBLOADERAPI.H                    */
+/*----------------------------------------------------------------------*/
+
+HRSRC
+qxeFindResourceEx (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage)
+{
+  if (XEUNICODE_P)
+    return FindResourceExW (hModule, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage);
+  else
+    return FindResourceExA (hModule, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage);
+}
+
+DWORD
+qxeGetModuleFileName (HMODULE hModule, Extbyte * lpFilename, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetModuleFileNameW (hModule, (LPWSTR) lpFilename, nSize);
+  else
+    return GetModuleFileNameA (hModule, (LPSTR) lpFilename, nSize);
+}
+
+HMODULE
+qxeGetModuleHandle (const Extbyte * lpModuleName)
+{
+  if (XEUNICODE_P)
+    return GetModuleHandleW ((LPCWSTR) lpModuleName);
+  else
+    return GetModuleHandleA ((LPCSTR) lpModuleName);
+}
+
+HMODULE
+qxeLoadLibraryEx (const Extbyte * lpLibFileName, HANDLE hFile, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return LoadLibraryExW ((LPCWSTR) lpLibFileName, hFile, dwFlags);
+  else
+    return LoadLibraryExA ((LPCSTR) lpLibFileName, hFile, dwFlags);
 }
 
 int
-qxeMessageBoxEx (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4, WORD arg5)
-{
-  if (XEUNICODE_P)
-    return MessageBoxExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5);
-  else
-    return MessageBoxExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5);
-}
-
-/* Error if MessageBoxIndirect used: Cygwin has split MSGBOXPARAMS* instead of LPMSGBOXPARAMS */
-
-BOOL
-qxeModifyMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5)
-{
-  if (XEUNICODE_P)
-    return ModifyMenuW (arg1, arg2, arg3, arg4, (LPCWSTR) arg5);
-  else
-    return ModifyMenuA (arg1, arg2, arg3, arg4, (LPCSTR) arg5);
-}
-
-BOOL
-qxeOemToCharBuff (LPCSTR arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return OemToCharBuffW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return OemToCharBuffA (arg1, (LPSTR) arg2, arg3);
-}
-
-BOOL
-qxeOemToChar (LPCSTR arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return OemToCharW (arg1, (LPWSTR) arg2);
-  else
-    return OemToCharA (arg1, (LPSTR) arg2);
-}
-
-HDESK
-qxeOpenDesktop (Extbyte * arg1, DWORD arg2, BOOL arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return OpenDesktopW ((LPWSTR) arg1, arg2, arg3, arg4);
-  else
-    return OpenDesktopA ((LPSTR) arg1, arg2, arg3, arg4);
-}
-
-HWINSTA
-qxeOpenWindowStation (Extbyte * arg1, BOOL arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return OpenWindowStationW ((LPWSTR) arg1, arg2, arg3);
-  else
-    return OpenWindowStationA ((LPSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxePeekMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4, UINT arg5)
-{
-  if (XEUNICODE_P)
-    return PeekMessageW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return PeekMessageA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxePostMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
-{
-  if (XEUNICODE_P)
-    return PostMessageW (arg1, arg2, arg3, arg4);
-  else
-    return PostMessageA (arg1, arg2, arg3, arg4);
-}
-
-BOOL
-qxePostThreadMessage (DWORD arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
-{
-  if (XEUNICODE_P)
-    return PostThreadMessageW (arg1, arg2, arg3, arg4);
-  else
-    return PostThreadMessageA (arg1, arg2, arg3, arg4);
-}
-
-/* Error if RealGetWindowClass used: NT 5.0+ only */
-
-/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
-
-/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
+qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int cchBufferMax)
+{
+  if (XEUNICODE_P)
+    return LoadStringW (hInstance, uID, (LPWSTR) lpBuffer, cchBufferMax);
+  else
+    return LoadStringA (hInstance, uID, (LPSTR) lpBuffer, cchBufferMax);
+}
+
+/* Error if GetModuleHandleEx used: HST: new? -- needs review */
+
+/* Error if EnumResourceLanguages used: HST: new? -- needs review */
+
+/* Error if EnumResourceLanguagesEx used: HST: new? -- needs review */
+
+/* Error if EnumResourceNamesEx used: HST: new? -- needs review */
+
+/* Error if EnumResourceTypesEx used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                        Processing file IMM.H                         */
+/*----------------------------------------------------------------------*/
+
+#if defined (HAVE_MS_WINDOWS)
+
+HKL
+qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText)
+{
+  if (XEUNICODE_P)
+    return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText);
+  else
+    return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+UINT
+qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen)
+{
+  if (XEUNICODE_P)
+    return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen);
+  else
+    return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
 
 UINT
-qxeRegisterClipboardFormat (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return RegisterClipboardFormatW ((LPCWSTR) arg1);
-  else
-    return RegisterClipboardFormatA ((LPCSTR) arg1);
-}
-
-/* Error if RegisterDeviceNotification used: NT 5.0+ only */
+qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen)
+{
+  if (XEUNICODE_P)
+    return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen);
+  else
+    return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+LONG
+qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4)
+{
+  if (XEUNICODE_P)
+    return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
+  else
+    return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping ImmSetCompositionString because different prototypes in VC6 and VC7 */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount)
+{
+  if (XEUNICODE_P)
+    return ImmGetCandidateListCountW (arg1, lpdwListCount);
+  else
+    return ImmGetCandidateListCountA (arg1, lpdwListCount);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen)
+{
+  if (XEUNICODE_P)
+    return ImmGetCandidateListW (arg1, deIndex, arg3, dwBufLen);
+  else
+    return ImmGetCandidateListA (arg1, deIndex, arg3, dwBufLen);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen)
+{
+  if (XEUNICODE_P)
+    return ImmGetGuideLineW (arg1, dwIndex, (LPWSTR) arg3, dwBufLen);
+  else
+    return ImmGetGuideLineA (arg1, dwIndex, (LPSTR) arg3, dwBufLen);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping ImmGetCompositionFont because split-sized LOGFONT */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping ImmSetCompositionFont because split-sized LOGFONT */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* NOTE: // split-simple REGISTERWORD */
+WINBOOL
+qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4)
+{
+  if (XEUNICODE_P)
+    return ImmConfigureIMEW (arg1, arg2, arg3, arg4);
+  else
+    return ImmConfigureIMEA (arg1, arg2, arg3, arg4);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* NOTE: // strings of various sorts */
+LRESULT
+qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4)
+{
+  if (XEUNICODE_P)
+    return ImmEscapeW (arg1, arg2, arg3, arg4);
+  else
+    return ImmEscapeA (arg1, arg2, arg3, arg4);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag)
+{
+  if (XEUNICODE_P)
+    return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, dwBufLen, uFlag);
+  else
+    return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, dwBufLen, uFlag);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
+{
+  if (XEUNICODE_P)
+    return ImmIsUIMessageW (arg1, arg2, arg3, arg4);
+  else
+    return ImmIsUIMessageA (arg1, arg2, arg3, arg4);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister)
+{
+  if (XEUNICODE_P)
+    return ImmRegisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszRegister);
+  else
+    return ImmRegisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszRegister);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister)
+{
+  if (XEUNICODE_P)
+    return ImmUnregisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszUnregister);
+  else
+    return ImmUnregisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszUnregister);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if ImmGetRegisterWordStyle used: split-sized STYLEBUF */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
 
 UINT
-qxeRegisterWindowMessage (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return RegisterWindowMessageW ((LPCWSTR) arg1);
-  else
-    return RegisterWindowMessageA ((LPCSTR) arg1);
+qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6)
+{
+  if (XEUNICODE_P)
+    return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) lpszReading, arg4, (LPCWSTR) lpszRegister, arg6);
+  else
+    return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) lpszReading, arg4, (LPCSTR) lpszRegister, arg6);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if ImmGetImeMenuItems used: split-sized IMEMENUITEMINFO */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+
+/*----------------------------------------------------------------------*/
+/*                    Processing file NAMEDPIPEAPI.H                    */
+/*----------------------------------------------------------------------*/
+
+HANDLE
+qxeCreateNamedPipe (const Extbyte * lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+{
+  if (XEUNICODE_P)
+    return CreateNamedPipeW ((LPCWSTR) lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes);
+  else
+    return CreateNamedPipeA ((LPCSTR) lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes);
+}
+
+WINBOOL
+qxeWaitNamedPipe (const Extbyte * lpNamedPipeName, DWORD nTimeOut)
+{
+  if (XEUNICODE_P)
+    return WaitNamedPipeW ((LPCWSTR) lpNamedPipeName, nTimeOut);
+  else
+    return WaitNamedPipeA ((LPCSTR) lpNamedPipeName, nTimeOut);
+}
+
+/* Error if GetNamedPipeClientComputerName used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                     Processing file MEMORYAPI.H                      */
+/*----------------------------------------------------------------------*/
+
+HANDLE
+qxeCreateFileMapping (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return CreateFileMappingW (hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, (LPCWSTR) lpName);
+  else
+    return CreateFileMappingA (hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, (LPCSTR) lpName);
 }
 
 HANDLE
-qxeRemoveProp (HWND arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return RemovePropW (arg1, (LPCWSTR) arg2);
-  else
-    return RemovePropA (arg1, (LPCSTR) arg2);
-}
-
-LONG
-qxeSendDlgItemMessage (HWND arg1, int arg2, UINT arg3, WPARAM arg4, LPARAM arg5)
-{
-  if (XEUNICODE_P)
-    return SendDlgItemMessageW (arg1, arg2, arg3, arg4, arg5);
-  else
-    return SendDlgItemMessageA (arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeSendMessageCallback (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, SENDASYNCPROC arg5, DWORD arg6)
-{
-  if (XEUNICODE_P)
-    return SendMessageCallbackW (arg1, arg2, arg3, arg4, arg5, arg6);
-  else
-    return SendMessageCallbackA (arg1, arg2, arg3, arg4, arg5, arg6);
-}
-
-/* Error if SendMessageTimeout used: VS6 has erroneous seventh parameter DWORD_PTR instead of PDWORD_PTR */
-
-/* Skipping SendMessage because split messages and structures */
-
-BOOL
-qxeSendNotifyMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
-{
-  if (XEUNICODE_P)
-    return SendNotifyMessageW (arg1, arg2, arg3, arg4);
-  else
-    return SendNotifyMessageA (arg1, arg2, arg3, arg4);
+qxeOpenFileMapping (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return OpenFileMappingW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName);
+  else
+    return OpenFileMappingA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName);
+}
+
+/* Error if CreateFileMappingNuma used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                      Processing file MMSYSTEM.H                      */
+/*----------------------------------------------------------------------*/
+
+WINBOOL
+qxesndPlaySound (const Extbyte * pszSound, UINT fuSound)
+{
+  if (XEUNICODE_P)
+    return sndPlaySoundW ((LPCWSTR) pszSound, fuSound);
+  else
+    return sndPlaySoundA ((LPCSTR) pszSound, fuSound);
+}
+
+WINBOOL
+qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound)
+{
+  if (XEUNICODE_P)
+    return PlaySoundW ((LPCWSTR) pszSound, hmod, fdwSound);
+  else
+    return PlaySoundA ((LPCSTR) pszSound, hmod, fdwSound);
+}
+
+/* Error if waveOutGetDevCaps used: split-sized LPWAVEOUTCAPS */
+
+MMRESULT
+qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return waveOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
+  else
+    return waveOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
+}
+
+/* Error if waveInGetDevCaps used: split-sized LPWAVEINCAPS */
+
+MMRESULT
+qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return waveInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
+  else
+    return waveInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
+}
+
+/* Error if midiOutGetDevCaps used: split-sized LPMIDIOUTCAPS */
+
+MMRESULT
+qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return midiOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
+  else
+    return midiOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
+}
+
+/* Error if midiInGetDevCaps used: split-sized LPMIDIOUTCAPS */
+
+MMRESULT
+qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return midiInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
+  else
+    return midiInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
+}
+
+/* Error if auxGetDevCaps used: split-sized LPAUXCAPS */
+
+/* Error if mixerGetDevCaps used: split-sized LPMIXERCAPS */
+
+/* Error if mixerGetLineInfo used: split-sized LPMIXERLINE */
+
+/* Error if mixerGetLineControls used: split-sized LPMIXERCONTROL */
+
+/* Error if mixerGetControlDetails used: split-sized LPMIXERCONTROL in LPMIXERLINECONTROLS in LPMIXERCONTROLDETAILS */
+
+/* Error if joyGetDevCaps used: split-sized LPJOYCAPS */
+
+FOURCC
+qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags)
+{
+  if (XEUNICODE_P)
+    return mmioStringToFOURCCW ((LPCWSTR) sz, uFlags);
+  else
+    return mmioStringToFOURCCA ((LPCSTR) sz, uFlags);
+}
+
+LPMMIOPROC
+qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return mmioInstallIOProcW (fccIOProc, pIOProc, dwFlags);
+  else
+    return mmioInstallIOProcA (fccIOProc, pIOProc, dwFlags);
+}
+
+HMMIO
+qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen)
+{
+  if (XEUNICODE_P)
+    return mmioOpenW ((LPWSTR) pszFileName, pmmioinfo, fdwOpen);
+  else
+    return mmioOpenA ((LPSTR) pszFileName, pmmioinfo, fdwOpen);
+}
+
+MMRESULT
+qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename)
+{
+  if (XEUNICODE_P)
+    return mmioRenameW ((LPCWSTR) pszFileName, (LPCWSTR) pszNewFileName, pmmioinfo, fdwRename);
+  else
+    return mmioRenameA ((LPCSTR) pszFileName, (LPCSTR) pszNewFileName, pmmioinfo, fdwRename);
+}
+
+MCIERROR
+qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
+{
+  if (XEUNICODE_P)
+    return mciSendCommandW (mciId, uMsg, dwParam1, dwParam2);
+  else
+    return mciSendCommandA (mciId, uMsg, dwParam1, dwParam2);
+}
+
+MCIERROR
+qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback)
+{
+  if (XEUNICODE_P)
+    return mciSendStringW ((LPCWSTR) lpstrCommand, (LPWSTR) lpstrReturnString, uReturnLength, hwndCallback);
+  else
+    return mciSendStringA ((LPCSTR) lpstrCommand, (LPSTR) lpstrReturnString, uReturnLength, hwndCallback);
+}
+
+MCIDEVICEID
+qxemciGetDeviceID (const Extbyte * pszDevice)
+{
+  if (XEUNICODE_P)
+    return mciGetDeviceIDW ((LPCWSTR) pszDevice);
+  else
+    return mciGetDeviceIDA ((LPCSTR) pszDevice);
+}
+
+#if !defined (MINGW)
+
+/* Error if mciGetDeviceIDFromElementID used: missing from Win98se version of ADVAPI32.dll */
+
+#endif /* !defined (MINGW) */
+
+WINBOOL
+qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText);
+  else
+    return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText);
+}
+
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file WINCON.H                       */
+/*----------------------------------------------------------------------*/
+
+WINBOOL
+qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead)
+{
+  if (XEUNICODE_P)
+    return PeekConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
+  else
+    return PeekConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
+}
+
+WINBOOL
+qxeReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead)
+{
+  if (XEUNICODE_P)
+    return ReadConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
+  else
+    return ReadConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
+}
+
+WINBOOL
+qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten)
+{
+  if (XEUNICODE_P)
+    return WriteConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten);
+  else
+    return WriteConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten);
+}
+
+WINBOOL
+qxeReadConsoleOutput (HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion)
+{
+  if (XEUNICODE_P)
+    return ReadConsoleOutputW (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpReadRegion);
+  else
+    return ReadConsoleOutputA (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpReadRegion);
+}
+
+WINBOOL
+qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion)
+{
+  if (XEUNICODE_P)
+    return WriteConsoleOutputW (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion);
+  else
+    return WriteConsoleOutputA (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion);
+}
+
+WINBOOL
+qxeReadConsoleOutputCharacter (HANDLE hConsoleOutput, Extbyte * lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead)
+{
+  if (XEUNICODE_P)
+    return ReadConsoleOutputCharacterW (hConsoleOutput, (LPWSTR) lpCharacter, nLength, dwReadCoord, lpNumberOfCharsRead);
+  else
+    return ReadConsoleOutputCharacterA (hConsoleOutput, (LPSTR) lpCharacter, nLength, dwReadCoord, lpNumberOfCharsRead);
+}
+
+WINBOOL
+qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten)
+{
+  if (XEUNICODE_P)
+    return WriteConsoleOutputCharacterW (hConsoleOutput, (LPCWSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten);
+  else
+    return WriteConsoleOutputCharacterA (hConsoleOutput, (LPCSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten);
+}
+
+/* Error if FillConsoleOutputCharacter used: split CHAR */
+
+WINBOOL
+qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill)
+{
+  if (XEUNICODE_P)
+    return ScrollConsoleScreenBufferW (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill);
+  else
+    return ScrollConsoleScreenBufferA (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill);
 }
 
 DWORD
-qxeSetClassLong (HWND arg1, int arg2, LONG arg3)
-{
-  if (XEUNICODE_P)
-    return SetClassLongW (arg1, arg2, arg3);
-  else
-    return SetClassLongA (arg1, arg2, arg3);
-}
-
-/* Error if SetClassLongPtr used: Function needs review to determine how to handle it */
-
-BOOL
-qxeSetDlgItemText (HWND arg1, int arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return SetDlgItemTextW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return SetDlgItemTextA (arg1, arg2, (LPCSTR) arg3);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeSetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
-{
-  if (XEUNICODE_P)
-    return SetMenuItemInfoW (arg1, arg2, arg3, arg4);
-  else
-    return SetMenuItemInfoA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
-}
-
-BOOL
-qxeSetProp (HWND arg1, const Extbyte * arg2, HANDLE arg3)
-{
-  if (XEUNICODE_P)
-    return SetPropW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return SetPropA (arg1, (LPCSTR) arg2, arg3);
-}
-
-BOOL
-qxeSetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return SetUserObjectInformationW (arg1, arg2, arg3, arg4);
-  else
-    return SetUserObjectInformationA (arg1, arg2, arg3, arg4);
-}
-
-LONG
-qxeSetWindowLong (HWND arg1, int arg2, LONG arg3)
-{
-  if (XEUNICODE_P)
-    return SetWindowLongW (arg1, arg2, arg3);
-  else
-    return SetWindowLongA (arg1, arg2, arg3);
-}
-
-/* Error if SetWindowLongPtr used: Function needs review to determine how to handle it */
-
-/* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
-
-HHOOK
-qxeSetWindowsHookEx (int arg1, HOOKPROC arg2, HINSTANCE arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return SetWindowsHookExW (arg1, arg2, arg3, arg4);
-  else
-    return SetWindowsHookExA (arg1, arg2, arg3, arg4);
-}
-
-BOOL
-qxeSetWindowText (HWND arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return SetWindowTextW (arg1, (LPCWSTR) arg2);
-  else
-    return SetWindowTextA (arg1, (LPCSTR) arg2);
-}
-
-/* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */
-BOOL
-qxeSystemParametersInfo (UINT arg1, UINT arg2, PVOID arg3, UINT arg4)
-{
-  if (XEUNICODE_P)
-    return SystemParametersInfoW (arg1, arg2, arg3, arg4);
-  else
-    return SystemParametersInfoA (arg1, arg2, arg3, arg4);
-}
-
-LONG
-qxeTabbedTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5, int arg6, LPINT arg7, int arg8)
-{
-  if (XEUNICODE_P)
-    return TabbedTextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5, arg6, arg7, arg8);
-  else
-    return TabbedTextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5, arg6, arg7, arg8);
-}
-
-int
-qxeTranslateAccelerator (HWND arg1, HACCEL arg2, LPMSG arg3)
-{
-  if (XEUNICODE_P)
-    return TranslateAcceleratorW (arg1, arg2, arg3);
-  else
-    return TranslateAcceleratorA (arg1, arg2, arg3);
-}
-
-/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
-
-/* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */
-
-/* Skipping VkKeyScan because split CHAR */
-
-BOOL
-qxeWinHelp (HWND arg1, const Extbyte * arg2, UINT arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return WinHelpW (arg1, (LPCWSTR) arg2, arg3, arg4);
-  else
-    return WinHelpA (arg1, (LPCSTR) arg2, arg3, arg4);
-}
-
-int
-qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist)
-{
-  if (XEUNICODE_P)
-    return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist);
-  else
-    return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist);
-}
+qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetConsoleTitleW ((LPWSTR) lpConsoleTitle, nSize);
+  else
+    return GetConsoleTitleA ((LPSTR) lpConsoleTitle, nSize);
+}
+
+WINBOOL
+qxeSetConsoleTitle (const Extbyte * lpConsoleTitle)
+{
+  if (XEUNICODE_P)
+    return SetConsoleTitleW ((LPCWSTR) lpConsoleTitle);
+  else
+    return SetConsoleTitleA ((LPCSTR) lpConsoleTitle);
+}
+
+WINBOOL
+qxeReadConsole (HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID lpReserved)
+{
+  if (XEUNICODE_P)
+    return ReadConsoleW (hConsoleInput, lpBuffer, nNumberOfCharsToRead, lpNumberOfCharsRead, lpReserved);
+  else
+    return ReadConsoleA (hConsoleInput, lpBuffer, nNumberOfCharsToRead, lpNumberOfCharsRead, lpReserved);
+}
+
+WINBOOL
+qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved)
+{
+  if (XEUNICODE_P)
+    return WriteConsoleW (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
+  else
+    return WriteConsoleA (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
+}
+
+/* Error if AddConsoleAlias used: HST: new? -- needs review */
+
+/* Error if GetConsoleAlias used: HST: new? -- needs review */
+
+/* Error if GetConsoleAliasesLength used: HST: new? -- needs review */
+
+/* Error if GetConsoleAliasExesLength used: HST: new? -- needs review */
+
+/* Error if GetConsoleAliases used: HST: new? -- needs review */
+
+/* Error if GetConsoleAliasExes used: HST: new? -- needs review */
+
+/* Error if GetConsoleOriginalTitle used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                      Processing file DEBUGAPI.H                      */
+/*----------------------------------------------------------------------*/
+
+VOID
+qxeOutputDebugString (const Extbyte * lpOutputString)
+{
+  if (XEUNICODE_P)
+    OutputDebugStringW ((LPCWSTR) lpOutputString);
+  else
+    OutputDebugStringA ((LPCSTR) lpOutputString);
+}
+
+
+/*----------------------------------------------------------------------*/
+/*                      Processing file WINNETWK.H                      */
+/*----------------------------------------------------------------------*/
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName)
+{
+  if (XEUNICODE_P)
+    return WNetAddConnectionW ((LPCWSTR) lpRemoteName, (LPCWSTR) lpPassword, (LPCWSTR) lpLocalName);
+  else
+    return WNetAddConnectionA ((LPCSTR) lpRemoteName, (LPCSTR) lpPassword, (LPCSTR) lpLocalName);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return WNetAddConnection2W (lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
+  else
+    return WNetAddConnection2A ((LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return WNetAddConnection3W (hwndOwner, lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
+  else
+    return WNetAddConnection3A (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetCancelConnection (const Extbyte * lpName, WINBOOL fForce)
+{
+  if (XEUNICODE_P)
+    return WNetCancelConnectionW ((LPCWSTR) lpName, fForce);
+  else
+    return WNetCancelConnectionA ((LPCSTR) lpName, fForce);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, WINBOOL fForce)
+{
+  if (XEUNICODE_P)
+    return WNetCancelConnection2W ((LPCWSTR) lpName, dwFlags, fForce);
+  else
+    return WNetCancelConnection2A ((LPCSTR) lpName, dwFlags, fForce);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetConnection (const Extbyte * lpLocalName, Extbyte * lpRemoteName, LPDWORD lpnLength)
+{
+  if (XEUNICODE_P)
+    return WNetGetConnectionW ((LPCWSTR) lpLocalName, (LPWSTR) lpRemoteName, lpnLength);
+  else
+    return WNetGetConnectionA ((LPCSTR) lpLocalName, (LPSTR) lpRemoteName, lpnLength);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetUseConnection (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserID, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult)
+{
+  if (XEUNICODE_P)
+    return WNetUseConnectionW (hwndOwner, lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserID, dwFlags, (LPWSTR) lpAccessName, lpBufferSize, lpResult);
+  else
+    return WNetUseConnectionA (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserID, dwFlags, (LPSTR) lpAccessName, lpBufferSize, lpResult);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if WNetRestoreSingleConnection used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if WNetRestoreConnection used: HST: new? -- needs review */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* NOTE: contains split-simple LPNETRESOURCE */
+DWORD
+qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW lpConnDlgStruct)
+{
+  if (XEUNICODE_P)
+    return WNetConnectionDialog1W (lpConnDlgStruct);
+  else
+    return WNetConnectionDialog1A ((LPCONNECTDLGSTRUCTA) lpConnDlgStruct);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW lpConnDlgStruct)
+{
+  if (XEUNICODE_P)
+    return WNetDisconnectDialog1W (lpConnDlgStruct);
+  else
+    return WNetDisconnectDialog1A ((LPDISCDLGSTRUCTA) lpConnDlgStruct);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetOpenEnum (DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum)
+{
+  if (XEUNICODE_P)
+    return WNetOpenEnumW (dwScope, dwType, dwUsage, lpNetResource, lphEnum);
+  else
+    return WNetOpenEnumA (dwScope, dwType, dwUsage, (LPNETRESOURCEA) lpNetResource, lphEnum);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetEnumResource (HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize)
+{
+  if (XEUNICODE_P)
+    return WNetEnumResourceW (hEnum, lpcCount, lpBuffer, lpBufferSize);
+  else
+    return WNetEnumResourceA (hEnum, lpcCount, lpBuffer, lpBufferSize);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if WNetGetResourceParent used: Function needs review to determine how to handle it */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if WNetGetResourceInformation used: Function needs review to determine how to handle it */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetUniversalName (const Extbyte * lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize)
+{
+  if (XEUNICODE_P)
+    return WNetGetUniversalNameW ((LPCWSTR) lpLocalPath, dwInfoLevel, lpBuffer, lpBufferSize);
+  else
+    return WNetGetUniversalNameA ((LPCSTR) lpLocalPath, dwInfoLevel, lpBuffer, lpBufferSize);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetUser (const Extbyte * lpName, Extbyte * lpUserName, LPDWORD lpnLength)
+{
+  if (XEUNICODE_P)
+    return WNetGetUserW ((LPCWSTR) lpName, (LPWSTR) lpUserName, lpnLength);
+  else
+    return WNetGetUserA ((LPCSTR) lpName, (LPSTR) lpUserName, lpnLength);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetProviderName (DWORD dwNetType, Extbyte * lpProviderName, LPDWORD lpBufferSize)
+{
+  if (XEUNICODE_P)
+    return WNetGetProviderNameW (dwNetType, (LPWSTR) lpProviderName, lpBufferSize);
+  else
+    return WNetGetProviderNameA (dwNetType, (LPSTR) lpProviderName, lpBufferSize);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetNetworkInformation (const Extbyte * lpProvider, LPNETINFOSTRUCT lpNetInfoStruct)
+{
+  if (XEUNICODE_P)
+    return WNetGetNetworkInformationW ((LPCWSTR) lpProvider, lpNetInfoStruct);
+  else
+    return WNetGetNetworkInformationA ((LPCSTR) lpProvider, lpNetInfoStruct);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeWNetGetLastError (LPDWORD lpError, Extbyte * lpErrorBuf, DWORD nErrorBufSize, Extbyte * lpNameBuf, DWORD nNameBufSize)
+{
+  if (XEUNICODE_P)
+    return WNetGetLastErrorW (lpError, (LPWSTR) lpErrorBuf, nErrorBufSize, (LPWSTR) lpNameBuf, nNameBufSize);
+  else
+    return WNetGetLastErrorA (lpError, (LPSTR) lpErrorBuf, nErrorBufSize, (LPSTR) lpNameBuf, nNameBufSize);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD
+qxeMultinetGetConnectionPerformance (LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct)
+{
+  if (XEUNICODE_P)
+    return MultinetGetConnectionPerformanceW (lpNetResource, lpNetConnectInfoStruct);
+  else
+    return MultinetGetConnectionPerformanceA ((LPNETRESOURCEA) lpNetResource, lpNetConnectInfoStruct);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
 
 
 /*----------------------------------------------------------------------*/
 /*                       Processing file DDEML.H                        */
 /*----------------------------------------------------------------------*/
 
-/* NOTE: former error in Cygwin prototype, but no more (Cygwin 1.7, 1-30-10) */
-HSZ
-qxeDdeCreateStringHandle (DWORD arg1, const Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return DdeCreateStringHandleW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return DdeCreateStringHandleA (arg1, (LPCSTR) arg2, arg3);
-}
-
 UINT
-qxeDdeInitialize (PDWORD arg1, PFNCALLBACK arg2, DWORD arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return DdeInitializeW (arg1, arg2, arg3, arg4);
-  else
-    return DdeInitializeA (arg1, arg2, arg3, arg4);
-}
-
-DWORD
-qxeDdeQueryString (DWORD arg1, HSZ arg2, Extbyte * arg3, DWORD arg4, int arg5)
-{
-  if (XEUNICODE_P)
-    return DdeQueryStringW (arg1, arg2, (LPWSTR) arg3, arg4, arg5);
-  else
-    return DdeQueryStringA (arg1, arg2, (LPSTR) arg3, arg4, arg5);
-}
-
-
-/*----------------------------------------------------------------------*/
-/*                       Processing file WINREG.H                       */
-/*----------------------------------------------------------------------*/
-
-/* NOTE: error arg 1, Cygwin prototype, extra const.
-   NOTE: Prototype manually overridden.
-         Header file claims:
-           WINADVAPI BOOL WINAPI AbortSystemShutdown(LPCWSTR)
-         Overridden with:
-           BOOL AbortSystemShutdown(LPWSTR)
-         Differences in return-type qualifiers, e.g. WINAPI, are not important.
- */
-BOOL
-qxeAbortSystemShutdown (Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return AbortSystemShutdownW ((LPWSTR) arg1);
-  else
-    return AbortSystemShutdownA ((LPSTR) arg1);
-}
-
-BOOL
-qxeInitiateSystemShutdown (Extbyte * arg1, Extbyte * arg2, DWORD arg3, BOOL arg4, BOOL arg5)
-{
-  if (XEUNICODE_P)
-    return InitiateSystemShutdownW ((LPWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5);
-  else
-    return InitiateSystemShutdownA ((LPSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5);
+qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes)
+{
+  if (XEUNICODE_P)
+    return DdeInitializeW (pidInst, pfnCallback, afCmd, ulRes);
+  else
+    return DdeInitializeA (pidInst, pfnCallback, afCmd, ulRes);
 }
 
 /* NOTE: former error in Cygwin prototype, but no more (Cygwin 1.7, 1-30-10) */
-LONG
-qxeRegConnectRegistry (const Extbyte * arg1, HKEY arg2, PHKEY arg3)
-{
-  if (XEUNICODE_P)
-    return RegConnectRegistryW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return RegConnectRegistryA ((LPCSTR) arg1, arg2, arg3);
-}
-
-LONG
-qxeRegCreateKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5, REGSAM arg6, LPSECURITY_ATTRIBUTES arg7, PHKEY arg8, PDWORD arg9)
-{
-  if (XEUNICODE_P)
-    return RegCreateKeyExW (arg1, (LPCWSTR) arg2, arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9);
-  else
-    return RegCreateKeyExA (arg1, (LPCSTR) arg2, arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9);
-}
-
-LONG
-qxeRegCreateKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3)
-{
-  if (XEUNICODE_P)
-    return RegCreateKeyW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return RegCreateKeyA (arg1, (LPCSTR) arg2, arg3);
-}
-
-LONG
-qxeRegDeleteKey (HKEY arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return RegDeleteKeyW (arg1, (LPCWSTR) arg2);
-  else
-    return RegDeleteKeyA (arg1, (LPCSTR) arg2);
-}
-
-/* Error if RegDeleteKeyEx used: Function needs review to determine how to handle it */
-
-LONG
-qxeRegDeleteValue (HKEY arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return RegDeleteValueW (arg1, (LPCWSTR) arg2);
-  else
-    return RegDeleteValueA (arg1, (LPCSTR) arg2);
-}
-
-LONG
-qxeRegEnumKey (HKEY arg1, DWORD arg2, Extbyte * arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return RegEnumKeyW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return RegEnumKeyA (arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-LONG
-qxeRegEnumKeyEx (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, PDWORD arg7, PFILETIME arg8)
-{
-  if (XEUNICODE_P)
-    return RegEnumKeyExW (arg1, arg2, (LPWSTR) arg3, arg4, arg5, (LPWSTR) arg6, arg7, arg8);
-  else
-    return RegEnumKeyExA (arg1, arg2, (LPSTR) arg3, arg4, arg5, (LPSTR) arg6, arg7, arg8);
-}
-
-LONG
-qxeRegEnumValue (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, LPBYTE arg7, PDWORD arg8)
-{
-  if (XEUNICODE_P)
-    return RegEnumValueW (arg1, arg2, (LPWSTR) arg3, arg4, arg5, arg6, arg7, arg8);
-  else
-    return RegEnumValueA (arg1, arg2, (LPSTR) arg3, arg4, arg5, arg6, arg7, arg8);
-}
-
-LONG
-qxeRegLoadKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return RegLoadKeyW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return RegLoadKeyA (arg1, (LPCSTR) arg2, (LPCSTR) arg3);
-}
-
-LONG
-qxeRegOpenKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, REGSAM arg4, PHKEY arg5)
-{
-  if (XEUNICODE_P)
-    return RegOpenKeyExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return RegOpenKeyExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5);
-}
-
-LONG
-qxeRegOpenKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3)
-{
-  if (XEUNICODE_P)
-    return RegOpenKeyW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return RegOpenKeyA (arg1, (LPCSTR) arg2, arg3);
-}
-
-LONG
-qxeRegQueryInfoKey (HKEY arg1, Extbyte * arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, PDWORD arg7, PDWORD arg8, PDWORD arg9, PDWORD arg10, PDWORD arg11, PFILETIME arg12)
-{
-  if (XEUNICODE_P)
-    return RegQueryInfoKeyW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-  else
-    return RegQueryInfoKeyA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-}
-
-LONG
-qxeRegQueryMultipleValues (HKEY arg1, PVALENTW arg2, DWORD arg3, Extbyte * arg4, LPDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return RegQueryMultipleValuesW (arg1, arg2, arg3, (LPWSTR) arg4, arg5);
-  else
-    return RegQueryMultipleValuesA (arg1, (PVALENTA) arg2, arg3, (LPSTR) arg4, arg5);
-}
-
-LONG
-qxeRegQueryValueEx (HKEY arg1, const Extbyte * arg2, LPDWORD arg3, LPDWORD arg4, LPBYTE arg5, LPDWORD arg6)
-{
-  if (XEUNICODE_P)
-    return RegQueryValueExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return RegQueryValueExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
-}
-
-LONG
-qxeRegQueryValue (HKEY arg1, const Extbyte * arg2, Extbyte * arg3, PLONG arg4)
-{
-  if (XEUNICODE_P)
-    return RegQueryValueW (arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4);
-  else
-    return RegQueryValueA (arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4);
-}
-
-LONG
-qxeRegReplaceKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return RegReplaceKeyW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
-  else
-    return RegReplaceKeyA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4);
-}
-
-LONG
-qxeRegRestoreKey (HKEY arg1, const Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return RegRestoreKeyW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return RegRestoreKeyA (arg1, (LPCSTR) arg2, arg3);
-}
-
-LONG
-qxeRegSaveKey (HKEY arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3)
-{
-  if (XEUNICODE_P)
-    return RegSaveKeyW (arg1, (LPCWSTR) arg2, arg3);
-  else
-    return RegSaveKeyA (arg1, (LPCSTR) arg2, arg3);
-}
-
-LONG
-qxeRegSetValueEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, DWORD arg4, const BYTE* arg5, DWORD arg6)
-{
-  if (XEUNICODE_P)
-    return RegSetValueExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return RegSetValueExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
-}
-
-LONG
-qxeRegSetValue (HKEY arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4, DWORD arg5)
-{
-  if (XEUNICODE_P)
-    return RegSetValueW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4, arg5);
-  else
-    return RegSetValueA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4, arg5);
-}
-
-LONG
-qxeRegUnLoadKey (HKEY arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return RegUnLoadKeyW (arg1, (LPCWSTR) arg2);
-  else
-    return RegUnLoadKeyA (arg1, (LPCSTR) arg2);
-}
-
-
-/*----------------------------------------------------------------------*/
-/*                       Processing file WINNLS.H                       */
-/*----------------------------------------------------------------------*/
-
-/* Error if CompareString used: not used, not examined yet */
-
-/* Error if EnumCalendarInfo used: not used, not examined yet */
-
-/* Error if EnumDateFormats used: not used, not examined yet */
-
-/* Error if EnumSystemCodePages used: not used, not examined yet */
-
-/* Error if EnumSystemLocales used: not used, not examined yet */
-
-/* Error if EnumTimeFormats used: not used, not examined yet */
-
-/* Error if FoldString used: not used, not examined yet */
-
-/* Error if GetCalendarInfo used: Function needs review to determine how to handle it */
-
-/* Error if GetCPInfoEx used: not used, not examined yet */
-
-/* Error if GetCurrencyFormat used: not used, not examined yet */
-
-/* Error if GetDateFormat used: not used, not examined yet */
-
-/* Error if GetGeoInfo used: Function needs review to determine how to handle it */
-
-int
-qxeGetLocaleInfo (LCID arg1, LCTYPE arg2, Extbyte * arg3, int arg4)
-{
-  if (XEUNICODE_P)
-    return GetLocaleInfoW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return GetLocaleInfoA (arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-/* Error if GetNumberFormat used: not used, not examined yet */
-
-/* Error if GetStringType used: no such fun; A and W versions have different nos. of args */
-
-/* Error if GetStringTypeEx used: not used, not examined yet */
-
-/* Error if GetTimeFormat used: not used, not examined yet */
-
-/* Error if LCMapString used: not used, not examined yet */
-
-/* Error if SetCalendarInfo used: Function needs review to determine how to handle it */
-
-BOOL
-qxeSetLocaleInfo (LCID arg1, LCTYPE arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return SetLocaleInfoW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return SetLocaleInfoA (arg1, arg2, (LPCSTR) arg3);
-}
-
-/* Error if EnumCalendarInfoEx used: not used, not examined yet */
-
-/* Error if EnumDateFormatsEx used: not used, not examined yet */
-
-/* Error if EnumSystemLanguageGroups used: Function needs review to determine how to handle it */
-
-/* Error if EnumLanguageGroupLocales used: Function needs review to determine how to handle it */
-
-/* Error if EnumUILanguages used: Function needs review to determine how to handle it */
+HSZ
+qxeDdeCreateStringHandle (DWORD idInst, const Extbyte * psz, int iCodePage)
+{
+  if (XEUNICODE_P)
+    return DdeCreateStringHandleW (idInst, (LPCWSTR) psz, iCodePage);
+  else
+    return DdeCreateStringHandleA (idInst, (LPCSTR) psz, iCodePage);
+}
+
+DWORD
+qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage)
+{
+  if (XEUNICODE_P)
+    return DdeQueryStringW (idInst, hsz, (LPWSTR) psz, cchMax, iCodePage);
+  else
+    return DdeQueryStringA (idInst, hsz, (LPSTR) psz, cchMax, iCodePage);
+}
 
 
 /*----------------------------------------------------------------------*/
@@ -2114,25 +2774,6 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if AddFontResourceEx used: NT 5.0+ only */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-HENHMETAFILE
-qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return CopyEnhMetaFileW (arg1, (LPCWSTR) arg2);
-  else
-    return CopyEnhMetaFileA (arg1, (LPCSTR) arg2);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
 HMETAFILE
 qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2)
 {
@@ -2146,45 +2787,26 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
 /* Skipping CreateDC because split-sized DEVMODE */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-HDC
-qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, LPCRECT arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return CreateEnhMetaFileW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
-  else
-    return CreateEnhMetaFileA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
-}
+/* Skipping CreateFontIndirect because split-sized LOGFONT */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
 HFONT
-qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14)
-{
-  if (XEUNICODE_P)
-    return CreateFontW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCWSTR) arg14);
-  else
-    return CreateFontA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCSTR) arg14);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping CreateFontIndirect because split-sized LOGFONT */
+qxeCreateFont (int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, const Extbyte * pszFaceName)
+{
+  if (XEUNICODE_P)
+    return CreateFontW (cHeight, cWidth, cEscapement, cOrientation, cWeight, bItalic, bUnderline, bStrikeOut, iCharSet, iOutPrecision, iClipPrecision, iQuality, iPitchAndFamily, (LPCWSTR) pszFaceName);
+  else
+    return CreateFontA (cHeight, cWidth, cEscapement, cOrientation, cWeight, bItalic, bUnderline, bStrikeOut, iCharSet, iOutPrecision, iClipPrecision, iQuality, iPitchAndFamily, (LPCSTR) pszFaceName);
+}
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -2197,25 +2819,25 @@
 #if defined (HAVE_MS_WINDOWS)
 
 HDC
-qxeCreateMetaFile (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return CreateMetaFileW ((LPCWSTR) arg1);
-  else
-    return CreateMetaFileA ((LPCSTR) arg1);
+qxeCreateMetaFile (const Extbyte * pszFile)
+{
+  if (XEUNICODE_P)
+    return CreateMetaFileW ((LPCWSTR) pszFile);
+  else
+    return CreateMetaFileA ((LPCSTR) pszFile);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return CreateScalableFontResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
-  else
-    return CreateScalableFontResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4);
+WINBOOL
+qxeCreateScalableFontResource (DWORD fdwHidden, const Extbyte * lpszFont, const Extbyte * lpszFile, const Extbyte * lpszPath)
+{
+  if (XEUNICODE_P)
+    return CreateScalableFontResourceW (fdwHidden, (LPCWSTR) lpszFont, (LPCWSTR) lpszFile, (LPCWSTR) lpszPath);
+  else
+    return CreateScalableFontResourceA (fdwHidden, (LPCSTR) lpszFont, (LPCSTR) lpszFile, (LPCSTR) lpszPath);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2228,13 +2850,13 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if EnumFontFamilies used: split-complex FONTENUMPROC */
+/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
+/* Error if EnumFontFamilies used: split-complex FONTENUMPROC */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -2246,53 +2868,136 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* NOTE: NT 4.0+ only */
-int
-qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3)
-{
-  if (XEUNICODE_P)
-    return EnumICMProfilesW (arg1, arg2, arg3);
-  else
-    return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3);
+WINBOOL
+qxeGetCharWidth (HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetCharWidthW (hdc, iFirst, iLast, lpBuffer);
+  else
+    return GetCharWidthA (hdc, iFirst, iLast, lpBuffer);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetCharWidth32 (HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetCharWidth32W (hdc, iFirst, iLast, lpBuffer);
+  else
+    return GetCharWidth32A (hdc, iFirst, iLast, lpBuffer);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetCharWidthFloat (HDC hdc, UINT iFirst, UINT iLast, PFLOAT lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetCharWidthFloatW (hdc, iFirst, iLast, lpBuffer);
+  else
+    return GetCharWidthFloatA (hdc, iFirst, iLast, lpBuffer);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetCharABCWidths (HDC hdc, UINT wFirst, UINT wLast, LPABC lpABC)
+{
+  if (XEUNICODE_P)
+    return GetCharABCWidthsW (hdc, wFirst, wLast, lpABC);
+  else
+    return GetCharABCWidthsA (hdc, wFirst, wLast, lpABC);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetCharABCWidthsFloat (HDC hdc, UINT iFirst, UINT iLast, LPABCFLOAT lpABC)
+{
+  if (XEUNICODE_P)
+    return GetCharABCWidthsFloatW (hdc, iFirst, iLast, lpABC);
+  else
+    return GetCharABCWidthsFloatA (hdc, iFirst, iLast, lpABC);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, LPCRECT arg5, const Extbyte * arg6, UINT arg7, const INT* arg8)
-{
-  if (XEUNICODE_P)
-    return ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8);
-  else
-    return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8);
+DWORD
+qxeGetGlyphOutline (HDC hdc, UINT uChar, UINT fuFormat, LPGLYPHMETRICS lpgm, DWORD cjBuffer, LPVOID pvBuffer, CONST MAT2 * lpmat2)
+{
+  if (XEUNICODE_P)
+    return GetGlyphOutlineW (hdc, uChar, fuFormat, lpgm, cjBuffer, pvBuffer, lpmat2);
+  else
+    return GetGlyphOutlineA (hdc, uChar, fuFormat, lpgm, cjBuffer, pvBuffer, lpmat2);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+HMETAFILE
+qxeGetMetaFile (const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return GetMetaFileW ((LPCWSTR) lpName);
+  else
+    return GetMetaFileA ((LPCSTR) lpName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4)
-{
-  if (XEUNICODE_P)
-    return GetCharABCWidthsW (arg1, arg2, arg3, arg4);
-  else
-    return GetCharABCWidthsA (arg1, arg2, arg3, arg4);
+/* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetTextExtentPoint (HDC hdc, const Extbyte * lpString, int c, LPSIZE lpsz)
+{
+  if (XEUNICODE_P)
+    return GetTextExtentPointW (hdc, (LPCWSTR) lpString, c, lpsz);
+  else
+    return GetTextExtentPointA (hdc, (LPCSTR) lpString, c, lpsz);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4)
-{
-  if (XEUNICODE_P)
-    return GetCharABCWidthsFloatW (arg1, arg2, arg3, arg4);
-  else
-    return GetCharABCWidthsFloatA (arg1, arg2, arg3, arg4);
+WINBOOL
+qxeGetTextExtentPoint32 (HDC hdc, const Extbyte * lpString, int c, LPSIZE psizl)
+{
+  if (XEUNICODE_P)
+    return GetTextExtentPoint32W (hdc, (LPCWSTR) lpString, c, psizl);
+  else
+    return GetTextExtentPoint32A (hdc, (LPCSTR) lpString, c, psizl);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeGetTextExtentExPoint (HDC hdc, const Extbyte * lpszString, int cchString, int nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize)
+{
+  if (XEUNICODE_P)
+    return GetTextExtentExPointW (hdc, (LPCWSTR) lpszString, cchString, nMaxExtent, lpnFit, lpnDx, lpSize);
+  else
+    return GetTextExtentExPointA (hdc, (LPCSTR) lpszString, cchString, nMaxExtent, lpnFit, lpnDx, lpSize);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2301,51 +3006,81 @@
 
 /* NOTE: NT 4.0+ only */
 DWORD
-qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6)
-{
-  if (XEUNICODE_P)
-    return GetCharacterPlacementW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return GetCharacterPlacementA (arg1, (LPCSTR) arg2, arg3, arg4, (LPGCP_RESULTSA) arg5, arg6);
+qxeGetCharacterPlacement (HDC hdc, const Extbyte * lpString, int nCount, int nMexExtent, LPGCP_RESULTSW lpResults, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return GetCharacterPlacementW (hdc, (LPCWSTR) lpString, nCount, nMexExtent, lpResults, dwFlags);
+  else
+    return GetCharacterPlacementA (hdc, (LPCSTR) lpString, nCount, nMexExtent, (LPGCP_RESULTSA) lpResults, dwFlags);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
-{
-  if (XEUNICODE_P)
-    return GetCharWidth32W (arg1, arg2, arg3, arg4);
-  else
-    return GetCharWidth32A (arg1, arg2, arg3, arg4);
+/* Error if GetGlyphIndices used: NT 5.0+ only */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if AddFontResourceEx used: NT 5.0+ only */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if RemoveFontResourceEx used: NT 5.0+ only */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Error if CreateFontIndirectEx used: split-sized ENUMLOGFONTEXDV; NT 5.0+ only */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping ResetDC because split-sized DEVMODE */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeRemoveFontResource (const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return RemoveFontResourceW ((LPCWSTR) lpFileName);
+  else
+    return RemoveFontResourceA ((LPCSTR) lpFileName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
-{
-  if (XEUNICODE_P)
-    return GetCharWidthW (arg1, arg2, arg3, arg4);
-  else
-    return GetCharWidthA (arg1, arg2, arg3, arg4);
+HENHMETAFILE
+qxeCopyEnhMetaFile (HENHMETAFILE hEnh, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return CopyEnhMetaFileW (hEnh, (LPCWSTR) lpFileName);
+  else
+    return CopyEnhMetaFileA (hEnh, (LPCSTR) lpFileName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4)
-{
-  if (XEUNICODE_P)
-    return GetCharWidthFloatW (arg1, arg2, arg3, arg4);
-  else
-    return GetCharWidthFloatA (arg1, arg2, arg3, arg4);
+HDC
+qxeCreateEnhMetaFile (HDC hdc, const Extbyte * lpFilename, CONST RECT * lprc, const Extbyte * lpDesc)
+{
+  if (XEUNICODE_P)
+    return CreateEnhMetaFileW (hdc, (LPCWSTR) lpFilename, lprc, (LPCWSTR) lpDesc);
+  else
+    return CreateEnhMetaFileA (hdc, (LPCSTR) lpFilename, lprc, (LPCSTR) lpDesc);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2353,12 +3088,12 @@
 #if defined (HAVE_MS_WINDOWS)
 
 HENHMETAFILE
-qxeGetEnhMetaFile (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetEnhMetaFileW ((LPCWSTR) arg1);
-  else
-    return GetEnhMetaFileA ((LPCSTR) arg1);
+qxeGetEnhMetaFile (const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return GetEnhMetaFileW ((LPCWSTR) lpName);
+  else
+    return GetEnhMetaFileA ((LPCSTR) lpName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2366,12 +3101,89 @@
 #if defined (HAVE_MS_WINDOWS)
 
 UINT
-qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return GetEnhMetaFileDescriptionW (arg1, arg2, (LPWSTR) arg3);
-  else
-    return GetEnhMetaFileDescriptionA (arg1, arg2, (LPSTR) arg3);
+qxeGetEnhMetaFileDescription (HENHMETAFILE hemf, UINT cchBuffer, Extbyte * lpDescription)
+{
+  if (XEUNICODE_P)
+    return GetEnhMetaFileDescriptionW (hemf, cchBuffer, (LPWSTR) lpDescription);
+  else
+    return GetEnhMetaFileDescriptionA (hemf, cchBuffer, (LPSTR) lpDescription);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+int
+qxeStartDoc (HDC hdc, CONST DOCINFOW * lpdi)
+{
+  if (XEUNICODE_P)
+    return StartDocW (hdc, lpdi);
+  else
+    return StartDocA (hdc, (CONST DOCINFOA *) lpdi);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping GetObject because split-sized LOGFONT */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeTextOut (HDC hdc, int x, int y, const Extbyte * lpString, int c)
+{
+  if (XEUNICODE_P)
+    return TextOutW (hdc, x, y, (LPCWSTR) lpString, c);
+  else
+    return TextOutA (hdc, x, y, (LPCSTR) lpString, c);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxeExtTextOut (HDC hdc, int x, int y, UINT options, CONST RECT * lprect, const Extbyte * lpString, UINT c, CONST INT * lpDx)
+{
+  if (XEUNICODE_P)
+    return ExtTextOutW (hdc, x, y, options, lprect, (LPCWSTR) lpString, c, lpDx);
+  else
+    return ExtTextOutA (hdc, x, y, options, lprect, (LPCSTR) lpString, c, lpDx);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+WINBOOL
+qxePolyTextOut (HDC hdc, CONST POLYTEXTW * ppt, int nstrings)
+{
+  if (XEUNICODE_P)
+    return PolyTextOutW (hdc, ppt, nstrings);
+  else
+    return PolyTextOutA (hdc, (CONST POLYTEXTA *) ppt, nstrings);
+}
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+int
+qxeGetTextFace (HDC hdc, int c, Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return GetTextFaceW (hdc, c, (LPWSTR) lpName);
+  else
+    return GetTextFaceA (hdc, c, (LPSTR) lpName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2379,39 +3191,12 @@
 #if defined (HAVE_MS_WINDOWS)
 
 DWORD
-qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, PVOID arg6, const MAT2* arg7)
-{
-  if (XEUNICODE_P)
-    return GetGlyphOutlineW (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return GetGlyphOutlineA (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* NOTE: NT 4.0+ only, former error in Cygwin prototype but no more (Cygwin 1.7, 1-30-10) */
-BOOL
-qxeGetICMProfile (HDC arg1, LPDWORD arg2, Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return GetICMProfileW (arg1, arg2, (LPWSTR) arg3);
-  else
-    return GetICMProfileA (arg1, arg2, (LPSTR) arg3);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD
-qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3)
-{
-  if (XEUNICODE_P)
-    return GetKerningPairsW (arg1, arg2, arg3);
-  else
-    return GetKerningPairsA (arg1, arg2, arg3);
+qxeGetKerningPairs (HDC hdc, DWORD nPairs, LPKERNINGPAIR lpKernPair)
+{
+  if (XEUNICODE_P)
+    return GetKerningPairsW (hdc, nPairs, lpKernPair);
+  else
+    return GetKerningPairsA (hdc, nPairs, lpKernPair);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2424,161 +3209,48 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-HMETAFILE
-qxeGetMetaFile (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetMetaFileW ((LPCWSTR) arg1);
-  else
-    return GetMetaFileA ((LPCSTR) arg1);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping GetObject because split-sized LOGFONT */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7)
-{
-  if (XEUNICODE_P)
-    return GetTextExtentExPointW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return GetTextExtentExPointA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4)
-{
-  if (XEUNICODE_P)
-    return GetTextExtentPointW (arg1, (LPCWSTR) arg2, arg3, arg4);
-  else
-    return GetTextExtentPointA (arg1, (LPCSTR) arg2, arg3, arg4);
-}
+/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4)
-{
-  if (XEUNICODE_P)
-    return GetTextExtentPoint32W (arg1, (LPCWSTR) arg2, arg3, arg4);
-  else
-    return GetTextExtentPoint32A (arg1, (LPCSTR) arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-int
-qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return GetTextFaceW (arg1, arg2, (LPWSTR) arg3);
-  else
-    return GetTextFaceA (arg1, arg2, (LPSTR) arg3);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxePolyTextOut (HDC arg1, const POLYTEXTW* arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return PolyTextOutW (arg1, arg2, arg3);
-  else
-    return PolyTextOutA (arg1, (const POLYTEXTA*) arg2, arg3);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeRemoveFontResource (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return RemoveFontResourceW ((LPCWSTR) arg1);
-  else
-    return RemoveFontResourceA ((LPCSTR) arg1);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if RemoveFontResourceEx used: NT 5.0+ only */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping ResetDC because split-sized DEVMODE */
+/* NOTE: NT 4.0+ only, former error in Cygwin prototype but no more (Cygwin 1.7, 1-30-10) */
+WINBOOL
+qxeGetICMProfile (HDC hdc, LPDWORD pBufSize, Extbyte * pszFilename)
+{
+  if (XEUNICODE_P)
+    return GetICMProfileW (hdc, pBufSize, (LPWSTR) pszFilename);
+  else
+    return GetICMProfileA (hdc, pBufSize, (LPSTR) pszFilename);
+}
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
 /* NOTE: NT 4.0+ only */
-BOOL
-qxeSetICMProfile (HDC arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return SetICMProfileW (arg1, (LPWSTR) arg2);
-  else
-    return SetICMProfileA (arg1, (LPSTR) arg2);
+WINBOOL
+qxeSetICMProfile (HDC hdc, Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return SetICMProfileW (hdc, (LPWSTR) lpFileName);
+  else
+    return SetICMProfileA (hdc, (LPSTR) lpFileName);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
+/* NOTE: NT 4.0+ only */
 int
-qxeStartDoc (HDC arg1, const DOCINFOW* arg2)
-{
-  if (XEUNICODE_P)
-    return StartDocW (arg1, arg2);
-  else
-    return StartDocA (arg1, (const DOCINFOA*) arg2);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5)
-{
-  if (XEUNICODE_P)
-    return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5);
-  else
-    return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5);
+qxeEnumICMProfiles (HDC hdc, ICMENUMPROCW lpProc, LPARAM lParam)
+{
+  if (XEUNICODE_P)
+    return EnumICMProfilesW (hdc, lpProc, lParam);
+  else
+    return EnumICMProfilesA (hdc, (ICMENUMPROCA) lpProc, lParam);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2601,39 +3273,342 @@
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if GetGlyphIndices used: NT 5.0+ only */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file WINNLS.H                       */
+/*----------------------------------------------------------------------*/
+
+/* Error if LCMapString used: not used, not examined yet */
+
+int
+qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData)
+{
+  if (XEUNICODE_P)
+    return GetLocaleInfoW (Locale, LCType, (LPWSTR) lpLCData, cchData);
+  else
+    return GetLocaleInfoA (Locale, LCType, (LPSTR) lpLCData, cchData);
+}
+
+/* Error if GetNumberFormat used: not used, not examined yet */
+
+/* Error if GetCurrencyFormat used: not used, not examined yet */
+
+/* Error if EnumCalendarInfo used: not used, not examined yet */
+
+/* Error if EnumCalendarInfoEx used: not used, not examined yet */
+
+/* Error if EnumTimeFormats used: not used, not examined yet */
+
+/* Error if EnumDateFormats used: not used, not examined yet */
+
+/* Error if EnumDateFormatsEx used: not used, not examined yet */
+
+WINBOOL
+qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData)
+{
+  if (XEUNICODE_P)
+    return SetLocaleInfoW (Locale, LCType, (LPCWSTR) lpLCData);
+  else
+    return SetLocaleInfoA (Locale, LCType, (LPCSTR) lpLCData);
+}
+
+/* Error if GetCalendarInfo used: Function needs review to determine how to handle it */
+
+/* Error if SetCalendarInfo used: Function needs review to determine how to handle it */
+
+/* Error if GetGeoInfo used: Function needs review to determine how to handle it */
+
+/* Error if GetCPInfoEx used: not used, not examined yet */
+
+/* Error if EnumSystemLocales used: not used, not examined yet */
+
+/* Error if EnumSystemLanguageGroups used: Function needs review to determine how to handle it */
+
+/* Error if EnumLanguageGroupLocales used: Function needs review to determine how to handle it */
+
+/* Error if EnumUILanguages used: Function needs review to determine how to handle it */
+
+/* Error if EnumSystemCodePages used: not used, not examined yet */
 
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file SHLOBJ.H                       */
+/*                       Processing file WINREG.H                       */
 /*----------------------------------------------------------------------*/
 
-/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
-
-/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
-
+/* NOTE: former error in Cygwin prototype, but no more (Cygwin 1.7, 1-30-10) */
+LONG
+qxeRegConnectRegistry (const Extbyte * lpMachineName, HKEY hKey, PHKEY phkResult)
+{
+  if (XEUNICODE_P)
+    return RegConnectRegistryW ((LPCWSTR) lpMachineName, hKey, phkResult);
+  else
+    return RegConnectRegistryA ((LPCSTR) lpMachineName, hKey, phkResult);
+}
+
+/* Error if RegConnectRegistryEx used: HST: new? -- needs review */
+
+LONG
+qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
+{
+  if (XEUNICODE_P)
+    return RegCreateKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
+  else
+    return RegCreateKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
+}
+
+LONG
+qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
+{
+  if (XEUNICODE_P)
+    return RegCreateKeyExW (hKey, (LPCWSTR) lpSubKey, Reserved, (LPWSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
+  else
+    return RegCreateKeyExA (hKey, (LPCSTR) lpSubKey, Reserved, (LPSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
+}
+
+LONG
+qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey)
+{
+  if (XEUNICODE_P)
+    return RegDeleteKeyW (hKey, (LPCWSTR) lpSubKey);
+  else
+    return RegDeleteKeyA (hKey, (LPCSTR) lpSubKey);
+}
+
+/* Error if RegDeleteKeyEx used: Function needs review to determine how to handle it */
+
+LONG
+qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName)
+{
+  if (XEUNICODE_P)
+    return RegDeleteValueW (hKey, (LPCWSTR) lpValueName);
+  else
+    return RegDeleteValueA (hKey, (LPCSTR) lpValueName);
+}
+
+LONG
+qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cchName)
+{
+  if (XEUNICODE_P)
+    return RegEnumKeyW (hKey, dwIndex, (LPWSTR) lpName, cchName);
+  else
+    return RegEnumKeyA (hKey, dwIndex, (LPSTR) lpName, cchName);
+}
+
+LONG
+qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcchName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcchClass, PFILETIME lpftLastWriteTime)
+{
+  if (XEUNICODE_P)
+    return RegEnumKeyExW (hKey, dwIndex, (LPWSTR) lpName, lpcchName, lpReserved, (LPWSTR) lpClass, lpcchClass, lpftLastWriteTime);
+  else
+    return RegEnumKeyExA (hKey, dwIndex, (LPSTR) lpName, lpcchName, lpReserved, (LPSTR) lpClass, lpcchClass, lpftLastWriteTime);
+}
+
+LONG
+qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
+{
+  if (XEUNICODE_P)
+    return RegEnumValueW (hKey, dwIndex, (LPWSTR) lpValueName, lpcchValueName, lpReserved, lpType, lpData, lpcbData);
+  else
+    return RegEnumValueA (hKey, dwIndex, (LPSTR) lpValueName, lpcchValueName, lpReserved, lpType, lpData, lpcbData);
+}
+
+LONG
+qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile)
+{
+  if (XEUNICODE_P)
+    return RegLoadKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpFile);
+  else
+    return RegLoadKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpFile);
+}
+
+LONG
+qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
+{
+  if (XEUNICODE_P)
+    return RegOpenKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
+  else
+    return RegOpenKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
+}
+
+LONG
+qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
+{
+  if (XEUNICODE_P)
+    return RegOpenKeyExW (hKey, (LPCWSTR) lpSubKey, ulOptions, samDesired, phkResult);
+  else
+    return RegOpenKeyExA (hKey, (LPCSTR) lpSubKey, ulOptions, samDesired, phkResult);
+}
+
+LONG
+qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcchClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
+{
+  if (XEUNICODE_P)
+    return RegQueryInfoKeyW (hKey, (LPWSTR) lpClass, lpcchClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
+  else
+    return RegQueryInfoKeyA (hKey, (LPSTR) lpClass, lpcchClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
+}
+
+LONG
+qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpData, PLONG lpcbData)
+{
+  if (XEUNICODE_P)
+    return RegQueryValueW (hKey, (LPCWSTR) lpSubKey, (LPWSTR) lpData, lpcbData);
+  else
+    return RegQueryValueA (hKey, (LPCSTR) lpSubKey, (LPSTR) lpData, lpcbData);
+}
+
+LONG
+qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize)
+{
+  if (XEUNICODE_P)
+    return RegQueryMultipleValuesW (hKey, val_list, num_vals, (LPWSTR) lpValueBuf, ldwTotsize);
+  else
+    return RegQueryMultipleValuesA (hKey, (PVALENTA) val_list, num_vals, (LPSTR) lpValueBuf, ldwTotsize);
+}
+
+LONG
+qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
+{
+  if (XEUNICODE_P)
+    return RegQueryValueExW (hKey, (LPCWSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
+  else
+    return RegQueryValueExA (hKey, (LPCSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
+}
+
+LONG
+qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile)
+{
+  if (XEUNICODE_P)
+    return RegReplaceKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpNewFile, (LPCWSTR) lpOldFile);
+  else
+    return RegReplaceKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpNewFile, (LPCSTR) lpOldFile);
+}
+
+LONG
+qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return RegRestoreKeyW (hKey, (LPCWSTR) lpFile, dwFlags);
+  else
+    return RegRestoreKeyA (hKey, (LPCSTR) lpFile, dwFlags);
+}
+
+LONG
+qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+{
+  if (XEUNICODE_P)
+    return RegSaveKeyW (hKey, (LPCWSTR) lpFile, lpSecurityAttributes);
+  else
+    return RegSaveKeyA (hKey, (LPCSTR) lpFile, lpSecurityAttributes);
+}
+
+LONG
+qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData)
+{
+  if (XEUNICODE_P)
+    return RegSetValueW (hKey, (LPCWSTR) lpSubKey, dwType, (LPCWSTR) lpData, cbData);
+  else
+    return RegSetValueA (hKey, (LPCSTR) lpSubKey, dwType, (LPCSTR) lpData, cbData);
+}
+
+LONG
+qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE * lpData, DWORD cbData)
+{
+  if (XEUNICODE_P)
+    return RegSetValueExW (hKey, (LPCWSTR) lpValueName, Reserved, dwType, lpData, cbData);
+  else
+    return RegSetValueExA (hKey, (LPCSTR) lpValueName, Reserved, dwType, lpData, cbData);
+}
+
+LONG
+qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey)
+{
+  if (XEUNICODE_P)
+    return RegUnLoadKeyW (hKey, (LPCWSTR) lpSubKey);
+  else
+    return RegUnLoadKeyA (hKey, (LPCSTR) lpSubKey);
+}
+
+/* Error if RegGetValue used: HST: new? -- needs review */
+
+WINBOOL
+qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, WINBOOL bForceAppsClosed, WINBOOL bRebootAfterShutdown)
+{
+  if (XEUNICODE_P)
+    return InitiateSystemShutdownW ((LPWSTR) lpMachineName, (LPWSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
+  else
+    return InitiateSystemShutdownA ((LPSTR) lpMachineName, (LPSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
+}
+
+/* NOTE: error arg 1, Cygwin prototype, extra const.
+   NOTE: Prototype manually overridden.
+         Header file claims:
+           WINADVAPI WINBOOL WINAPI AbortSystemShutdown(LPWSTR lpMachineName)
+         Overridden with:
+           BOOL AbortSystemShutdown(LPWSTR)
+         Differences in return-type qualifiers, e.g. WINAPI, are not important.
+ */
 BOOL
-qxeSHGetPathFromIDList (LPCITEMIDLIST arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return SHGetPathFromIDListW (arg1, (LPWSTR) arg2);
-  else
-    return SHGetPathFromIDListA (arg1, (LPSTR) arg2);
-}
-
-/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
-
-/* Error if SHGetFolderPath used: Function needs review to determine how to handle it */
-
-/* Error if SHGetIconOverlayIndex used: Function needs review to determine how to handle it */
-
-/* Error if SHCreateDirectoryEx used: Function needs review to determine how to handle it */
-
-/* Error if SHGetFolderPathAndSubDir used: Function needs review to determine how to handle it */
+qxeAbortSystemShutdown (Extbyte * arg1)
+{
+  if (XEUNICODE_P)
+    return AbortSystemShutdownW ((LPWSTR) arg1);
+  else
+    return AbortSystemShutdownA ((LPSTR) arg1);
+}
+
+/* Error if InitiateSystemShutdownEx used: HST: new? -- needs review */
+
+/* Error if RegSaveKeyEx used: HST: new? -- needs review */
+
+/* Error if RegCopyTree used: HST: new? -- needs review */
+
+/* Error if RegCreateKeyTransacted used: HST: new? -- needs review */
+
+/* Error if RegDeleteKeyTransacted used: HST: new? -- needs review */
+
+/* Error if RegDeleteKeyValue used: HST: new? -- needs review */
+
+/* Error if RegDeleteTree used: HST: new? -- needs review */
+
+/* Error if RegLoadAppKey used: HST: new? -- needs review */
+
+/* Error if RegLoadMUIString used: HST: new? -- needs review */
+
+/* Error if RegOpenKeyTransacted used: HST: new? -- needs review */
+
+/* Error if RegSetKeyValue used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                     Processing file SYSINFOAPI.H                     */
+/*----------------------------------------------------------------------*/
+
+UINT
+qxeGetSystemDirectory (Extbyte * lpBuffer, UINT uSize)
+{
+  if (XEUNICODE_P)
+    return GetSystemDirectoryW ((LPWSTR) lpBuffer, uSize);
+  else
+    return GetSystemDirectoryA ((LPSTR) lpBuffer, uSize);
+}
+
+UINT
+qxeGetWindowsDirectory (Extbyte * lpBuffer, UINT uSize)
+{
+  if (XEUNICODE_P)
+    return GetWindowsDirectoryW ((LPWSTR) lpBuffer, uSize);
+  else
+    return GetWindowsDirectoryA ((LPSTR) lpBuffer, uSize);
+}
+
+/* Error if GetSystemWindowsDirectory used: HST: new? -- needs review */
+
+/* Error if GetComputerNameEx used: HST: new? -- needs review */
+
+/* Error if SetComputerNameEx used: HST: new? -- needs review */
+
+/* Error if GetVersionEx used: HST: new? -- needs review */
 
 
 /*----------------------------------------------------------------------*/
@@ -2642,32 +3617,26 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeChooseColor (LPCHOOSECOLORW arg1)
-{
-  if (XEUNICODE_P)
-    return ChooseColorW (arg1);
-  else
-    return ChooseColorA ((LPCHOOSECOLORA) arg1);
+WINBOOL
+qxeGetOpenFileName (LPOPENFILENAMEW arg1)
+{
+  if (XEUNICODE_P)
+    return GetOpenFileNameW (arg1);
+  else
+    return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-HWND
-qxeFindText (LPFINDREPLACEW arg1)
-{
-  if (XEUNICODE_P)
-    return FindTextW (arg1);
-  else
-    return FindTextA ((LPFINDREPLACEA) arg1);
+WINBOOL
+qxeGetSaveFileName (LPOPENFILENAMEW arg1)
+{
+  if (XEUNICODE_P)
+    return GetSaveFileNameW (arg1);
+  else
+    return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -2687,39 +3656,27 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetOpenFileName (LPOPENFILENAMEW arg1)
-{
-  if (XEUNICODE_P)
-    return GetOpenFileNameW (arg1);
-  else
-    return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
+WINBOOL
+qxeChooseColor (LPCHOOSECOLORW arg1)
+{
+  if (XEUNICODE_P)
+    return ChooseColorW (arg1);
+  else
+    return ChooseColorA ((LPCHOOSECOLORA) arg1);
 }
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeGetSaveFileName (LPOPENFILENAMEW arg1)
-{
-  if (XEUNICODE_P)
-    return GetSaveFileNameW (arg1);
-  else
-    return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
+HWND
+qxeFindText (LPFINDREPLACEW arg1)
+{
+  if (XEUNICODE_P)
+    return FindTextW (arg1);
+  else
+    return FindTextA ((LPFINDREPLACEA) arg1);
+}
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
@@ -2738,473 +3695,128 @@
 
 #if defined (HAVE_MS_WINDOWS)
 
+/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+
 /* Error if PrintDlgEx used: Function needs review to determine how to handle it */
 
 #endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
+
+/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
+
+#endif /* defined (HAVE_MS_WINDOWS) */
+
 
 /*----------------------------------------------------------------------*/
-/*                        Processing file IMM.H                         */
+/*                       Processing file SHLOBJ.H                       */
 /*----------------------------------------------------------------------*/
 
-#if defined (HAVE_MS_WINDOWS)
-
-HKL
-qxeImmInstallIME (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return ImmInstallIMEW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return ImmInstallIMEA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-UINT
-qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return ImmGetDescriptionW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return ImmGetDescriptionA (arg1, (LPSTR) arg2, arg3);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-UINT
-qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-LONG
-qxeImmGetCompositionString (HIMC arg1, DWORD arg2, PVOID arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
-  else
-    return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping ImmSetCompositionString because different prototypes in VC6 and VC7 */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD
-qxeImmGetCandidateListCount (HIMC arg1, PDWORD arg2)
-{
-  if (XEUNICODE_P)
-    return ImmGetCandidateListCountW (arg1, arg2);
-  else
-    return ImmGetCandidateListCountA (arg1, arg2);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD
-qxeImmGetCandidateList (HIMC arg1, DWORD arg2, PCANDIDATELIST arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return ImmGetCandidateListW (arg1, arg2, arg3, arg4);
-  else
-    return ImmGetCandidateListA (arg1, arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD
-qxeImmGetGuideLine (HIMC arg1, DWORD arg2, Extbyte * arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return ImmGetGuideLineW (arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return ImmGetGuideLineA (arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping ImmGetCompositionFont because split-sized LOGFONT */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Skipping ImmSetCompositionFont because split-sized LOGFONT */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* NOTE: // split-simple REGISTERWORD */
-BOOL
-qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, PVOID arg4)
-{
-  if (XEUNICODE_P)
-    return ImmConfigureIMEW (arg1, arg2, arg3, arg4);
-  else
-    return ImmConfigureIMEA (arg1, arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* NOTE: // strings of various sorts */
-LRESULT
-qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, PVOID arg4)
-{
-  if (XEUNICODE_P)
-    return ImmEscapeW (arg1, arg2, arg3, arg4);
-  else
-    return ImmEscapeA (arg1, arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD
-qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, PCANDIDATELIST arg4, DWORD arg5, UINT arg6)
-{
-  if (XEUNICODE_P)
-    return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, arg5, arg6);
-  else
-    return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, arg5, arg6);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
-{
-  if (XEUNICODE_P)
-    return ImmIsUIMessageW (arg1, arg2, arg3, arg4);
-  else
-    return ImmIsUIMessageA (arg1, arg2, arg3, arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeImmRegisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return ImmRegisterWordW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
-  else
-    return ImmRegisterWordA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeImmUnregisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return ImmUnregisterWordW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
-  else
-    return ImmUnregisterWordA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if ImmGetRegisterWordStyle used: split-sized STYLEBUF */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-UINT
-qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * arg3, DWORD arg4, const Extbyte * arg5, PVOID arg6)
-{
-  if (XEUNICODE_P)
-    return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) arg3, arg4, (LPCWSTR) arg5, arg6);
-  else
-    return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) arg3, arg4, (LPCSTR) arg5, arg6);
-}
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* Error if ImmGetImeMenuItems used: split-sized IMEMENUITEMINFO */
-
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Error if SHGetIconOverlayIndex used: Function needs review to determine how to handle it */
+
+/* Error if ILCreateFromPath used: HST: new? -- needs review */
+
+WINBOOL
+qxeSHGetPathFromIDList (PCIDLIST_ABSOLUTE pidl, Extbyte * pszPath)
+{
+  if (XEUNICODE_P)
+    return SHGetPathFromIDListW (pidl, (LPWSTR) pszPath);
+  else
+    return SHGetPathFromIDListA (pidl, (LPSTR) pszPath);
+}
+
+/* Error if SHCreateDirectoryEx used: Function needs review to determine how to handle it */
+
+/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
+
+/* Error if SHGetFolderPath used: Function needs review to determine how to handle it */
+
+/* Error if SHSetFolderPath used: HST: new? -- needs review */
+
+/* Error if SHGetFolderPathAndSubDir used: Function needs review to determine how to handle it */
+
+/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
+
+/* Error if SHUpdateImage used: HST: new? -- needs review */
+
+/* Error if PathIsSlow used: HST: new? -- needs review */
+
+/* Error if SHStartNetConnectionDialog used: HST: new? -- needs review */
+
+/* Error if SHDefExtractIcon used: HST: new? -- needs review */
+
+/* Error if Shell_GetCachedImageIndex used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                 Processing file PROCESSTHREADSAPI.H                  */
+/*----------------------------------------------------------------------*/
+
+VOID
+qxeGetStartupInfo (LPSTARTUPINFOW lpStartupInfo)
+{
+  if (XEUNICODE_P)
+    GetStartupInfoW (lpStartupInfo);
+  else
+    GetStartupInfoA ((LPSTARTUPINFOA) lpStartupInfo);
+}
+
+/* Error if CreateProcess used: HST: new? -- needs review */
+
+WINBOOL
+qxeCreateProcessAsUser (HANDLE hToken, const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
+{
+  if (XEUNICODE_P)
+    return CreateProcessAsUserW (hToken, (LPCWSTR) lpApplicationName, (LPWSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCWSTR) lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
+  else
+    return CreateProcessAsUserA (hToken, (LPCSTR) lpApplicationName, (LPSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCSTR) lpCurrentDirectory, (LPSTARTUPINFOA) lpStartupInfo, lpProcessInformation);
+}
 
 
 /*----------------------------------------------------------------------*/
 /*                      Processing file WINBASE.H                       */
 /*----------------------------------------------------------------------*/
 
-BOOL
-qxeAccessCheckAndAuditAlarm (const Extbyte * arg1, LPVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, DWORD arg6, PGENERIC_MAPPING arg7, BOOL arg8, PDWORD arg9, PBOOL arg10, PBOOL arg11)
-{
-  if (XEUNICODE_P)
-    return AccessCheckAndAuditAlarmW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-  else
-    return AccessCheckAndAuditAlarmA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-}
-
-ATOM
-qxeAddAtom (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return AddAtomW ((LPCWSTR) arg1);
-  else
-    return AddAtomA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeBackupEventLog (HANDLE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return BackupEventLogW (arg1, (LPCWSTR) arg2);
-  else
-    return BackupEventLogA (arg1, (LPCSTR) arg2);
+WINBOOL
+qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType)
+{
+  if (XEUNICODE_P)
+    return GetBinaryTypeW ((LPCWSTR) lpApplicationName, lpBinaryType);
+  else
+    return GetBinaryTypeA ((LPCSTR) lpApplicationName, lpBinaryType);
+}
+
+/* Error if GetLongPathNameTransacted used: HST: new? -- needs review */
+
+/* Error if SetFileShortName used: Function needs review to determine how to handle it */
+
+DWORD
+qxeFormatMessage (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, Extbyte * lpBuffer, DWORD nSize, va_list * Arguments)
+{
+  if (XEUNICODE_P)
+    return FormatMessageW (dwFlags, lpSource, dwMessageId, dwLanguageId, (LPWSTR) lpBuffer, nSize, Arguments);
+  else
+    return FormatMessageA (dwFlags, lpSource, dwMessageId, dwLanguageId, (LPSTR) lpBuffer, nSize, Arguments);
 }
 
 HANDLE
-qxeBeginUpdateResource (const Extbyte * arg1, BOOL arg2)
-{
-  if (XEUNICODE_P)
-    return BeginUpdateResourceW ((LPCWSTR) arg1, arg2);
-  else
-    return BeginUpdateResourceA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeBuildCommDCB (const Extbyte * arg1, LPDCB arg2)
-{
-  if (XEUNICODE_P)
-    return BuildCommDCBW ((LPCWSTR) arg1, arg2);
-  else
-    return BuildCommDCBA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeBuildCommDCBAndTimeouts (const Extbyte * arg1, LPDCB arg2, LPCOMMTIMEOUTS arg3)
-{
-  if (XEUNICODE_P)
-    return BuildCommDCBAndTimeoutsW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return BuildCommDCBAndTimeoutsA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeCallNamedPipe (const Extbyte * arg1, PVOID arg2, DWORD arg3, PVOID arg4, DWORD arg5, PDWORD arg6, DWORD arg7)
-{
-  if (XEUNICODE_P)
-    return CallNamedPipeW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return CallNamedPipeA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-}
-
-/* Error if CheckNameLegalDOS8Dot3 used: Function needs review to determine how to handle it */
-
-BOOL
-qxeClearEventLog (HANDLE arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return ClearEventLogW (arg1, (LPCWSTR) arg2);
-  else
-    return ClearEventLogA (arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeCommConfigDialog (const Extbyte * arg1, HWND arg2, LPCOMMCONFIG arg3)
-{
-  if (XEUNICODE_P)
-    return CommConfigDialogW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return CommConfigDialogA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeCopyFile (const Extbyte * arg1, const Extbyte * arg2, BOOL arg3)
-{
-  if (XEUNICODE_P)
-    return CopyFileW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return CopyFileA ((LPCSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeCopyFileEx (const Extbyte * arg1, const Extbyte * arg2, LPPROGRESS_ROUTINE arg3, LPVOID arg4, LPBOOL arg5, DWORD arg6)
-{
-  if (XEUNICODE_P)
-    return CopyFileExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
-  else
-    return CopyFileExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
-}
-
-/* Error if CreateActCtx used: Function needs review to determine how to handle it */
-
-BOOL
-qxeCreateDirectory (const Extbyte * arg1, LPSECURITY_ATTRIBUTES arg2)
-{
-  if (XEUNICODE_P)
-    return CreateDirectoryW ((LPCWSTR) arg1, arg2);
-  else
-    return CreateDirectoryA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeCreateDirectoryEx (const Extbyte * arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3)
-{
-  if (XEUNICODE_P)
-    return CreateDirectoryExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return CreateDirectoryExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-HANDLE
-qxeCreateEvent (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, BOOL arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return CreateEventW (arg1, arg2, arg3, (LPCWSTR) arg4);
-  else
-    return CreateEventA (arg1, arg2, arg3, (LPCSTR) arg4);
-}
-
-HANDLE
-qxeCreateFile (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4, DWORD arg5, DWORD arg6, HANDLE arg7)
-{
-  if (XEUNICODE_P)
-    return CreateFileW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return CreateFileA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-}
-
-HANDLE
-qxeCreateFileMapping (HANDLE arg1, LPSECURITY_ATTRIBUTES arg2, DWORD arg3, DWORD arg4, DWORD arg5, const Extbyte * arg6)
-{
-  if (XEUNICODE_P)
-    return CreateFileMappingW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6);
-  else
-    return CreateFileMappingA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6);
-}
-
-/* Error if CreateHardLink used: NT 5.0+ only */
-
-/* Error if CreateJobObject used: NT 5.0+ only */
-
-HANDLE
-qxeCreateMailslot (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4)
-{
-  if (XEUNICODE_P)
-    return CreateMailslotW ((LPCWSTR) arg1, arg2, arg3, arg4);
-  else
-    return CreateMailslotA ((LPCSTR) arg1, arg2, arg3, arg4);
-}
-
-HANDLE
-qxeCreateMutex (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return CreateMutexW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return CreateMutexA (arg1, arg2, (LPCSTR) arg3);
-}
-
-HANDLE
-qxeCreateNamedPipe (const Extbyte * arg1, DWORD arg2, DWORD arg3, DWORD arg4, DWORD arg5, DWORD arg6, DWORD arg7, LPSECURITY_ATTRIBUTES arg8)
-{
-  if (XEUNICODE_P)
-    return CreateNamedPipeW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-  else
-    return CreateNamedPipeA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-}
-
-BOOL
-qxeCreateProcess (const Extbyte * arg1, Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3, LPSECURITY_ATTRIBUTES arg4, BOOL arg5, DWORD arg6, PVOID arg7, const Extbyte * arg8, LPSTARTUPINFOW arg9, LPPROCESS_INFORMATION arg10)
-{
-  if (XEUNICODE_P)
-    return CreateProcessW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, (LPCWSTR) arg8, arg9, arg10);
-  else
-    return CreateProcessA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, (LPCSTR) arg8, (LPSTARTUPINFOA) arg9, arg10);
-}
-
-BOOL
-qxeCreateProcessAsUser (HANDLE arg1, const Extbyte * arg2, Extbyte * arg3, LPSECURITY_ATTRIBUTES arg4, LPSECURITY_ATTRIBUTES arg5, BOOL arg6, DWORD arg7, PVOID arg8, const Extbyte * arg9, LPSTARTUPINFOW arg10, LPPROCESS_INFORMATION arg11)
-{
-  if (XEUNICODE_P)
-    return CreateProcessAsUserW (arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4, arg5, arg6, arg7, arg8, (LPCWSTR) arg9, arg10, arg11);
-  else
-    return CreateProcessAsUserA (arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4, arg5, arg6, arg7, arg8, (LPCSTR) arg9, (LPSTARTUPINFOA) arg10, arg11);
-}
-
-/* Error if CreateProcessWithLogon used: Function needs review to determine how to handle it */
-
-HANDLE
-qxeCreateSemaphore (LPSECURITY_ATTRIBUTES arg1, LONG arg2, LONG arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return CreateSemaphoreW (arg1, arg2, arg3, (LPCWSTR) arg4);
-  else
-    return CreateSemaphoreA (arg1, arg2, arg3, (LPCSTR) arg4);
-}
-
-HANDLE
-qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return CreateWaitableTimerW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return CreateWaitableTimerA (arg1, arg2, (LPCSTR) arg3);
-}
-
-BOOL
-qxeDefineDosDevice (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return DefineDosDeviceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return DefineDosDeviceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3);
-}
-
-BOOL
-qxeDeleteFile (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return DeleteFileW ((LPCWSTR) arg1);
-  else
-    return DeleteFileA ((LPCSTR) arg1);
-}
-
-/* Error if DeleteVolumeMountPoint used: Function needs review to determine how to handle it */
-
-/* Error if DnsHostnameToComputerName used: Function needs review to determine how to handle it */
+qxeCreateMailslot (const Extbyte * lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+{
+  if (XEUNICODE_P)
+    return CreateMailslotW ((LPCWSTR) lpName, nMaxMessageSize, lReadTimeout, lpSecurityAttributes);
+  else
+    return CreateMailslotA ((LPCSTR) lpName, nMaxMessageSize, lReadTimeout, lpSecurityAttributes);
+}
 
 #if !defined (CYGWIN_HEADERS)
 
@@ -3212,943 +3824,897 @@
 
 #endif /* !defined (CYGWIN_HEADERS) */
 
-BOOL
-qxeEndUpdateResource (HANDLE arg1, BOOL arg2)
-{
-  if (XEUNICODE_P)
-    return EndUpdateResourceW (arg1, arg2);
-  else
-    return EndUpdateResourceA (arg1, arg2);
-}
-
-/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */
-
-/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
-
-/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
-
-DWORD
-qxeExpandEnvironmentStrings (const Extbyte * arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return ExpandEnvironmentStringsW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return ExpandEnvironmentStringsA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
-}
-
-void
-qxeFatalAppExit (UINT arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    FatalAppExitW (arg1, (LPCWSTR) arg2);
-  else
-    FatalAppExitA (arg1, (LPCSTR) arg2);
-}
+#if !defined (CYGWIN_HEADERS)
+
+/* Error if DecryptFile used: Win2K+ only */
+
+#endif /* !defined (CYGWIN_HEADERS) */
 
 /* Error if FileEncryptionStatus used: Function needs review to determine how to handle it */
 
-/* Error if FindActCtxSectionString used: Function needs review to determine how to handle it */
-
-ATOM
-qxeFindAtom (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return FindAtomW ((LPCWSTR) arg1);
-  else
-    return FindAtomA ((LPCSTR) arg1);
+/* Error if OpenEncryptedFileRaw used: HST: new? -- needs review */
+
+int
+qxelstrcmp (const Extbyte * lpString1, const Extbyte * lpString2)
+{
+  if (XEUNICODE_P)
+    return lstrcmpW ((LPCWSTR) lpString1, (LPCWSTR) lpString2);
+  else
+    return lstrcmpA ((LPCSTR) lpString1, (LPCSTR) lpString2);
+}
+
+int
+qxelstrcmpi (const Extbyte * lpString1, const Extbyte * lpString2)
+{
+  if (XEUNICODE_P)
+    return lstrcmpiW ((LPCWSTR) lpString1, (LPCWSTR) lpString2);
+  else
+    return lstrcmpiA ((LPCSTR) lpString1, (LPCSTR) lpString2);
+}
+
+Extbyte *
+qxelstrcpyn (Extbyte * lpString1, const Extbyte * lpString2, int iMaxLength)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) lstrcpynW ((LPWSTR) lpString1, (LPCWSTR) lpString2, iMaxLength);
+  else
+    return (Extbyte *) lstrcpynA ((LPSTR) lpString1, (LPCSTR) lpString2, iMaxLength);
+}
+
+Extbyte *
+qxelstrcpy (Extbyte * lpString1, const Extbyte * lpString2)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) lstrcpyW ((LPWSTR) lpString1, (LPCWSTR) lpString2);
+  else
+    return (Extbyte *) lstrcpyA ((LPSTR) lpString1, (LPCSTR) lpString2);
+}
+
+Extbyte *
+qxelstrcat (Extbyte * lpString1, const Extbyte * lpString2)
+{
+  if (XEUNICODE_P)
+    return (Extbyte *) lstrcatW ((LPWSTR) lpString1, (LPCWSTR) lpString2);
+  else
+    return (Extbyte *) lstrcatA ((LPSTR) lpString1, (LPCSTR) lpString2);
+}
+
+int
+qxelstrlen (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return lstrlenW ((LPCWSTR) lpString);
+  else
+    return lstrlenA ((LPCSTR) lpString);
 }
 
 HANDLE
-qxeFindFirstChangeNotification (const Extbyte * arg1, BOOL arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return FindFirstChangeNotificationW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return FindFirstChangeNotificationA ((LPCSTR) arg1, arg2, arg3);
-}
-
-/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */
-
-/* Error if FindFirstFileEx used: split-sized LPWIN32_FIND_DATA; not used, NT 4.0+ only */
-
-/* Error if FindFirstVolume used: Function needs review to determine how to handle it */
-
-/* Error if FindFirstVolumeMountPoint used: Function needs review to determine how to handle it */
-
-/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */
-
-/* Error if FindNextVolume used: Function needs review to determine how to handle it */
-
-/* Error if FindNextVolumeMountPoint used: Function needs review to determine how to handle it */
-
-HRSRC
-qxeFindResource (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return FindResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return FindResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3);
-}
-
-HRSRC
-qxeFindResourceEx (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4)
-{
-  if (XEUNICODE_P)
-    return FindResourceExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4);
-  else
-    return FindResourceExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4);
+qxeCreateSemaphore (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, const Extbyte * lpName)
+{
+  if (XEUNICODE_P)
+    return CreateSemaphoreW (lpSemaphoreAttributes, lInitialCount, lMaximumCount, (LPCWSTR) lpName);
+  else
+    return CreateSemaphoreA (lpSemaphoreAttributes, lInitialCount, lMaximumCount, (LPCSTR) lpName);
+}
+
+HANDLE
+qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, const Extbyte * lpTimerName)
+{
+  if (XEUNICODE_P)
+    return CreateWaitableTimerW (lpTimerAttributes, bManualReset, (LPCWSTR) lpTimerName);
+  else
+    return CreateWaitableTimerA (lpTimerAttributes, bManualReset, (LPCSTR) lpTimerName);
+}
+
+HMODULE
+qxeLoadLibrary (const Extbyte * lpLibFileName)
+{
+  if (XEUNICODE_P)
+    return LoadLibraryW ((LPCWSTR) lpLibFileName);
+  else
+    return LoadLibraryA ((LPCSTR) lpLibFileName);
+}
+
+/* Error if QueryFullProcessImageName used: HST: new? -- needs review */
+
+VOID
+qxeFatalAppExit (UINT uAction, const Extbyte * lpMessageText)
+{
+  if (XEUNICODE_P)
+    FatalAppExitW (uAction, (LPCWSTR) lpMessageText);
+  else
+    FatalAppExitA (uAction, (LPCSTR) lpMessageText);
 }
 
 /* Error if GetFirmwareEnvironmentVariable used: Function needs review to determine how to handle it */
 
-DWORD
-qxeFormatMessage (DWORD arg1, PCVOID arg2, DWORD arg3, DWORD arg4, Extbyte * arg5, DWORD arg6, va_list* arg7)
-{
-  if (XEUNICODE_P)
-    return FormatMessageW (arg1, arg2, arg3, arg4, (LPWSTR) arg5, arg6, arg7);
-  else
-    return FormatMessageA (arg1, arg2, arg3, arg4, (LPSTR) arg5, arg6, arg7);
-}
-
-BOOL
-qxeFreeEnvironmentStrings (Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return FreeEnvironmentStringsW ((LPWSTR) arg1);
-  else
-    return FreeEnvironmentStringsA ((LPSTR) arg1);
+/* Error if SetFirmwareEnvironmentVariable used: Function needs review to determine how to handle it */
+
+HRSRC
+qxeFindResource (HMODULE hModule, const Extbyte * lpName, const Extbyte * lpType)
+{
+  if (XEUNICODE_P)
+    return FindResourceW (hModule, (LPCWSTR) lpName, (LPCWSTR) lpType);
+  else
+    return FindResourceA (hModule, (LPCSTR) lpName, (LPCSTR) lpType);
+}
+
+/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
+
+HANDLE
+qxeBeginUpdateResource (const Extbyte * pFileName, WINBOOL bDeleteExistingResources)
+{
+  if (XEUNICODE_P)
+    return BeginUpdateResourceW ((LPCWSTR) pFileName, bDeleteExistingResources);
+  else
+    return BeginUpdateResourceA ((LPCSTR) pFileName, bDeleteExistingResources);
+}
+
+WINBOOL
+qxeUpdateResource (HANDLE hUpdate, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage, LPVOID lpData, DWORD cb)
+{
+  if (XEUNICODE_P)
+    return UpdateResourceW (hUpdate, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage, lpData, cb);
+  else
+    return UpdateResourceA (hUpdate, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage, lpData, cb);
+}
+
+WINBOOL
+qxeEndUpdateResource (HANDLE hUpdate, WINBOOL fDiscard)
+{
+  if (XEUNICODE_P)
+    return EndUpdateResourceW (hUpdate, fDiscard);
+  else
+    return EndUpdateResourceA (hUpdate, fDiscard);
+}
+
+/* Error if GetFirmwareEnvironmentVariableEx used: HST: new? -- needs review */
+
+/* Error if SetFirmwareEnvironmentVariableEx used: HST: new? -- needs review */
+
+ATOM
+qxeGlobalAddAtom (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return GlobalAddAtomW ((LPCWSTR) lpString);
+  else
+    return GlobalAddAtomA ((LPCSTR) lpString);
+}
+
+/* Error if GlobalAddAtomEx used: HST: new? -- needs review */
+
+ATOM
+qxeGlobalFindAtom (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return GlobalFindAtomW ((LPCWSTR) lpString);
+  else
+    return GlobalFindAtomA ((LPCSTR) lpString);
 }
 
 UINT
-qxeGetAtomName (ATOM arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GetAtomNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetAtomNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-BOOL
-qxeGetBinaryType (const Extbyte * arg1, PDWORD arg2)
-{
-  if (XEUNICODE_P)
-    return GetBinaryTypeW ((LPCWSTR) arg1, arg2);
-  else
-    return GetBinaryTypeA ((LPCSTR) arg1, arg2);
-}
-
-Extbyte *
-qxeGetCommandLine (void)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) GetCommandLineW ();
-  else
-    return (Extbyte *) GetCommandLineA ();
-}
-
-DWORD
-qxeGetCompressedFileSize (const Extbyte * arg1, PDWORD arg2)
-{
-  if (XEUNICODE_P)
-    return GetCompressedFileSizeW ((LPCWSTR) arg1, arg2);
-  else
-    return GetCompressedFileSizeA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeGetComputerName (Extbyte * arg1, PDWORD arg2)
-{
-  if (XEUNICODE_P)
-    return GetComputerNameW ((LPWSTR) arg1, arg2);
-  else
-    return GetComputerNameA ((LPSTR) arg1, arg2);
-}
-
-/* Error if GetComputerNameEx used: Function needs review to determine how to handle it */
-
-DWORD
-qxeGetCurrentDirectory (DWORD arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return GetCurrentDirectoryW (arg1, (LPWSTR) arg2);
-  else
-    return GetCurrentDirectoryA (arg1, (LPSTR) arg2);
-}
-
-/* Error if GetCurrentHwProfile used: split-sized LPHW_PROFILE_INFO; NT 4.0+ only */
-
-BOOL
-qxeGetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, PDWORD arg3)
-{
-  if (XEUNICODE_P)
-    return GetDefaultCommConfigW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return GetDefaultCommConfigA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeGetDiskFreeSpace (const Extbyte * arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return GetDiskFreeSpaceW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5);
-  else
-    return GetDiskFreeSpaceA ((LPCSTR) arg1, arg2, arg3, arg4, arg5);
-}
-
-BOOL
-qxeGetDiskFreeSpaceEx (const Extbyte * arg1, PULARGE_INTEGER arg2, PULARGE_INTEGER arg3, PULARGE_INTEGER arg4)
-{
-  if (XEUNICODE_P)
-    return GetDiskFreeSpaceExW ((LPCWSTR) arg1, arg2, arg3, arg4);
-  else
-    return GetDiskFreeSpaceExA ((LPCSTR) arg1, arg2, arg3, arg4);
-}
-
-/* Error if GetDllDirectory used: Function needs review to determine how to handle it */
+qxeGlobalGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize)
+{
+  if (XEUNICODE_P)
+    return GlobalGetAtomNameW (nAtom, (LPWSTR) lpBuffer, nSize);
+  else
+    return GlobalGetAtomNameA (nAtom, (LPSTR) lpBuffer, nSize);
+}
+
+ATOM
+qxeAddAtom (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return AddAtomW ((LPCWSTR) lpString);
+  else
+    return AddAtomA ((LPCSTR) lpString);
+}
+
+ATOM
+qxeFindAtom (const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return FindAtomW ((LPCWSTR) lpString);
+  else
+    return FindAtomA ((LPCSTR) lpString);
+}
 
 UINT
-qxeGetDriveType (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetDriveTypeW ((LPCWSTR) arg1);
-  else
-    return GetDriveTypeA ((LPCSTR) arg1);
-}
-
-DWORD
-qxeGetEnvironmentVariable (const Extbyte * arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return GetEnvironmentVariableW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetEnvironmentVariableA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
+qxeGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize)
+{
+  if (XEUNICODE_P)
+    return GetAtomNameW (nAtom, (LPWSTR) lpBuffer, nSize);
+  else
+    return GetAtomNameA (nAtom, (LPSTR) lpBuffer, nSize);
+}
+
+UINT
+qxeGetProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault)
+{
+  if (XEUNICODE_P)
+    return GetProfileIntW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, nDefault);
+  else
+    return GetProfileIntA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, nDefault);
 }
 
 DWORD
-qxeGetFileAttributes (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetFileAttributesW ((LPCWSTR) arg1);
-  else
-    return GetFileAttributesA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeGetFileAttributesEx (const Extbyte * arg1, GET_FILEEX_INFO_LEVELS arg2, PVOID arg3)
-{
-  if (XEUNICODE_P)
-    return GetFileAttributesExW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return GetFileAttributesExA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeGetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3, DWORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return GetFileSecurityW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5);
-  else
-    return GetFileSecurityA ((LPCSTR) arg1, arg2, arg3, arg4, arg5);
-}
-
-DWORD
-qxeGetFullPathName (const Extbyte * arg1, DWORD arg2, Extbyte * arg3, Extbyte ** arg4)
-{
-  if (XEUNICODE_P)
-    return GetFullPathNameW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR*) arg4);
-  else
-    return GetFullPathNameA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR*) arg4);
-}
-
-DWORD
-qxeGetLogicalDriveStrings (DWORD arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return GetLogicalDriveStringsW (arg1, (LPWSTR) arg2);
-  else
-    return GetLogicalDriveStringsA (arg1, (LPSTR) arg2);
-}
-
-/* Error if GetLongPathName used: Win98/2K+ only */
-
-DWORD
-qxeGetModuleFileName (HINSTANCE arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return GetModuleFileNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetModuleFileNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-HMODULE
-qxeGetModuleHandle (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GetModuleHandleW ((LPCWSTR) arg1);
-  else
-    return GetModuleHandleA ((LPCSTR) arg1);
-}
-
-/* Error if GetModuleHandleEx used: Function needs review to determine how to handle it */
-
-BOOL
-qxeGetNamedPipeHandleState (HANDLE arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, DWORD arg7)
-{
-  if (XEUNICODE_P)
-    return GetNamedPipeHandleStateW (arg1, arg2, arg3, arg4, arg5, (LPWSTR) arg6, arg7);
-  else
-    return GetNamedPipeHandleStateA (arg1, arg2, arg3, arg4, arg5, (LPSTR) arg6, arg7);
-}
-
-UINT
-qxeGetPrivateProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return GetPrivateProfileIntW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
-  else
-    return GetPrivateProfileIntA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
-}
-
-DWORD
-qxeGetPrivateProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return GetPrivateProfileSectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, (LPCWSTR) arg4);
-  else
-    return GetPrivateProfileSectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3, (LPCSTR) arg4);
-}
-
-DWORD
-qxeGetPrivateProfileSectionNames (Extbyte * arg1, DWORD arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return GetPrivateProfileSectionNamesW ((LPWSTR) arg1, arg2, (LPCWSTR) arg3);
-  else
-    return GetPrivateProfileSectionNamesA ((LPSTR) arg1, arg2, (LPCSTR) arg3);
+qxeGetProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpDefault, (LPWSTR) lpReturnedString, nSize);
+  else
+    return GetProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpDefault, (LPSTR) lpReturnedString, nSize);
+}
+
+WINBOOL
+qxeWriteProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return WriteProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpString);
+  else
+    return WriteProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpString);
 }
 
 DWORD
-qxeGetPrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5, const Extbyte * arg6)
-{
-  if (XEUNICODE_P)
-    return GetPrivateProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPWSTR) arg4, arg5, (LPCWSTR) arg6);
-  else
-    return GetPrivateProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPSTR) arg4, arg5, (LPCSTR) arg6);
-}
-
-BOOL
-qxeGetPrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5)
-{
-  if (XEUNICODE_P)
-    return GetPrivateProfileStructW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPCWSTR) arg5);
-  else
-    return GetPrivateProfileStructA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPCSTR) arg5);
-}
-
-UINT
-qxeGetProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3)
-{
-  if (XEUNICODE_P)
-    return GetProfileIntW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return GetProfileIntA ((LPCSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-DWORD
-qxeGetProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return GetProfileSectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetProfileSectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
-}
-
-DWORD
-qxeGetProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5)
-{
-  if (XEUNICODE_P)
-    return GetProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPWSTR) arg4, arg5);
-  else
-    return GetProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPSTR) arg4, arg5);
-}
-
-DWORD
-qxeGetShortPathName (const Extbyte * arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return GetShortPathNameW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return GetShortPathNameA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
-}
-
-VOID
-qxeGetStartupInfo (LPSTARTUPINFOW arg1)
-{
-  if (XEUNICODE_P)
-    GetStartupInfoW (arg1);
-  else
-    GetStartupInfoA ((LPSTARTUPINFOA) arg1);
-}
-
-UINT
-qxeGetSystemDirectory (Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return GetSystemDirectoryW ((LPWSTR) arg1, arg2);
-  else
-    return GetSystemDirectoryA ((LPSTR) arg1, arg2);
-}
-
-/* Error if GetSystemWindowsDirectory used: Function needs review to determine how to handle it */
-
-/* Error if GetSystemWow64Directory used: Function needs review to determine how to handle it */
-
-UINT
-qxeGetTempFileName (const Extbyte * arg1, const Extbyte * arg2, UINT arg3, Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return GetTempFileNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, (LPWSTR) arg4);
-  else
-    return GetTempFileNameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, (LPSTR) arg4);
-}
-
-DWORD
-qxeGetTempPath (DWORD arg1, Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return GetTempPathW (arg1, (LPWSTR) arg2);
-  else
-    return GetTempPathA (arg1, (LPSTR) arg2);
-}
-
-BOOL
-qxeGetUserName (Extbyte * arg1, PDWORD arg2)
-{
-  if (XEUNICODE_P)
-    return GetUserNameW ((LPWSTR) arg1, arg2);
-  else
-    return GetUserNameA ((LPSTR) arg1, arg2);
-}
-
-/* Error if GetVersionEx used: split-sized LPOSVERSIONINFO */
-
-BOOL
-qxeGetVolumeInformation (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, Extbyte * arg7, DWORD arg8)
-{
-  if (XEUNICODE_P)
-    return GetVolumeInformationW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, (LPWSTR) arg7, arg8);
-  else
-    return GetVolumeInformationA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, (LPSTR) arg7, arg8);
-}
-
-/* Error if GetVolumeNameForVolumeMountPoint used: Function needs review to determine how to handle it */
-
-/* Error if GetVolumePathName used: Function needs review to determine how to handle it */
-
-/* Error if GetVolumePathNamesForVolumeName used: Function needs review to determine how to handle it */
-
-UINT
-qxeGetWindowsDirectory (Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return GetWindowsDirectoryW ((LPWSTR) arg1, arg2);
-  else
-    return GetWindowsDirectoryA ((LPSTR) arg1, arg2);
-}
-
-ATOM
-qxeGlobalAddAtom (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GlobalAddAtomW ((LPCWSTR) arg1);
-  else
-    return GlobalAddAtomA ((LPCSTR) arg1);
-}
-
-ATOM
-qxeGlobalFindAtom (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return GlobalFindAtomW ((LPCWSTR) arg1);
-  else
-    return GlobalFindAtomA ((LPCSTR) arg1);
+qxeGetProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetProfileSectionW ((LPCWSTR) lpAppName, (LPWSTR) lpReturnedString, nSize);
+  else
+    return GetProfileSectionA ((LPCSTR) lpAppName, (LPSTR) lpReturnedString, nSize);
+}
+
+WINBOOL
+qxeWriteProfileSection (const Extbyte * lpAppName, const Extbyte * lpString)
+{
+  if (XEUNICODE_P)
+    return WriteProfileSectionW ((LPCWSTR) lpAppName, (LPCWSTR) lpString);
+  else
+    return WriteProfileSectionA ((LPCSTR) lpAppName, (LPCSTR) lpString);
 }
 
 UINT
-qxeGlobalGetAtomName (ATOM arg1, Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return GlobalGetAtomNameW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return GlobalGetAtomNameA (arg1, (LPSTR) arg2, arg3);
-}
-
-BOOL
-qxeIsBadStringPtr (const Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return IsBadStringPtrW ((LPCWSTR) arg1, arg2);
-  else
-    return IsBadStringPtrA ((LPCSTR) arg1, arg2);
-}
-
-HINSTANCE
-qxeLoadLibraryEx (const Extbyte * arg1, HANDLE arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return LoadLibraryExW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return LoadLibraryExA ((LPCSTR) arg1, arg2, arg3);
-}
-
-HINSTANCE
-qxeLoadLibrary (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return LoadLibraryW ((LPCWSTR) arg1);
-  else
-    return LoadLibraryA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeLogonUser (Extbyte * arg1, Extbyte * arg2, Extbyte * arg3, DWORD arg4, DWORD arg5, PHANDLE arg6)
-{
-  if (XEUNICODE_P)
-    return LogonUserW ((LPWSTR) arg1, (LPWSTR) arg2, (LPWSTR) arg3, arg4, arg5, arg6);
-  else
-    return LogonUserA ((LPSTR) arg1, (LPSTR) arg2, (LPSTR) arg3, arg4, arg5, arg6);
-}
-
-BOOL
-qxeLookupAccountName (const Extbyte * arg1, const Extbyte * arg2, PSID arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7)
-{
-  if (XEUNICODE_P)
-    return LookupAccountNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPWSTR) arg5, arg6, arg7);
-  else
-    return LookupAccountNameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPSTR) arg5, arg6, arg7);
-}
-
-BOOL
-qxeLookupAccountSid (const Extbyte * arg1, PSID arg2, Extbyte * arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7)
-{
-  if (XEUNICODE_P)
-    return LookupAccountSidW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, arg4, (LPWSTR) arg5, arg6, arg7);
-  else
-    return LookupAccountSidA ((LPCSTR) arg1, arg2, (LPSTR) arg3, arg4, (LPSTR) arg5, arg6, arg7);
-}
-
-BOOL
-qxeLookupPrivilegeDisplayName (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5)
-{
-  if (XEUNICODE_P)
-    return LookupPrivilegeDisplayNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4, arg5);
-  else
-    return LookupPrivilegeDisplayNameA ((LPCSTR) arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4, arg5);
-}
-
-BOOL
-qxeLookupPrivilegeName (const Extbyte * arg1, PLUID arg2, Extbyte * arg3, PDWORD arg4)
-{
-  if (XEUNICODE_P)
-    return LookupPrivilegeNameW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, arg4);
-  else
-    return LookupPrivilegeNameA ((LPCSTR) arg1, arg2, (LPSTR) arg3, arg4);
-}
-
-BOOL
-qxeLookupPrivilegeValue (const Extbyte * arg1, const Extbyte * arg2, PLUID arg3)
-{
-  if (XEUNICODE_P)
-    return LookupPrivilegeValueW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return LookupPrivilegeValueA ((LPCSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-Extbyte *
-qxelstrcat (Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) lstrcatW ((LPWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return (Extbyte *) lstrcatA ((LPSTR) arg1, (LPCSTR) arg2);
-}
-
-int
-qxelstrcmpi (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return lstrcmpiW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return lstrcmpiA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-int
-qxelstrcmp (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return lstrcmpW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return lstrcmpA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-Extbyte *
-qxelstrcpyn (Extbyte * arg1, const Extbyte * arg2, int arg3)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) lstrcpynW ((LPWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return (Extbyte *) lstrcpynA ((LPSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-Extbyte *
-qxelstrcpy (Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return (Extbyte *) lstrcpyW ((LPWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return (Extbyte *) lstrcpyA ((LPSTR) arg1, (LPCSTR) arg2);
-}
-
-int
-qxelstrlen (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return lstrlenW ((LPCWSTR) arg1);
-  else
-    return lstrlenA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeMoveFileEx (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return MoveFileExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3);
-  else
-    return MoveFileExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3);
-}
-
-BOOL
-qxeMoveFile (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return MoveFileW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return MoveFileA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeObjectCloseAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3)
-{
-  if (XEUNICODE_P)
-    return ObjectCloseAuditAlarmW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return ObjectCloseAuditAlarmA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeObjectDeleteAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3)
-{
-  if (XEUNICODE_P)
-    return ObjectDeleteAuditAlarmW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return ObjectDeleteAuditAlarmA ((LPCSTR) arg1, arg2, arg3);
-}
-
-BOOL
-qxeObjectOpenAuditAlarm (const Extbyte * arg1, PVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, HANDLE arg6, DWORD arg7, DWORD arg8, PPRIVILEGE_SET arg9, BOOL arg10, BOOL arg11, PBOOL arg12)
-{
-  if (XEUNICODE_P)
-    return ObjectOpenAuditAlarmW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-  else
-    return ObjectOpenAuditAlarmA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-}
-
-BOOL
-qxeObjectPrivilegeAuditAlarm (const Extbyte * arg1, PVOID arg2, HANDLE arg3, DWORD arg4, PPRIVILEGE_SET arg5, BOOL arg6)
-{
-  if (XEUNICODE_P)
-    return ObjectPrivilegeAuditAlarmW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6);
-  else
-    return ObjectPrivilegeAuditAlarmA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6);
+qxeGetPrivateProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return GetPrivateProfileIntW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, nDefault, (LPCWSTR) lpFileName);
+  else
+    return GetPrivateProfileIntA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, nDefault, (LPCSTR) lpFileName);
+}
+
+DWORD
+qxeGetPrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return GetPrivateProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpDefault, (LPWSTR) lpReturnedString, nSize, (LPCWSTR) lpFileName);
+  else
+    return GetPrivateProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpDefault, (LPSTR) lpReturnedString, nSize, (LPCSTR) lpFileName);
+}
+
+WINBOOL
+qxeWritePrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return WritePrivateProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpString, (LPCWSTR) lpFileName);
+  else
+    return WritePrivateProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpString, (LPCSTR) lpFileName);
+}
+
+DWORD
+qxeGetPrivateProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return GetPrivateProfileSectionW ((LPCWSTR) lpAppName, (LPWSTR) lpReturnedString, nSize, (LPCWSTR) lpFileName);
+  else
+    return GetPrivateProfileSectionA ((LPCSTR) lpAppName, (LPSTR) lpReturnedString, nSize, (LPCSTR) lpFileName);
+}
+
+WINBOOL
+qxeWritePrivateProfileSection (const Extbyte * lpAppName, const Extbyte * lpString, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return WritePrivateProfileSectionW ((LPCWSTR) lpAppName, (LPCWSTR) lpString, (LPCWSTR) lpFileName);
+  else
+    return WritePrivateProfileSectionA ((LPCSTR) lpAppName, (LPCSTR) lpString, (LPCSTR) lpFileName);
+}
+
+DWORD
+qxeGetPrivateProfileSectionNames (Extbyte * lpszReturnBuffer, DWORD nSize, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return GetPrivateProfileSectionNamesW ((LPWSTR) lpszReturnBuffer, nSize, (LPCWSTR) lpFileName);
+  else
+    return GetPrivateProfileSectionNamesA ((LPSTR) lpszReturnBuffer, nSize, (LPCSTR) lpFileName);
+}
+
+WINBOOL
+qxeGetPrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile)
+{
+  if (XEUNICODE_P)
+    return GetPrivateProfileStructW ((LPCWSTR) lpszSection, (LPCWSTR) lpszKey, lpStruct, uSizeStruct, (LPCWSTR) szFile);
+  else
+    return GetPrivateProfileStructA ((LPCSTR) lpszSection, (LPCSTR) lpszKey, lpStruct, uSizeStruct, (LPCSTR) szFile);
+}
+
+WINBOOL
+qxeWritePrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile)
+{
+  if (XEUNICODE_P)
+    return WritePrivateProfileStructW ((LPCWSTR) lpszSection, (LPCWSTR) lpszKey, lpStruct, uSizeStruct, (LPCWSTR) szFile);
+  else
+    return WritePrivateProfileStructA ((LPCSTR) lpszSection, (LPCSTR) lpszKey, lpStruct, uSizeStruct, (LPCSTR) szFile);
+}
+
+/* Error if GetSystemWow64Directory used: Function needs review to determine how to handle it */
+
+/* Error if SetDllDirectory used: Function needs review to determine how to handle it */
+
+/* Error if GetDllDirectory used: Function needs review to determine how to handle it */
+
+WINBOOL
+qxeCreateDirectoryEx (const Extbyte * lpTemplateDirectory, const Extbyte * lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+{
+  if (XEUNICODE_P)
+    return CreateDirectoryExW ((LPCWSTR) lpTemplateDirectory, (LPCWSTR) lpNewDirectory, lpSecurityAttributes);
+  else
+    return CreateDirectoryExA ((LPCSTR) lpTemplateDirectory, (LPCSTR) lpNewDirectory, lpSecurityAttributes);
+}
+
+/* Error if CreateDirectoryTransacted used: HST: new? -- needs review */
+
+/* Error if RemoveDirectoryTransacted used: HST: new? -- needs review */
+
+/* Error if GetFullPathNameTransacted used: HST: new? -- needs review */
+
+/* Error if CreateFileTransacted used: HST: new? -- needs review */
+
+/* Error if SetFileAttributesTransacted used: HST: new? -- needs review */
+
+/* Error if GetFileAttributesTransacted used: HST: new? -- needs review */
+
+DWORD
+qxeGetCompressedFileSize (const Extbyte * lpFileName, LPDWORD lpFileSizeHigh)
+{
+  if (XEUNICODE_P)
+    return GetCompressedFileSizeW ((LPCWSTR) lpFileName, lpFileSizeHigh);
+  else
+    return GetCompressedFileSizeA ((LPCSTR) lpFileName, lpFileSizeHigh);
+}
+
+/* Error if GetCompressedFileSizeTransacted used: HST: new? -- needs review */
+
+/* Error if DeleteFileTransacted used: HST: new? -- needs review */
+
+/* Error if CheckNameLegalDOS8Dot3 used: Function needs review to determine how to handle it */
+
+WINBOOL
+qxeCopyFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, WINBOOL bFailIfExists)
+{
+  if (XEUNICODE_P)
+    return CopyFileW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, bFailIfExists);
+  else
+    return CopyFileA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, bFailIfExists);
+}
+
+/* NOTE: NT 4.0+ only */
+WINBOOL
+qxeCopyFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags)
+{
+  if (XEUNICODE_P)
+    return CopyFileExW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags);
+  else
+    return CopyFileExA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags);
+}
+
+/* Error if FindFirstFileTransacted used: HST: new? -- needs review */
+
+/* Error if CopyFileTransacted used: HST: new? -- needs review */
+
+WINBOOL
+qxeMoveFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName)
+{
+  if (XEUNICODE_P)
+    return MoveFileW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName);
+  else
+    return MoveFileA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName);
+}
+
+WINBOOL
+qxeMoveFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, DWORD dwFlags)
+{
+  if (XEUNICODE_P)
+    return MoveFileExW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, dwFlags);
+  else
+    return MoveFileExA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, dwFlags);
+}
+
+/* Error if MoveFileWithProgress used: NT 5.0+ only */
+
+/* Error if MoveFileTransacted used: HST: new? -- needs review */
+
+/* Error if ReplaceFile used: Function needs review to determine how to handle it */
+
+/* Error if CreateHardLink used: NT 5.0+ only */
+
+/* Error if CreateHardLinkTransacted used: HST: new? -- needs review */
+
+/* Error if FindFirstStream used: HST: new? -- needs review */
+
+/* Error if FindNextStream used: HST: new? -- needs review */
+
+/* Error if FindFirstStreamTransacted used: HST: new? -- needs review */
+
+/* Error if FindFirstFileName used: HST: new? -- needs review */
+
+/* Error if FindNextFileName used: HST: new? -- needs review */
+
+/* Error if FindFirstFileNameTransacted used: HST: new? -- needs review */
+
+WINBOOL
+qxeGetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, Extbyte * lpUserName, DWORD nMaxUserNameSize)
+{
+  if (XEUNICODE_P)
+    return GetNamedPipeHandleStateW (hNamedPipe, lpState, lpCurInstances, lpMaxCollectionCount, lpCollectDataTimeout, (LPWSTR) lpUserName, nMaxUserNameSize);
+  else
+    return GetNamedPipeHandleStateA (hNamedPipe, lpState, lpCurInstances, lpMaxCollectionCount, lpCollectDataTimeout, (LPSTR) lpUserName, nMaxUserNameSize);
+}
+
+WINBOOL
+qxeCallNamedPipe (const Extbyte * lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut)
+{
+  if (XEUNICODE_P)
+    return CallNamedPipeW ((LPCWSTR) lpNamedPipeName, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesRead, nTimeOut);
+  else
+    return CallNamedPipeA ((LPCSTR) lpNamedPipeName, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesRead, nTimeOut);
+}
+
+WINBOOL
+qxeSetVolumeLabel (const Extbyte * lpRootPathName, const Extbyte * lpVolumeName)
+{
+  if (XEUNICODE_P)
+    return SetVolumeLabelW ((LPCWSTR) lpRootPathName, (LPCWSTR) lpVolumeName);
+  else
+    return SetVolumeLabelA ((LPCSTR) lpRootPathName, (LPCSTR) lpVolumeName);
+}
+
+WINBOOL
+qxeClearEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName)
+{
+  if (XEUNICODE_P)
+    return ClearEventLogW (hEventLog, (LPCWSTR) lpBackupFileName);
+  else
+    return ClearEventLogA (hEventLog, (LPCSTR) lpBackupFileName);
+}
+
+WINBOOL
+qxeBackupEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName)
+{
+  if (XEUNICODE_P)
+    return BackupEventLogW (hEventLog, (LPCWSTR) lpBackupFileName);
+  else
+    return BackupEventLogA (hEventLog, (LPCSTR) lpBackupFileName);
 }
 
 HANDLE
-qxeOpenBackupEventLog (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return OpenBackupEventLogW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return OpenBackupEventLogA ((LPCSTR) arg1, (LPCSTR) arg2);
+qxeOpenEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName)
+{
+  if (XEUNICODE_P)
+    return OpenEventLogW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpSourceName);
+  else
+    return OpenEventLogA ((LPCSTR) lpUNCServerName, (LPCSTR) lpSourceName);
 }
 
 HANDLE
-qxeOpenEventLog (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return OpenEventLogW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return OpenEventLogA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-HANDLE
-qxeOpenEvent (DWORD arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return OpenEventW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return OpenEventA (arg1, arg2, (LPCSTR) arg3);
-}
-
-HANDLE
-qxeOpenFileMapping (DWORD arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return OpenFileMappingW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return OpenFileMappingA (arg1, arg2, (LPCSTR) arg3);
+qxeRegisterEventSource (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName)
+{
+  if (XEUNICODE_P)
+    return RegisterEventSourceW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpSourceName);
+  else
+    return RegisterEventSourceA ((LPCSTR) lpUNCServerName, (LPCSTR) lpSourceName);
 }
 
 HANDLE
-qxeOpenMutex (DWORD arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return OpenMutexW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return OpenMutexA (arg1, arg2, (LPCSTR) arg3);
-}
-
-HANDLE
-qxeOpenSemaphore (DWORD arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return OpenSemaphoreW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return OpenSemaphoreA (arg1, arg2, (LPCSTR) arg3);
-}
-
-HANDLE
-qxeOpenWaitableTimer (DWORD arg1, BOOL arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return OpenWaitableTimerW (arg1, arg2, (LPCWSTR) arg3);
-  else
-    return OpenWaitableTimerA (arg1, arg2, (LPCSTR) arg3);
-}
-
-void
-qxeOutputDebugString (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    OutputDebugStringW ((LPCWSTR) arg1);
-  else
-    OutputDebugStringA ((LPCSTR) arg1);
-}
-
-BOOL
-qxePrivilegedServiceAuditAlarm (const Extbyte * arg1, const Extbyte * arg2, HANDLE arg3, PPRIVILEGE_SET arg4, BOOL arg5)
-{
-  if (XEUNICODE_P)
-    return PrivilegedServiceAuditAlarmW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, arg5);
-  else
-    return PrivilegedServiceAuditAlarmA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, arg5);
-}
-
-/* Error if QueryActCtx used: Function needs review to determine how to handle it */
-
-DWORD
-qxeQueryDosDevice (const Extbyte * arg1, Extbyte * arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return QueryDosDeviceW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
-  else
-    return QueryDosDeviceA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
+qxeOpenBackupEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return OpenBackupEventLogW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpFileName);
+  else
+    return OpenBackupEventLogA ((LPCSTR) lpUNCServerName, (LPCSTR) lpFileName);
+}
+
+WINBOOL
+qxeReadEventLog (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD * pnBytesRead, DWORD * pnMinNumberOfBytesNeeded)
+{
+  if (XEUNICODE_P)
+    return ReadEventLogW (hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
+  else
+    return ReadEventLogA (hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
+}
+
+WINBOOL
+qxeReportEvent (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, const Extbyte * * lpStrings, LPVOID lpRawData)
+{
+  if (XEUNICODE_P)
+    return ReportEventW (hEventLog, wType, wCategory, dwEventID, lpUserSid, wNumStrings, dwDataSize, (LPCWSTR *) lpStrings, lpRawData);
+  else
+    return ReportEventA (hEventLog, wType, wCategory, dwEventID, lpUserSid, wNumStrings, dwDataSize, (LPCSTR *) lpStrings, lpRawData);
 }
 
 /* Error if ReadDirectoryChanges used: Unicode-only */
 
-BOOL
-qxeReadEventLog (HANDLE arg1, DWORD arg2, DWORD arg3, PVOID arg4, DWORD arg5, DWORD * arg6, DWORD * arg7)
-{
-  if (XEUNICODE_P)
-    return ReadEventLogW (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-  else
-    return ReadEventLogA (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-}
+WINBOOL
+qxeIsBadStringPtr (const Extbyte * lpsz, UINT_PTR ucchMax)
+{
+  if (XEUNICODE_P)
+    return IsBadStringPtrW ((LPCWSTR) lpsz, ucchMax);
+  else
+    return IsBadStringPtrA ((LPCSTR) lpsz, ucchMax);
+}
+
+WINBOOL
+qxeLookupAccountSid (const Extbyte * lpSystemName, PSID Sid, Extbyte * Name, LPDWORD cchName, Extbyte * ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse)
+{
+  if (XEUNICODE_P)
+    return LookupAccountSidW ((LPCWSTR) lpSystemName, Sid, (LPWSTR) Name, cchName, (LPWSTR) ReferencedDomainName, cchReferencedDomainName, peUse);
+  else
+    return LookupAccountSidA ((LPCSTR) lpSystemName, Sid, (LPSTR) Name, cchName, (LPSTR) ReferencedDomainName, cchReferencedDomainName, peUse);
+}
+
+WINBOOL
+qxeLookupAccountName (const Extbyte * lpSystemName, const Extbyte * lpAccountName, PSID Sid, LPDWORD cbSid, Extbyte * ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse)
+{
+  if (XEUNICODE_P)
+    return LookupAccountNameW ((LPCWSTR) lpSystemName, (LPCWSTR) lpAccountName, Sid, cbSid, (LPWSTR) ReferencedDomainName, cchReferencedDomainName, peUse);
+  else
+    return LookupAccountNameA ((LPCSTR) lpSystemName, (LPCSTR) lpAccountName, Sid, cbSid, (LPSTR) ReferencedDomainName, cchReferencedDomainName, peUse);
+}
+
+/* Error if LookupAccountNameLocal used: HST: new? -- needs review */
+
+/* Error if LookupAccountSidLocal used: HST: new? -- needs review */
+
+WINBOOL
+qxeLookupPrivilegeValue (const Extbyte * lpSystemName, const Extbyte * lpName, PLUID lpLuid)
+{
+  if (XEUNICODE_P)
+    return LookupPrivilegeValueW ((LPCWSTR) lpSystemName, (LPCWSTR) lpName, lpLuid);
+  else
+    return LookupPrivilegeValueA ((LPCSTR) lpSystemName, (LPCSTR) lpName, lpLuid);
+}
+
+WINBOOL
+qxeLookupPrivilegeName (const Extbyte * lpSystemName, PLUID lpLuid, Extbyte * lpName, LPDWORD cchName)
+{
+  if (XEUNICODE_P)
+    return LookupPrivilegeNameW ((LPCWSTR) lpSystemName, lpLuid, (LPWSTR) lpName, cchName);
+  else
+    return LookupPrivilegeNameA ((LPCSTR) lpSystemName, lpLuid, (LPSTR) lpName, cchName);
+}
+
+WINBOOL
+qxeLookupPrivilegeDisplayName (const Extbyte * lpSystemName, const Extbyte * lpName, Extbyte * lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId)
+{
+  if (XEUNICODE_P)
+    return LookupPrivilegeDisplayNameW ((LPCWSTR) lpSystemName, (LPCWSTR) lpName, (LPWSTR) lpDisplayName, cchDisplayName, lpLanguageId);
+  else
+    return LookupPrivilegeDisplayNameA ((LPCSTR) lpSystemName, (LPCSTR) lpName, (LPSTR) lpDisplayName, cchDisplayName, lpLanguageId);
+}
+
+WINBOOL
+qxeBuildCommDCB (const Extbyte * lpDef, LPDCB lpDCB)
+{
+  if (XEUNICODE_P)
+    return BuildCommDCBW ((LPCWSTR) lpDef, lpDCB);
+  else
+    return BuildCommDCBA ((LPCSTR) lpDef, lpDCB);
+}
+
+WINBOOL
+qxeBuildCommDCBAndTimeouts (const Extbyte * lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts)
+{
+  if (XEUNICODE_P)
+    return BuildCommDCBAndTimeoutsW ((LPCWSTR) lpDef, lpDCB, lpCommTimeouts);
+  else
+    return BuildCommDCBAndTimeoutsA ((LPCSTR) lpDef, lpDCB, lpCommTimeouts);
+}
+
+WINBOOL
+qxeCommConfigDialog (const Extbyte * lpszName, HWND hWnd, LPCOMMCONFIG lpCC)
+{
+  if (XEUNICODE_P)
+    return CommConfigDialogW ((LPCWSTR) lpszName, hWnd, lpCC);
+  else
+    return CommConfigDialogA ((LPCSTR) lpszName, hWnd, lpCC);
+}
+
+WINBOOL
+qxeGetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize)
+{
+  if (XEUNICODE_P)
+    return GetDefaultCommConfigW ((LPCWSTR) lpszName, lpCC, lpdwSize);
+  else
+    return GetDefaultCommConfigA ((LPCSTR) lpszName, lpCC, lpdwSize);
+}
+
+WINBOOL
+qxeSetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, DWORD dwSize)
+{
+  if (XEUNICODE_P)
+    return SetDefaultCommConfigW ((LPCWSTR) lpszName, lpCC, dwSize);
+  else
+    return SetDefaultCommConfigA ((LPCSTR) lpszName, lpCC, dwSize);
+}
+
+WINBOOL
+qxeGetComputerName (Extbyte * lpBuffer, LPDWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetComputerNameW ((LPWSTR) lpBuffer, nSize);
+  else
+    return GetComputerNameA ((LPSTR) lpBuffer, nSize);
+}
+
+WINBOOL
+qxeSetComputerName (const Extbyte * lpComputerName)
+{
+  if (XEUNICODE_P)
+    return SetComputerNameW ((LPCWSTR) lpComputerName);
+  else
+    return SetComputerNameA ((LPCSTR) lpComputerName);
+}
+
+/* Error if DnsHostnameToComputerName used: Function needs review to determine how to handle it */
+
+WINBOOL
+qxeGetUserName (Extbyte * lpBuffer, LPDWORD pcbBuffer)
+{
+  if (XEUNICODE_P)
+    return GetUserNameW ((LPWSTR) lpBuffer, pcbBuffer);
+  else
+    return GetUserNameA ((LPSTR) lpBuffer, pcbBuffer);
+}
+
+WINBOOL
+qxeLogonUser (const Extbyte * lpszUsername, const Extbyte * lpszDomain, const Extbyte * lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken)
+{
+  if (XEUNICODE_P)
+    return LogonUserW ((LPCWSTR) lpszUsername, (LPCWSTR) lpszDomain, (LPCWSTR) lpszPassword, dwLogonType, dwLogonProvider, phToken);
+  else
+    return LogonUserA ((LPCSTR) lpszUsername, (LPCSTR) lpszDomain, (LPCSTR) lpszPassword, dwLogonType, dwLogonProvider, phToken);
+}
+
+/* Error if LogonUserEx used: HST: new? -- needs review */
+
+/* Error if CreateProcessWithLogon used: Function needs review to determine how to handle it */
+
+/* Error if CreateProcessWithToken used: HST: new? -- needs review */
+
+/* Error if GetCurrentHwProfile used: split-sized LPHW_PROFILE_INFO; NT 4.0+ only */
+
+/* Error if VerifyVersionInfo used: Function needs review to determine how to handle it */
+
+/* Error if CreateJobObject used: NT 5.0+ only */
+
+/* Error if OpenJobObject used: NT 5.0+ only */
+
+/* Error if FindFirstVolumeMountPoint used: Function needs review to determine how to handle it */
+
+/* Error if FindNextVolumeMountPoint used: Function needs review to determine how to handle it */
+
+/* Error if SetVolumeMountPoint used: Function needs review to determine how to handle it */
+
+/* Error if CreateActCtx used: Function needs review to determine how to handle it */
+
+/* Error if FindActCtxSectionString used: Function needs review to determine how to handle it */
+
+/* Error if QueryActCtx used: Function needs review to determine how to handle it */
+
+/* Error if CreateSymbolicLink used: HST: new? -- needs review */
+
+/* Error if CreateSymbolicLinkTransacted used: HST: new? -- needs review */
+
+/* Error if QueryActCtxSettings used: HST: new? -- needs review */
+
+
+/*----------------------------------------------------------------------*/
+/*                      Processing file FILEAPI.H                       */
+/*----------------------------------------------------------------------*/
 
 HANDLE
-qxeRegisterEventSource (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return RegisterEventSourceW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return RegisterEventSourceA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeRemoveDirectory (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return RemoveDirectoryW ((LPCWSTR) arg1);
-  else
-    return RemoveDirectoryA ((LPCSTR) arg1);
-}
-
-/* Error if ReplaceFile used: Function needs review to determine how to handle it */
-
-BOOL
-qxeReportEvent (HANDLE arg1, WORD arg2, WORD arg3, DWORD arg4, PSID arg5, WORD arg6, DWORD arg7, const Extbyte ** arg8, PVOID arg9)
-{
-  if (XEUNICODE_P)
-    return ReportEventW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, (LPCWSTR*) arg8, arg9);
-  else
-    return ReportEventA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, (LPCSTR*) arg8, arg9);
+qxeCreateFile (const Extbyte * lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
+{
+  if (XEUNICODE_P)
+    return CreateFileW ((LPCWSTR) lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+  else
+    return CreateFileA ((LPCSTR) lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+}
+
+WINBOOL
+qxeDefineDosDevice (DWORD dwFlags, const Extbyte * lpDeviceName, const Extbyte * lpTargetPath)
+{
+  if (XEUNICODE_P)
+    return DefineDosDeviceW (dwFlags, (LPCWSTR) lpDeviceName, (LPCWSTR) lpTargetPath);
+  else
+    return DefineDosDeviceA (dwFlags, (LPCSTR) lpDeviceName, (LPCSTR) lpTargetPath);
+}
+
+/* Error if DeleteVolumeMountPoint used: HST: new? -- needs review */
+
+HANDLE
+qxeFindFirstChangeNotification (const Extbyte * lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter)
+{
+  if (XEUNICODE_P)
+    return FindFirstChangeNotificationW ((LPCWSTR) lpPathName, bWatchSubtree, dwNotifyFilter);
+  else
+    return FindFirstChangeNotificationA ((LPCSTR) lpPathName, bWatchSubtree, dwNotifyFilter);
+}
+
+/* Error if FindFirstFile used: HST: new? -- needs review */
+
+/* Error if FindFirstVolume used: HST: new? -- needs review */
+
+/* Error if FindNextVolume used: HST: new? -- needs review */
+
+WINBOOL
+qxeGetDiskFreeSpace (const Extbyte * lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters)
+{
+  if (XEUNICODE_P)
+    return GetDiskFreeSpaceW ((LPCWSTR) lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters);
+  else
+    return GetDiskFreeSpaceA ((LPCSTR) lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters);
+}
+
+UINT
+qxeGetDriveType (const Extbyte * lpRootPathName)
+{
+  if (XEUNICODE_P)
+    return GetDriveTypeW ((LPCWSTR) lpRootPathName);
+  else
+    return GetDriveTypeA ((LPCSTR) lpRootPathName);
 }
 
 DWORD
-qxeSearchPath (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, Extbyte * arg5, Extbyte ** arg6)
-{
-  if (XEUNICODE_P)
-    return SearchPathW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, (LPWSTR) arg5, (LPWSTR*) arg6);
-  else
-    return SearchPathA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, (LPSTR) arg5, (LPSTR*) arg6);
-}
-
-BOOL
-qxeSetComputerName (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return SetComputerNameW ((LPCWSTR) arg1);
-  else
-    return SetComputerNameA ((LPCSTR) arg1);
-}
-
-/* Error if SetComputerNameEx used: Function needs review to determine how to handle it */
-
-BOOL
-qxeSetCurrentDirectory (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return SetCurrentDirectoryW ((LPCWSTR) arg1);
-  else
-    return SetCurrentDirectoryA ((LPCSTR) arg1);
-}
-
-BOOL
-qxeSetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return SetDefaultCommConfigW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return SetDefaultCommConfigA ((LPCSTR) arg1, arg2, arg3);
-}
-
-/* Error if SetDllDirectory used: Function needs review to determine how to handle it */
-
-BOOL
-qxeSetEnvironmentVariable (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return SetEnvironmentVariableW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return SetEnvironmentVariableA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeSetFileAttributes (const Extbyte * arg1, DWORD arg2)
-{
-  if (XEUNICODE_P)
-    return SetFileAttributesW ((LPCWSTR) arg1, arg2);
-  else
-    return SetFileAttributesA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeSetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3)
-{
-  if (XEUNICODE_P)
-    return SetFileSecurityW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return SetFileSecurityA ((LPCSTR) arg1, arg2, arg3);
-}
-
-/* Error if SetFileShortName used: Function needs review to determine how to handle it */
-
-/* Error if SetFirmwareEnvironmentVariable used: Function needs review to determine how to handle it */
-
-BOOL
-qxeSetVolumeLabel (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return SetVolumeLabelW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return SetVolumeLabelA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-/* Error if SetVolumeMountPoint used: Function needs review to determine how to handle it */
-
-BOOL
-qxeUpdateResource (HANDLE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4, PVOID arg5, DWORD arg6)
-{
-  if (XEUNICODE_P)
-    return UpdateResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5, arg6);
-  else
-    return UpdateResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5, arg6);
-}
-
-/* Error if VerifyVersionInfo used: Function needs review to determine how to handle it */
-
-BOOL
-qxeWaitNamedPipe (const Extbyte * arg1, DWORD arg2)
-{
-  if (XEUNICODE_P)
-    return WaitNamedPipeW ((LPCWSTR) arg1, arg2);
-  else
-    return WaitNamedPipeA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxeWritePrivateProfileSection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return WritePrivateProfileSectionW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return WritePrivateProfileSectionA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3);
-}
-
-BOOL
-qxeWritePrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4)
-{
-  if (XEUNICODE_P)
-    return WritePrivateProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
-  else
-    return WritePrivateProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4);
-}
-
-BOOL
-qxeWritePrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5)
-{
-  if (XEUNICODE_P)
-    return WritePrivateProfileStructW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPCWSTR) arg5);
-  else
-    return WritePrivateProfileStructA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPCSTR) arg5);
-}
-
-BOOL
-qxeWriteProfileSection (const Extbyte * arg1, const Extbyte * arg2)
-{
-  if (XEUNICODE_P)
-    return WriteProfileSectionW ((LPCWSTR) arg1, (LPCWSTR) arg2);
-  else
-    return WriteProfileSectionA ((LPCSTR) arg1, (LPCSTR) arg2);
-}
-
-BOOL
-qxeWriteProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3)
-{
-  if (XEUNICODE_P)
-    return WriteProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3);
-  else
-    return WriteProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3);
+qxeGetFileAttributes (const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return GetFileAttributesW ((LPCWSTR) lpFileName);
+  else
+    return GetFileAttributesA ((LPCSTR) lpFileName);
+}
+
+DWORD
+qxeGetFullPathName (const Extbyte * lpFileName, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart)
+{
+  if (XEUNICODE_P)
+    return GetFullPathNameW ((LPCWSTR) lpFileName, nBufferLength, (LPWSTR) lpBuffer, (LPWSTR *) lpFilePart);
+  else
+    return GetFullPathNameA ((LPCSTR) lpFileName, nBufferLength, (LPSTR) lpBuffer, (LPSTR *) lpFilePart);
+}
+
+DWORD
+qxeGetLogicalDriveStrings (DWORD nBufferLength, Extbyte * lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetLogicalDriveStringsW (nBufferLength, (LPWSTR) lpBuffer);
+  else
+    return GetLogicalDriveStringsA (nBufferLength, (LPSTR) lpBuffer);
+}
+
+/* Error if GetLongPathName used: HST: new? -- needs review */
+
+DWORD
+qxeGetShortPathName (const Extbyte * lpszLongPath, Extbyte * lpszShortPath, DWORD cchBuffer)
+{
+  if (XEUNICODE_P)
+    return GetShortPathNameW ((LPCWSTR) lpszLongPath, (LPWSTR) lpszShortPath, cchBuffer);
+  else
+    return GetShortPathNameA ((LPCSTR) lpszLongPath, (LPSTR) lpszShortPath, cchBuffer);
+}
+
+UINT
+qxeGetTempFileName (const Extbyte * lpPathName, const Extbyte * lpPrefixString, UINT uUnique, Extbyte * lpTempFileName)
+{
+  if (XEUNICODE_P)
+    return GetTempFileNameW ((LPCWSTR) lpPathName, (LPCWSTR) lpPrefixString, uUnique, (LPWSTR) lpTempFileName);
+  else
+    return GetTempFileNameA ((LPCSTR) lpPathName, (LPCSTR) lpPrefixString, uUnique, (LPSTR) lpTempFileName);
+}
+
+WINBOOL
+qxeGetVolumeInformation (const Extbyte * lpRootPathName, Extbyte * lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, Extbyte * lpFileSystemNameBuffer, DWORD nFileSystemNameSize)
+{
+  if (XEUNICODE_P)
+    return GetVolumeInformationW ((LPCWSTR) lpRootPathName, (LPWSTR) lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, (LPWSTR) lpFileSystemNameBuffer, nFileSystemNameSize);
+  else
+    return GetVolumeInformationA ((LPCSTR) lpRootPathName, (LPSTR) lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, (LPSTR) lpFileSystemNameBuffer, nFileSystemNameSize);
+}
+
+/* Error if GetVolumePathName used: HST: new? -- needs review */
+
+DWORD
+qxeQueryDosDevice (const Extbyte * lpDeviceName, Extbyte * lpTargetPath, DWORD ucchMax)
+{
+  if (XEUNICODE_P)
+    return QueryDosDeviceW ((LPCWSTR) lpDeviceName, (LPWSTR) lpTargetPath, ucchMax);
+  else
+    return QueryDosDeviceA ((LPCSTR) lpDeviceName, (LPSTR) lpTargetPath, ucchMax);
+}
+
+DWORD
+qxeGetTempPath (DWORD nBufferLength, Extbyte * lpBuffer)
+{
+  if (XEUNICODE_P)
+    return GetTempPathW (nBufferLength, (LPWSTR) lpBuffer);
+  else
+    return GetTempPathA (nBufferLength, (LPSTR) lpBuffer);
+}
+
+/* Error if GetVolumeNameForVolumeMountPoint used: HST: new? -- needs review */
+
+/* Error if GetVolumePathNamesForVolumeName used: HST: new? -- needs review */
+
+/* Error if GetFinalPathNameByHandle used: HST: new? -- needs review */
+
+/* Error if GetVolumeInformationByHandle used: HST: new? -- needs review */
+
+WINBOOL
+qxeCreateDirectory (const Extbyte * lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+{
+  if (XEUNICODE_P)
+    return CreateDirectoryW ((LPCWSTR) lpPathName, lpSecurityAttributes);
+  else
+    return CreateDirectoryA ((LPCSTR) lpPathName, lpSecurityAttributes);
+}
+
+WINBOOL
+qxeDeleteFile (const Extbyte * lpFileName)
+{
+  if (XEUNICODE_P)
+    return DeleteFileW ((LPCWSTR) lpFileName);
+  else
+    return DeleteFileA ((LPCSTR) lpFileName);
+}
+
+/* Error if FindFirstFileEx used: HST: new? -- needs review */
+
+/* Error if FindNextFile used: HST: new? -- needs review */
+
+WINBOOL
+qxeGetDiskFreeSpaceEx (const Extbyte * lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes)
+{
+  if (XEUNICODE_P)
+    return GetDiskFreeSpaceExW ((LPCWSTR) lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes);
+  else
+    return GetDiskFreeSpaceExA ((LPCSTR) lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes);
+}
+
+WINBOOL
+qxeGetFileAttributesEx (const Extbyte * lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation)
+{
+  if (XEUNICODE_P)
+    return GetFileAttributesExW ((LPCWSTR) lpFileName, fInfoLevelId, lpFileInformation);
+  else
+    return GetFileAttributesExA ((LPCSTR) lpFileName, fInfoLevelId, lpFileInformation);
+}
+
+WINBOOL
+qxeRemoveDirectory (const Extbyte * lpPathName)
+{
+  if (XEUNICODE_P)
+    return RemoveDirectoryW ((LPCWSTR) lpPathName);
+  else
+    return RemoveDirectoryA ((LPCSTR) lpPathName);
+}
+
+WINBOOL
+qxeSetFileAttributes (const Extbyte * lpFileName, DWORD dwFileAttributes)
+{
+  if (XEUNICODE_P)
+    return SetFileAttributesW ((LPCWSTR) lpFileName, dwFileAttributes);
+  else
+    return SetFileAttributesA ((LPCSTR) lpFileName, dwFileAttributes);
 }
 
 
@@ -4156,207 +4722,56 @@
 /*                       Processing file ACLAPI.h                       */
 /*----------------------------------------------------------------------*/
 
-/* Error if BuildExplicitAccessWithName used: Function needs review to determine how to handle it */
-
-/* Error if BuildSecurityDescriptor used: Function needs review to determine how to handle it */
-
-/* Error if BuildTrusteeWithName used: Function needs review to determine how to handle it */
-
-/* Error if BuildTrusteeWithObjectsAndName used: Function needs review to determine how to handle it */
-
-/* Error if BuildTrusteeWithObjectsAndSid used: Function needs review to determine how to handle it */
-
-/* Error if BuildTrusteeWithSid used: Function needs review to determine how to handle it */
+/* Error if SetEntriesInAcl used: Function needs review to determine how to handle it */
+
+/* Error if GetExplicitEntriesFromAcl used: Function needs review to determine how to handle it */
+
+/* Error if GetEffectiveRightsFromAcl used: Function needs review to determine how to handle it */
 
 /* Error if GetAuditedPermissionsFromAcl used: Function needs review to determine how to handle it */
 
-/* Error if GetEffectiveRightsFromAcl used: Function needs review to determine how to handle it */
-
-/* Error if GetExplicitEntriesFromAcl used: Function needs review to determine how to handle it */
-
 DWORD
-qxeGetNamedSecurityInfo (Extbyte * arg1, SE_OBJECT_TYPE arg2, SECURITY_INFORMATION arg3, PSID* arg4, PSID* arg5, PACL* arg6, PACL* arg7, PSECURITY_DESCRIPTOR* arg8)
-{
-  if (XEUNICODE_P)
-    return GetNamedSecurityInfoW ((LPWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-  else
-    return GetNamedSecurityInfoA ((LPSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-}
-
-/* Error if GetTrusteeForm used: Function needs review to determine how to handle it */
+qxeGetNamedSecurityInfo (const Extbyte * pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID * ppsidOwner, PSID * ppsidGroup, PACL * ppDacl, PACL * ppSacl, PSECURITY_DESCRIPTOR * ppSecurityDescriptor)
+{
+  if (XEUNICODE_P)
+    return GetNamedSecurityInfoW ((LPCWSTR) pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
+  else
+    return GetNamedSecurityInfoA ((LPCSTR) pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
+}
+
+/* Error if SetNamedSecurityInfo used: Function needs review to determine how to handle it */
+
+/* Error if GetInheritanceSource used: HST: new? -- needs review */
+
+/* Error if TreeResetNamedSecurityInfo used: HST: new? -- needs review */
+
+/* Error if BuildSecurityDescriptor used: Function needs review to determine how to handle it */
+
+/* Error if LookupSecurityDescriptorParts used: Function needs review to determine how to handle it */
+
+/* Error if BuildExplicitAccessWithName used: Function needs review to determine how to handle it */
+
+/* Error if BuildImpersonateExplicitAccessWithName used: Function needs review to determine how to handle it */
+
+/* Error if BuildTrusteeWithName used: Function needs review to determine how to handle it */
+
+/* Error if BuildImpersonateTrustee used: Function needs review to determine how to handle it */
+
+/* Error if BuildTrusteeWithSid used: Function needs review to determine how to handle it */
+
+/* Error if BuildTrusteeWithObjectsAndSid used: Function needs review to determine how to handle it */
+
+/* Error if BuildTrusteeWithObjectsAndName used: Function needs review to determine how to handle it */
 
 /* Error if GetTrusteeName used: Function needs review to determine how to handle it */
 
 /* Error if GetTrusteeType used: Function needs review to determine how to handle it */
 
-/* Error if LookupSecurityDescriptorParts used: Function needs review to determine how to handle it */
-
-/* Error if SetEntriesInAcl used: Function needs review to determine how to handle it */
-
-/* Error if SetNamedSecurityInfo used: Function needs review to determine how to handle it */
-
-/* Error if BuildImpersonateExplicitAccessWithName used: Function needs review to determine how to handle it */
-
-/* Error if BuildImpersonateTrustee used: Function needs review to determine how to handle it */
-
-/* Error if GetMultipleTrustee used: Function needs review to determine how to handle it */
+/* Error if GetTrusteeForm used: Function needs review to determine how to handle it */
 
 /* Error if GetMultipleTrusteeOperation used: Function needs review to determine how to handle it */
 
-
-/*----------------------------------------------------------------------*/
-/*                      Processing file MMSYSTEM.H                      */
-/*----------------------------------------------------------------------*/
-
-BOOL
-qxesndPlaySound (const Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return sndPlaySoundW ((LPCWSTR) arg1, arg2);
-  else
-    return sndPlaySoundA ((LPCSTR) arg1, arg2);
-}
-
-BOOL
-qxePlaySound (const Extbyte * arg1, HMODULE arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return PlaySoundW ((LPCWSTR) arg1, arg2, arg3);
-  else
-    return PlaySoundA ((LPCSTR) arg1, arg2, arg3);
-}
-
-/* Error if waveOutGetDevCaps used: split-sized LPWAVEOUTCAPS */
-
-MMRESULT
-qxewaveOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return waveOutGetErrorTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return waveOutGetErrorTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* Error if waveInGetDevCaps used: split-sized LPWAVEINCAPS */
-
-MMRESULT
-qxewaveInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return waveInGetErrorTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return waveInGetErrorTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* Error if midiOutGetDevCaps used: split-sized LPMIDIOUTCAPS */
-
-MMRESULT
-qxemidiOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return midiOutGetErrorTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return midiOutGetErrorTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* Error if midiInGetDevCaps used: split-sized LPMIDIOUTCAPS */
-
-MMRESULT
-qxemidiInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return midiInGetErrorTextW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return midiInGetErrorTextA (arg1, (LPSTR) arg2, arg3);
-}
-
-/* Error if auxGetDevCaps used: split-sized LPAUXCAPS */
-
-/* Error if mixerGetDevCaps used: split-sized LPMIXERCAPS */
-
-/* Error if mixerGetLineInfo used: split-sized LPMIXERLINE */
-
-/* Error if mixerGetLineControls used: split-sized LPMIXERCONTROL */
-
-/* Error if mixerGetControlDetails used: split-sized LPMIXERCONTROL in LPMIXERLINECONTROLS in LPMIXERCONTROLDETAILS */
-
-/* Error if joyGetDevCaps used: split-sized LPJOYCAPS */
-
-FOURCC
-qxemmioStringToFOURCC (const Extbyte * arg1, UINT arg2)
-{
-  if (XEUNICODE_P)
-    return mmioStringToFOURCCW ((LPCWSTR) arg1, arg2);
-  else
-    return mmioStringToFOURCCA ((LPCSTR) arg1, arg2);
-}
-
-LPMMIOPROC
-qxemmioInstallIOProc (FOURCC arg1, LPMMIOPROC arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return mmioInstallIOProcW (arg1, arg2, arg3);
-  else
-    return mmioInstallIOProcA (arg1, arg2, arg3);
-}
-
-HMMIO
-qxemmioOpen (Extbyte * arg1, LPMMIOINFO arg2, DWORD arg3)
-{
-  if (XEUNICODE_P)
-    return mmioOpenW ((LPWSTR) arg1, arg2, arg3);
-  else
-    return mmioOpenA ((LPSTR) arg1, arg2, arg3);
-}
-
-MMRESULT
-qxemmioRename (const Extbyte * arg1, const Extbyte * arg2, LPCMMIOINFO arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return mmioRenameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4);
-  else
-    return mmioRenameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4);
-}
-
-MCIERROR
-qxemciSendCommand (MCIDEVICEID arg1, UINT arg2, DWORD arg3, DWORD arg4)
-{
-  if (XEUNICODE_P)
-    return mciSendCommandW (arg1, arg2, arg3, arg4);
-  else
-    return mciSendCommandA (arg1, arg2, arg3, arg4);
-}
-
-MCIERROR
-qxemciSendString (const Extbyte * arg1, Extbyte * arg2, UINT arg3, HWND arg4)
-{
-  if (XEUNICODE_P)
-    return mciSendStringW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4);
-  else
-    return mciSendStringA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4);
-}
-
-MCIDEVICEID
-qxemciGetDeviceID (const Extbyte * arg1)
-{
-  if (XEUNICODE_P)
-    return mciGetDeviceIDW ((LPCWSTR) arg1);
-  else
-    return mciGetDeviceIDA ((LPCSTR) arg1);
-}
-
-#if !defined (MINGW)
-
-/* Error if mciGetDeviceIDFromElementID used: missing from Win98se version of ADVAPI32.dll */
-
-#endif /* !defined (MINGW) */
-
-BOOL
-qxemciGetErrorString (MCIERROR arg1, Extbyte * arg2, UINT arg3)
-{
-  if (XEUNICODE_P)
-    return mciGetErrorStringW (arg1, (LPWSTR) arg2, arg3);
-  else
-    return mciGetErrorStringA (arg1, (LPSTR) arg2, arg3);
-}
-
+/* Error if GetMultipleTrustee used: Function needs review to determine how to handle it */
+
+/* Error if TreeSetNamedSecurityInfo used: HST: new? -- needs review */
+
--- a/src/intl-auto-encap-win32.h	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/intl-auto-encap-win32.h	Mon Apr 21 11:42:50 2014 +0100
@@ -3,94 +3,34 @@
 */
 
 
-/* Processing file WINCON.H */
-
-#undef FillConsoleOutputCharacter
-#define FillConsoleOutputCharacter error_split_CHAR
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetConsoleTitle
-#define GetConsoleTitle error_use_qxeGetConsoleTitle_or_GetConsoleTitleA_and_GetConsoleTitleW
-#endif
-DWORD qxeGetConsoleTitle (Extbyte * arg1, DWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PeekConsoleInput
-#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW
-#endif
-BOOL qxePeekConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadConsole
-#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW
-#endif
-BOOL qxeReadConsole (HANDLE arg1, PVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadConsoleInput
-#define ReadConsoleInput error_use_qxeReadConsoleInput_or_ReadConsoleInputA_and_ReadConsoleInputW
-#endif
-BOOL qxeReadConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadConsoleOutputCharacter
-#define ReadConsoleOutputCharacter error_use_qxeReadConsoleOutputCharacter_or_ReadConsoleOutputCharacterA_and_ReadConsoleOutputCharacterW
-#endif
-BOOL qxeReadConsoleOutputCharacter (HANDLE arg1, Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadConsoleOutput
-#define ReadConsoleOutput error_use_qxeReadConsoleOutput_or_ReadConsoleOutputA_and_ReadConsoleOutputW
-#endif
-BOOL qxeReadConsoleOutput (HANDLE arg1, PCHAR_INFO arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ScrollConsoleScreenBuffer
-#define ScrollConsoleScreenBuffer error_use_qxeScrollConsoleScreenBuffer_or_ScrollConsoleScreenBufferA_and_ScrollConsoleScreenBufferW
-#endif
-BOOL qxeScrollConsoleScreenBuffer (HANDLE arg1, const SMALL_RECT* arg2, const SMALL_RECT* arg3, COORD arg4, const CHAR_INFO* arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetConsoleTitle
-#define SetConsoleTitle error_use_qxeSetConsoleTitle_or_SetConsoleTitleA_and_SetConsoleTitleW
-#endif
-BOOL qxeSetConsoleTitle (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteConsole
-#define WriteConsole error_use_qxeWriteConsole_or_WriteConsoleA_and_WriteConsoleW
-#endif
-BOOL qxeWriteConsole (HANDLE arg1, PCVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteConsoleInput
-#define WriteConsoleInput error_use_qxeWriteConsoleInput_or_WriteConsoleInputA_and_WriteConsoleInputW
-#endif
-BOOL qxeWriteConsoleInput (HANDLE arg1, const INPUT_RECORD* arg2, DWORD arg3, PDWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteConsoleOutput
-#define WriteConsoleOutput error_use_qxeWriteConsoleOutput_or_WriteConsoleOutputA_and_WriteConsoleOutputW
-#endif
-BOOL qxeWriteConsoleOutput (HANDLE arg1, const CHAR_INFO* arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteConsoleOutputCharacter
-#define WriteConsoleOutputCharacter error_use_qxeWriteConsoleOutputCharacter_or_WriteConsoleOutputCharacterA_and_WriteConsoleOutputCharacterW
-#endif
-BOOL qxeWriteConsoleOutputCharacter (HANDLE arg1, const Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5);
-
-
 /* Processing file SHELLAPI.H */
 
-#undef CommandLineToArgv
-#define CommandLineToArgv error_Unicode_only
-
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef DragQueryFile
 #define DragQueryFile error_use_qxeDragQueryFile_or_DragQueryFileA_and_DragQueryFileW
 #endif
-UINT qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4);
+UINT qxeDragQueryFile (HDROP hDrop, UINT iFile, Extbyte * lpszFile, UINT cch);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ShellExecute
+#define ShellExecute error_use_qxeShellExecute_or_ShellExecuteA_and_ShellExecuteW
+#endif
+HINSTANCE qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindExecutable
+#define FindExecutable error_use_qxeFindExecutable_or_FindExecutableA_and_FindExecutableW
+#endif
+HINSTANCE qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult);
+
+#undef CommandLineToArgv
+#define CommandLineToArgv error_Unicode_only
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ShellAbout
+#define ShellAbout error_use_qxeShellAbout_or_ShellAboutA_and_ShellAboutW
+#endif
+INT qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef ExtractAssociatedIcon
@@ -98,59 +38,50 @@
 #endif
 HICON qxeExtractAssociatedIcon (HINSTANCE arg1, Extbyte * arg2, LPWORD arg3);
 
+#undef ExtractAssociatedIconEx
+#define ExtractAssociatedIconEx error_HST__new_____needs_review
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef ExtractIcon
 #define ExtractIcon error_use_qxeExtractIcon_or_ExtractIconA_and_ExtractIconW
 #endif
-HICON qxeExtractIcon (HINSTANCE arg1, const Extbyte * arg2, UINT arg3);
+HICON qxeExtractIcon (HINSTANCE hInst, const Extbyte * pszExeFileName, UINT nIconIndex);
+
+#if !defined (CYGWIN_HEADERS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DoEnvironmentSubst
+#define DoEnvironmentSubst error_use_qxeDoEnvironmentSubst_or_DoEnvironmentSubstA_and_DoEnvironmentSubstW
+#endif
+DWORD qxeDoEnvironmentSubst (Extbyte * pszSrc, UINT cchSrc);
+#endif /* !defined (CYGWIN_HEADERS) */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef ExtractIconEx
 #define ExtractIconEx error_use_qxeExtractIconEx_or_ExtractIconExA_and_ExtractIconExW
 #endif
-UINT qxeExtractIconEx (const Extbyte * arg1, int arg2, HICON* arg3, HICON* arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindExecutable
-#define FindExecutable error_use_qxeFindExecutable_or_FindExecutableA_and_FindExecutableW
-#endif
-HINSTANCE qxeFindExecutable (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3);
-
-#undef Shell_NotifyIcon
-#define Shell_NotifyIcon error_split_sized_NOTIFYICONDATA__NT_4_0__only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ShellAbout
-#define ShellAbout error_use_qxeShellAbout_or_ShellAboutA_and_ShellAboutW
-#endif
-int qxeShellAbout (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, HICON arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ShellExecute
-#define ShellExecute error_use_qxeShellExecute_or_ShellExecuteA_and_ShellExecuteW
-#endif
-HINSTANCE qxeShellExecute (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4, const Extbyte * arg5, INT arg6);
+UINT qxeExtractIconEx (const Extbyte * lpszFile, int nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SHFileOperation
+#define SHFileOperation error_use_qxeSHFileOperation_or_SHFileOperationA_and_SHFileOperationW
+#endif
+int qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef ShellExecuteEx
 #define ShellExecuteEx error_use_qxeShellExecuteEx_or_ShellExecuteExA_and_ShellExecuteExW
 #endif
-BOOL qxeShellExecuteEx (LPSHELLEXECUTEINFOW arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SHFileOperation
-#define SHFileOperation error_use_qxeSHFileOperation_or_SHFileOperationA_and_SHFileOperationW
-#endif
-int qxeSHFileOperation (LPSHFILEOPSTRUCTW arg1);
-
-/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
+WINBOOL qxeShellExecuteEx (SHELLEXECUTEINFOW * pExecInfo);
+
+#undef SHCreateProcessAsUser
+#define SHCreateProcessAsUser error_HST__new_____needs_review
 
 #if !defined (CYGWIN_HEADERS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef SHQueryRecycleBin
 #define SHQueryRecycleBin error_use_qxeSHQueryRecycleBin_or_SHQueryRecycleBinA_and_SHQueryRecycleBinW
 #endif
-HRESULT qxeSHQueryRecycleBin (const Extbyte * arg1, LPSHQUERYRBINFO arg2);
+HRESULT qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
 #endif /* !defined (CYGWIN_HEADERS) */
 
 #if !defined (CYGWIN_HEADERS)
@@ -158,30 +89,78 @@
 #undef SHEmptyRecycleBin
 #define SHEmptyRecycleBin error_use_qxeSHEmptyRecycleBin_or_SHEmptyRecycleBinA_and_SHEmptyRecycleBinW
 #endif
-HRESULT qxeSHEmptyRecycleBin (HWND arg1, const Extbyte * arg2, DWORD arg3);
+HRESULT qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags);
+#endif /* !defined (CYGWIN_HEADERS) */
+
+#undef Shell_NotifyIcon
+#define Shell_NotifyIcon error_split_sized_NOTIFYICONDATA__NT_4_0__only
+
+/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
+
+#undef SHGetDiskFreeSpaceEx
+#define SHGetDiskFreeSpaceEx error_HST__new_____needs_review
+
+#if !defined (CYGWIN_HEADERS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SHGetNewLinkInfo
+#define SHGetNewLinkInfo error_use_qxeSHGetNewLinkInfo_or_SHGetNewLinkInfoA_and_SHGetNewLinkInfoW
+#endif
+WINBOOL qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, WINBOOL * pfMustCopy, UINT uFlags);
 #endif /* !defined (CYGWIN_HEADERS) */
 
+#if !defined (CYGWIN_HEADERS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SHInvokePrinterCommand
+#define SHInvokePrinterCommand error_use_qxeSHInvokePrinterCommand_or_SHInvokePrinterCommandA_and_SHInvokePrinterCommandW
+#endif
+WINBOOL qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, WINBOOL fModal);
+#endif /* !defined (CYGWIN_HEADERS) */
+
+#undef IsLFNDrive
+#define IsLFNDrive error_HST__new_____needs_review
+
+#undef SHEnumerateUnreadMailAccounts
+#define SHEnumerateUnreadMailAccounts error_HST__new_____needs_review
+
+#undef SHGetUnreadMailCount
+#define SHGetUnreadMailCount error_HST__new_____needs_review
+
+#undef SHSetUnreadMailCount
+#define SHSetUnreadMailCount error_HST__new_____needs_review
+
 
 /* Processing file WINSPOOL.H */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddForm
-#define AddForm error_not_used__complicated_interface_with_split_structures
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumPrinters
+#define EnumPrinters error_use_qxeEnumPrinters_or_EnumPrintersA_and_EnumPrintersW
+#endif
+WINBOOL qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddJob
-#define AddJob error_not_used__complicated_interface_with_split_structures
+#undef ResetPrinter
+#define ResetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_DEFAULTS
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddMonitor
-#define AddMonitor error_not_used__complicated_interface_with_split_structures
+#undef SetJob
+#define SetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddPort
-#define AddPort error_not_used__complicated_interface_with_split_structures
+#undef GetJob
+#define GetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumJobs
+#define EnumJobs error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -190,8 +169,13 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddPrinterConnection
-#define AddPrinterConnection error_not_used__complicated_interface_with_split_structures
+#undef SetPrinter
+#define SetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetPrinter
+#define GetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -200,92 +184,8 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef AddPrintProcessor
-#define AddPrintProcessor error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef AddPrintProvidor
-#define AddPrintProvidor error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef AdvancedDocumentProperties
-#define AdvancedDocumentProperties error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef ConfigurePort
-#define ConfigurePort error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeleteForm
-#define DeleteForm error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeleteMonitor
-#define DeleteMonitor error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePort
-#define DeletePort error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePrinterConnection
-#define DeletePrinterConnection error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePrinterData
-#define DeletePrinterData error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePrinterDriver
-#define DeletePrinterDriver error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePrintProcessor
-#define DeletePrintProcessor error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef DeletePrintProvidor
-#define DeletePrintProvidor error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumForms
-#define EnumForms error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumJobs
-#define EnumJobs error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumMonitors
-#define EnumMonitors error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumPorts
-#define EnumPorts error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumPrinterData
-#define EnumPrinterData error_not_used__complicated_interface_with_split_structures
+#undef AddPrinterDriverEx
+#define AddPrinterDriverEx error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -294,49 +194,6 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumPrinters
-#define EnumPrinters error_use_qxeEnumPrinters_or_EnumPrintersA_and_EnumPrintersW
-#endif
-BOOL qxeEnumPrinters (DWORD arg1, Extbyte * arg2, DWORD arg3, PBYTE arg4, DWORD arg5, PDWORD arg6, PDWORD arg7);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumPrintProcessorDatatypes
-#define EnumPrintProcessorDatatypes error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumPrintProcessors
-#define EnumPrintProcessors error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetDefaultPrinter
-#define GetDefaultPrinter error_Function_needs_review_to_determine_how_to_handle_it
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetForm
-#define GetForm error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetJob
-#define GetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetPrinter
-#define GetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetPrinterData
-#define GetPrinterData error_not_used__complicated_interface_with_split_structures
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 #undef GetPrinterDriver
 #define GetPrinterDriver error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
@@ -347,37 +204,82 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
+#undef DeletePrinterDriver
+#define DeletePrinterDriver error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeletePrinterDriverEx
+#define DeletePrinterDriverEx error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef AddPrintProcessor
+#define AddPrintProcessor error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumPrintProcessors
+#define EnumPrintProcessors error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
 #undef GetPrintProcessorDirectory
 #define GetPrintProcessorDirectory error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
+#undef EnumPrintProcessorDatatypes
+#define EnumPrintProcessorDatatypes error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeletePrintProcessor
+#define DeletePrintProcessor error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef PrinterMessageBox
-#define PrinterMessageBox error_not_used__complicated_interface_with_split_structures
+#undef StartDocPrinter
+#define StartDocPrinter error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef AddJob
+#define AddJob error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef ResetPrinter
-#define ResetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_DEFAULTS
+#undef AdvancedDocumentProperties
+#define AdvancedDocumentProperties error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetPrinterData
+#define GetPrinterData error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef SetForm
-#define SetForm error_not_used__complicated_interface_with_split_structures
+#undef GetPrinterDataEx
+#define GetPrinterDataEx error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef SetJob
-#define SetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2
+#undef EnumPrinterData
+#define EnumPrinterData error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef SetPrinter
-#define SetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2
+#undef EnumPrinterDataEx
+#define EnumPrinterDataEx error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumPrinterKey
+#define EnumPrinterKey error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -386,189 +288,830 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef StartDocPrinter
-#define StartDocPrinter error_not_used__complicated_interface_with_split_structures
+#undef SetPrinterDataEx
+#define SetPrinterDataEx error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
-
-/* Processing file WINNETWK.H */
-
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetAddConnection
-#define WNetAddConnection error_use_qxeWNetAddConnection_or_WNetAddConnectionA_and_WNetAddConnectionW
-#endif
-DWORD  qxeWNetAddConnection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3);
+#undef DeletePrinterData
+#define DeletePrinterData error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeletePrinterDataEx
+#define DeletePrinterDataEx error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetAddConnection2
-#define WNetAddConnection2 error_use_qxeWNetAddConnection2_or_WNetAddConnection2A_and_WNetAddConnection2W
-#endif
-DWORD  qxeWNetAddConnection2 (LPNETRESOURCEW arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4);
+#undef DeletePrinterKey
+#define DeletePrinterKey error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetAddConnection3
-#define WNetAddConnection3 error_use_qxeWNetAddConnection3_or_WNetAddConnection3A_and_WNetAddConnection3W
-#endif
-DWORD  qxeWNetAddConnection3 (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5);
+#undef PrinterMessageBox
+#define PrinterMessageBox error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef AddForm
+#define AddForm error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeleteForm
+#define DeleteForm error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetCancelConnection
-#define WNetCancelConnection error_use_qxeWNetCancelConnection_or_WNetCancelConnectionA_and_WNetCancelConnectionW
-#endif
-DWORD  qxeWNetCancelConnection (const Extbyte * arg1, BOOL arg2);
+#undef GetForm
+#define GetForm error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetCancelConnection2
-#define WNetCancelConnection2 error_use_qxeWNetCancelConnection2_or_WNetCancelConnection2A_and_WNetCancelConnection2W
-#endif
-DWORD  qxeWNetCancelConnection2 (const Extbyte * arg1, DWORD arg2, BOOL arg3);
+#undef SetForm
+#define SetForm error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumForms
+#define EnumForms error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumMonitors
+#define EnumMonitors error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetConnection
-#define WNetGetConnection error_use_qxeWNetGetConnection_or_WNetGetConnectionA_and_WNetGetConnectionW
-#endif
-DWORD  qxeWNetGetConnection (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3);
+#undef AddMonitor
+#define AddMonitor error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeleteMonitor
+#define DeleteMonitor error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetUseConnection
-#define WNetUseConnection error_use_qxeWNetUseConnection_or_WNetUseConnectionA_and_WNetUseConnectionW
-#endif
-DWORD  qxeWNetUseConnection (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5, Extbyte * arg6, PDWORD arg7, PDWORD arg8);
+#undef EnumPorts
+#define EnumPorts error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef WNetSetConnection
-#define WNetSetConnection error_Function_needs_review_to_determine_how_to_handle_it
+#undef AddPort
+#define AddPort error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetConnectionDialog1
-#define WNetConnectionDialog1 error_use_qxeWNetConnectionDialog1_or_WNetConnectionDialog1A_and_WNetConnectionDialog1W
-#endif
-DWORD  qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW arg1);
+#undef ConfigurePort
+#define ConfigurePort error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetDisconnectDialog1
-#define WNetDisconnectDialog1 error_use_qxeWNetDisconnectDialog1_or_WNetDisconnectDialog1A_and_WNetDisconnectDialog1W
-#endif
-DWORD  qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW arg1);
+#undef DeletePort
+#define DeletePort error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetOpenEnum
-#define WNetOpenEnum error_use_qxeWNetOpenEnum_or_WNetOpenEnumA_and_WNetOpenEnumW
-#endif
-DWORD  qxeWNetOpenEnum (DWORD arg1, DWORD arg2, DWORD arg3, LPNETRESOURCEW arg4, LPHANDLE arg5);
+#undef XcvData
+#define XcvData error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetDefaultPrinter
+#define GetDefaultPrinter error_Function_needs_review_to_determine_how_to_handle_it
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetEnumResource
-#define WNetEnumResource error_use_qxeWNetEnumResource_or_WNetEnumResourceA_and_WNetEnumResourceW
-#endif
-DWORD  qxeWNetEnumResource (HANDLE arg1, PDWORD arg2, PVOID arg3, PDWORD arg4);
+#undef SetDefaultPrinter
+#define SetDefaultPrinter error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef SetPort
+#define SetPort error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetUniversalName
-#define WNetGetUniversalName error_use_qxeWNetGetUniversalName_or_WNetGetUniversalNameA_and_WNetGetUniversalNameW
-#endif
-DWORD  qxeWNetGetUniversalName (const Extbyte * arg1, DWORD arg2, PVOID arg3, PDWORD arg4);
+#undef AddPrinterConnection
+#define AddPrinterConnection error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetUser
-#define WNetGetUser error_use_qxeWNetGetUser_or_WNetGetUserA_and_WNetGetUserW
-#endif
-DWORD  qxeWNetGetUser (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3);
+#undef DeletePrinterConnection
+#define DeletePrinterConnection error_not_used__complicated_interface_with_split_structures
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef AddPrintProvidor
+#define AddPrintProvidor error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetProviderName
-#define WNetGetProviderName error_use_qxeWNetGetProviderName_or_WNetGetProviderNameA_and_WNetGetProviderNameW
-#endif
-DWORD  qxeWNetGetProviderName (DWORD arg1, Extbyte * arg2, PDWORD arg3);
+#undef DeletePrintProvidor
+#define DeletePrintProvidor error_not_used__complicated_interface_with_split_structures
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetNetworkInformation
-#define WNetGetNetworkInformation error_use_qxeWNetGetNetworkInformation_or_WNetGetNetworkInformationA_and_WNetGetNetworkInformationW
-#endif
-DWORD  qxeWNetGetNetworkInformation (const Extbyte * arg1, LPNETINFOSTRUCT arg2);
+#undef AddPrinterConnection2
+#define AddPrinterConnection2 error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DeletePrinterDriverPackage
+#define DeletePrinterDriverPackage error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef DocumentEvent
+#define DocumentEvent error_HST__new_____needs_review
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef WNetGetResourceInformation
-#define WNetGetResourceInformation error_Function_needs_review_to_determine_how_to_handle_it
+#undef GetCorePrinterDrivers
+#define GetCorePrinterDrivers error_HST__new_____needs_review
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#undef WNetGetResourceParent
-#define WNetGetResourceParent error_Function_needs_review_to_determine_how_to_handle_it
+#undef GetPrinterDriver2
+#define GetPrinterDriver2 error_HST__new_____needs_review
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WNetGetLastError
-#define WNetGetLastError error_use_qxeWNetGetLastError_or_WNetGetLastErrorA_and_WNetGetLastErrorW
-#endif
-DWORD  qxeWNetGetLastError (PDWORD arg1, Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5);
+#undef GetPrinterDriverPackagePath
+#define GetPrinterDriverPackagePath error_HST__new_____needs_review
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MultinetGetConnectionPerformance
-#define MultinetGetConnectionPerformance error_use_qxeMultinetGetConnectionPerformance_or_MultinetGetConnectionPerformanceA_and_MultinetGetConnectionPerformanceW
-#endif
-DWORD  qxeMultinetGetConnectionPerformance (LPNETRESOURCEW arg1, LPNETCONNECTINFOSTRUCT arg2);
+#undef GetSpoolFileHandle
+#define GetSpoolFileHandle error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef OpenPrinter2
+#define OpenPrinter2 error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef UploadPrinterDriverPackage
+#define UploadPrinterDriverPackage error_HST__new_____needs_review
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 
 /* Processing file WINUSER.H */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AppendMenu
-#define AppendMenu error_use_qxeAppendMenu_or_AppendMenuA_and_AppendMenuW
-#endif
-BOOL qxeAppendMenu (HMENU arg1, UINT arg2, UINT_PTR arg3, const Extbyte * arg4);
+#undef wvsprintf
+#define wvsprintf error_use_qxewvsprintf_or_wvsprintfA_and_wvsprintfW
+#endif
+int qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadKeyboardLayout
+#define LoadKeyboardLayout error_use_qxeLoadKeyboardLayout_or_LoadKeyboardLayoutA_and_LoadKeyboardLayoutW
+#endif
+HKL qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetKeyboardLayoutName
+#define GetKeyboardLayoutName error_use_qxeGetKeyboardLayoutName_or_GetKeyboardLayoutNameA_and_GetKeyboardLayoutNameW
+#endif
+WINBOOL qxeGetKeyboardLayoutName (Extbyte * pwszKLID);
+
+#undef CreateDesktop
+#define CreateDesktop error_split_sized_LPDEVMODE
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenDesktop
+#define OpenDesktop error_use_qxeOpenDesktop_or_OpenDesktopA_and_OpenDesktopW
+#endif
+HDESK qxeOpenDesktop (const Extbyte * lpszDesktop, DWORD dwFlags, WINBOOL fInherit, ACCESS_MASK dwDesiredAccess);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumDesktops
+#define EnumDesktops error_use_qxeEnumDesktops_or_EnumDesktopsA_and_EnumDesktopsW
+#endif
+WINBOOL qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateWindowStation
+#define CreateWindowStation error_use_qxeCreateWindowStation_or_CreateWindowStationA_and_CreateWindowStationW
+#endif
+HWINSTA qxeCreateWindowStation (Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenWindowStation
+#define OpenWindowStation error_use_qxeOpenWindowStation_or_OpenWindowStationA_and_OpenWindowStationW
+#endif
+HWINSTA qxeOpenWindowStation (const Extbyte * lpszWinSta, WINBOOL fInherit, ACCESS_MASK dwDesiredAccess);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumWindowStations
+#define EnumWindowStations error_use_qxeEnumWindowStations_or_EnumWindowStationsA_and_EnumWindowStationsW
+#endif
+WINBOOL qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetUserObjectInformation
+#define GetUserObjectInformation error_use_qxeGetUserObjectInformation_or_GetUserObjectInformationA_and_GetUserObjectInformationW
+#endif
+WINBOOL qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetUserObjectInformation
+#define SetUserObjectInformation error_use_qxeSetUserObjectInformation_or_SetUserObjectInformationA_and_SetUserObjectInformationW
+#endif
+WINBOOL qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegisterWindowMessage
+#define RegisterWindowMessage error_use_qxeRegisterWindowMessage_or_RegisterWindowMessageA_and_RegisterWindowMessageW
+#endif
+UINT qxeRegisterWindowMessage (const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetMessage
+#define GetMessage error_use_qxeGetMessage_or_GetMessageA_and_GetMessageW
+#endif
+WINBOOL qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DispatchMessage
+#define DispatchMessage error_use_qxeDispatchMessage_or_DispatchMessageA_and_DispatchMessageW
+#endif
+LRESULT qxeDispatchMessage (CONST MSG * lpMsg);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PeekMessage
+#define PeekMessage error_use_qxePeekMessage_or_PeekMessageA_and_PeekMessageW
+#endif
+WINBOOL qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg);
+
+/* Skipping SendMessage because split messages and structures */
+
+#undef SendMessageTimeout
+#define SendMessageTimeout error_VS6_has_erroneous_seventh_parameter_DWORD_PTR_instead_of_PDWORD_PTR
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SendNotifyMessage
+#define SendNotifyMessage error_use_qxeSendNotifyMessage_or_SendNotifyMessageA_and_SendNotifyMessageW
+#endif
+WINBOOL qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SendMessageCallback
+#define SendMessageCallback error_use_qxeSendMessageCallback_or_SendMessageCallbackA_and_SendMessageCallbackW
+#endif
+WINBOOL qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, ULONG_PTR dwData);
+
+#undef BroadcastSystemMessageEx
+#define BroadcastSystemMessageEx error_Function_needs_review_to_determine_how_to_handle_it
 
 #undef BroadcastSystemMessage
 #define BroadcastSystemMessage error_win95_version_not_split__NT_4_0__only
 
-#undef BroadcastSystemMessageEx
-#define BroadcastSystemMessageEx error_Function_needs_review_to_determine_how_to_handle_it
+#undef RegisterDeviceNotification
+#define RegisterDeviceNotification error_NT_5_0__only
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PostMessage
+#define PostMessage error_use_qxePostMessage_or_PostMessageA_and_PostMessageW
+#endif
+WINBOOL qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PostThreadMessage
+#define PostThreadMessage error_use_qxePostThreadMessage_or_PostThreadMessageA_and_PostThreadMessageW
+#endif
+WINBOOL qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam);
+
+/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */
+
+#undef CallWindowProc
+#define CallWindowProc error_two_versions__STRICT_and_non_STRICT
+
+/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
+
+/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetClassInfo
+#define GetClassInfo error_use_qxeGetClassInfo_or_GetClassInfoA_and_GetClassInfoW
+#endif
+WINBOOL qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass);
+
+/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetClassInfoEx
+#define GetClassInfoEx error_use_qxeGetClassInfoEx_or_GetClassInfoExA_and_GetClassInfoExW
+#endif
+WINBOOL qxeGetClassInfoEx (HINSTANCE hInstance, const Extbyte * lpszClass, LPWNDCLASSEXW lpwcx);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateWindowEx
+#define CreateWindowEx error_use_qxeCreateWindowEx_or_CreateWindowExA_and_CreateWindowExW
+#endif
+HWND qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateDialogParam
+#define CreateDialogParam error_use_qxeCreateDialogParam_or_CreateDialogParamA_and_CreateDialogParamW
+#endif
+HWND qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateDialogIndirectParam
+#define CreateDialogIndirectParam error_use_qxeCreateDialogIndirectParam_or_CreateDialogIndirectParamA_and_CreateDialogIndirectParamW
+#endif
+HWND qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DialogBoxParam
+#define DialogBoxParam error_use_qxeDialogBoxParam_or_DialogBoxParamA_and_DialogBoxParamW
+#endif
+INT_PTR qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DialogBoxIndirectParam
+#define DialogBoxIndirectParam error_use_qxeDialogBoxIndirectParam_or_DialogBoxIndirectParamA_and_DialogBoxIndirectParamW
+#endif
+INT_PTR qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetDlgItemText
+#define SetDlgItemText error_use_qxeSetDlgItemText_or_SetDlgItemTextA_and_SetDlgItemTextW
+#endif
+WINBOOL qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetDlgItemText
+#define GetDlgItemText error_use_qxeGetDlgItemText_or_GetDlgItemTextA_and_GetDlgItemTextW
+#endif
+UINT qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int cchMax);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SendDlgItemMessage
+#define SendDlgItemMessage error_use_qxeSendDlgItemMessage_or_SendDlgItemMessageA_and_SendDlgItemMessageW
+#endif
+LRESULT qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam);
+
+#undef DefDlgProc
+#define DefDlgProc error_return_value_is_conditionalized_on__MAC__messes_up_parser
 
 #if !defined (CYGWIN_HEADERS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef CallMsgFilter
 #define CallMsgFilter error_use_qxeCallMsgFilter_or_CallMsgFilterA_and_CallMsgFilterW
 #endif
-BOOL qxeCallMsgFilter (LPMSG arg1, INT arg2);
+WINBOOL qxeCallMsgFilter (LPMSG lpMsg, int nCode);
 #endif /* !defined (CYGWIN_HEADERS) */
 
-#undef CallWindowProc
-#define CallWindowProc error_two_versions__STRICT_and_non_STRICT
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegisterClipboardFormat
+#define RegisterClipboardFormat error_use_qxeRegisterClipboardFormat_or_RegisterClipboardFormatA_and_RegisterClipboardFormatW
+#endif
+UINT qxeRegisterClipboardFormat (const Extbyte * lpszFormat);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetClipboardFormatName
+#define GetClipboardFormatName error_use_qxeGetClipboardFormatName_or_GetClipboardFormatNameA_and_GetClipboardFormatNameW
+#endif
+int qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharToOem
+#define CharToOem error_use_qxeCharToOem_or_CharToOemA_and_CharToOemW
+#endif
+WINBOOL qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OemToChar
+#define OemToChar error_use_qxeOemToChar_or_OemToCharA_and_OemToCharW
+#endif
+WINBOOL qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharToOemBuff
+#define CharToOemBuff error_use_qxeCharToOemBuff_or_CharToOemBuffA_and_CharToOemBuffW
+#endif
+WINBOOL qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OemToCharBuff
+#define OemToCharBuff error_use_qxeOemToCharBuff_or_OemToCharBuffA_and_OemToCharBuffW
+#endif
+WINBOOL qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharUpper
+#define CharUpper error_use_qxeCharUpper_or_CharUpperA_and_CharUpperW
+#endif
+Extbyte * qxeCharUpper (Extbyte * lpsz);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharUpperBuff
+#define CharUpperBuff error_use_qxeCharUpperBuff_or_CharUpperBuffA_and_CharUpperBuffW
+#endif
+DWORD qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharLower
+#define CharLower error_use_qxeCharLower_or_CharLowerA_and_CharLowerW
+#endif
+Extbyte * qxeCharLower (Extbyte * lpsz);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharLowerBuff
+#define CharLowerBuff error_use_qxeCharLowerBuff_or_CharLowerBuffA_and_CharLowerBuffW
+#endif
+DWORD qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharNext
+#define CharNext error_use_qxeCharNext_or_CharNextA_and_CharNextW
+#endif
+Extbyte * qxeCharNext (const Extbyte * lpsz);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CharPrev
+#define CharPrev error_use_qxeCharPrev_or_CharPrevA_and_CharPrevW
+#endif
+Extbyte * qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent);
+
+#undef IsCharAlpha
+#define IsCharAlpha error_split_CHAR
+
+#undef IsCharAlphaNumeric
+#define IsCharAlphaNumeric error_split_CHAR
+
+#undef IsCharUpper
+#define IsCharUpper error_split_CHAR
+
+#undef IsCharLower
+#define IsCharLower error_split_CHAR
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetKeyNameText
+#define GetKeyNameText error_use_qxeGetKeyNameText_or_GetKeyNameTextA_and_GetKeyNameTextW
+#endif
+int qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int cchSize);
+
+/* Skipping VkKeyScan because split CHAR */
+
+#undef VkKeyScanEx
+#define VkKeyScanEx error_split_CHAR__NT_4_0__only
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MapVirtualKey
+#define MapVirtualKey error_use_qxeMapVirtualKey_or_MapVirtualKeyA_and_MapVirtualKeyW
+#endif
+UINT qxeMapVirtualKey (UINT uCode, UINT uMapType);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MapVirtualKeyEx
+#define MapVirtualKeyEx error_use_qxeMapVirtualKeyEx_or_MapVirtualKeyExA_and_MapVirtualKeyExW
+#endif
+UINT qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadAccelerators
+#define LoadAccelerators error_use_qxeLoadAccelerators_or_LoadAcceleratorsA_and_LoadAcceleratorsW
+#endif
+HACCEL qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateAcceleratorTable
+#define CreateAcceleratorTable error_use_qxeCreateAcceleratorTable_or_CreateAcceleratorTableA_and_CreateAcceleratorTableW
+#endif
+HACCEL qxeCreateAcceleratorTable (LPACCEL paccel, int cAccel);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CopyAcceleratorTable
+#define CopyAcceleratorTable error_use_qxeCopyAcceleratorTable_or_CopyAcceleratorTableA_and_CopyAcceleratorTableW
+#endif
+int qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef TranslateAccelerator
+#define TranslateAccelerator error_use_qxeTranslateAccelerator_or_TranslateAcceleratorA_and_TranslateAcceleratorW
+#endif
+int qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadMenu
+#define LoadMenu error_use_qxeLoadMenu_or_LoadMenuA_and_LoadMenuW
+#endif
+HMENU qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadMenuIndirect
+#define LoadMenuIndirect error_use_qxeLoadMenuIndirect_or_LoadMenuIndirectA_and_LoadMenuIndirectW
+#endif
+HMENU qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ChangeMenu
+#define ChangeMenu error_use_qxeChangeMenu_or_ChangeMenuA_and_ChangeMenuW
+#endif
+WINBOOL qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetMenuString
+#define GetMenuString error_use_qxeGetMenuString_or_GetMenuStringA_and_GetMenuStringW
+#endif
+int qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int cchMax, UINT flags);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef InsertMenu
+#define InsertMenu error_use_qxeInsertMenu_or_InsertMenuA_and_InsertMenuW
+#endif
+WINBOOL qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AppendMenu
+#define AppendMenu error_use_qxeAppendMenu_or_AppendMenuA_and_AppendMenuW
+#endif
+WINBOOL qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ModifyMenu
+#define ModifyMenu error_use_qxeModifyMenu_or_ModifyMenuA_and_ModifyMenuW
+#endif
+WINBOOL qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const Extbyte * lpNewItem);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef InsertMenuItem
+#define InsertMenuItem error_use_qxeInsertMenuItem_or_InsertMenuItemA_and_InsertMenuItemW
+#endif
+WINBOOL qxeInsertMenuItem (HMENU hmenu, UINT item, WINBOOL fByPosition, LPCMENUITEMINFOW lpmi);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetMenuItemInfo
+#define GetMenuItemInfo error_use_qxeGetMenuItemInfo_or_GetMenuItemInfoA_and_GetMenuItemInfoW
+#endif
+WINBOOL qxeGetMenuItemInfo (HMENU hmenu, UINT item, WINBOOL fByPosition, LPMENUITEMINFOW lpmii);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetMenuItemInfo
+#define SetMenuItemInfo error_use_qxeSetMenuItemInfo_or_SetMenuItemInfoA_and_SetMenuItemInfoW
+#endif
+WINBOOL qxeSetMenuItemInfo (HMENU hmenu, UINT item, WINBOOL fByPositon, LPCMENUITEMINFOW lpmii);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DrawText
+#define DrawText error_use_qxeDrawText_or_DrawTextA_and_DrawTextW
+#endif
+int qxeDrawText (HDC hdc, const Extbyte * lpchText, int cchText, LPRECT lprc, UINT format);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DrawTextEx
+#define DrawTextEx error_use_qxeDrawTextEx_or_DrawTextExA_and_DrawTextExW
+#endif
+int qxeDrawTextEx (HDC hdc, Extbyte * lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GrayString
+#define GrayString error_use_qxeGrayString_or_GrayStringA_and_GrayStringW
+#endif
+WINBOOL qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DrawState
+#define DrawState error_use_qxeDrawState_or_DrawStateA_and_DrawStateW
+#endif
+WINBOOL qxeDrawState (HDC hdc, HBRUSH hbrFore, DRAWSTATEPROC qfnCallBack, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT uFlags);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef TabbedTextOut
+#define TabbedTextOut error_use_qxeTabbedTextOut_or_TabbedTextOutA_and_TabbedTextOutW
+#endif
+LONG qxeTabbedTextOut (HDC hdc, int x, int y, const Extbyte * lpString, int chCount, int nTabPositions, CONST INT * lpnTabStopPositions, int nTabOrigin);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTabbedTextExtent
+#define GetTabbedTextExtent error_use_qxeGetTabbedTextExtent_or_GetTabbedTextExtentA_and_GetTabbedTextExtentW
+#endif
+DWORD qxeGetTabbedTextExtent (HDC hdc, const Extbyte * lpString, int chCount, int nTabPositions, CONST INT * lpnTabStopPositions);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetProp
+#define SetProp error_use_qxeSetProp_or_SetPropA_and_SetPropW
+#endif
+WINBOOL qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetProp
+#define GetProp error_use_qxeGetProp_or_GetPropA_and_GetPropW
+#endif
+HANDLE qxeGetProp (HWND hWnd, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RemoveProp
+#define RemoveProp error_use_qxeRemoveProp_or_RemovePropA_and_RemovePropW
+#endif
+HANDLE qxeRemoveProp (HWND hWnd, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumPropsEx
+#define EnumPropsEx error_use_qxeEnumPropsEx_or_EnumPropsExA_and_EnumPropsExW
+#endif
+int qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumProps
+#define EnumProps error_use_qxeEnumProps_or_EnumPropsA_and_EnumPropsW
+#endif
+int qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetWindowText
+#define SetWindowText error_use_qxeSetWindowText_or_SetWindowTextA_and_SetWindowTextW
+#endif
+WINBOOL qxeSetWindowText (HWND hWnd, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetWindowText
+#define GetWindowText error_use_qxeGetWindowText_or_GetWindowTextA_and_GetWindowTextW
+#endif
+int qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetWindowTextLength
+#define GetWindowTextLength error_use_qxeGetWindowTextLength_or_GetWindowTextLengthA_and_GetWindowTextLengthW
+#endif
+int qxeGetWindowTextLength (HWND hWnd);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MessageBox
+#define MessageBox error_use_qxeMessageBox_or_MessageBoxA_and_MessageBoxW
+#endif
+int qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MessageBoxEx
+#define MessageBoxEx error_use_qxeMessageBoxEx_or_MessageBoxExA_and_MessageBoxExW
+#endif
+int qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId);
+
+#undef MessageBoxIndirect
+#define MessageBoxIndirect error_Cygwin_has_split_MSGBOXPARAMS__instead_of_LPMSGBOXPARAMS
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetWindowLong
+#define GetWindowLong error_use_qxeGetWindowLong_or_GetWindowLongA_and_GetWindowLongW
+#endif
+LONG qxeGetWindowLong (HWND hWnd, int nIndex);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetWindowLong
+#define SetWindowLong error_use_qxeSetWindowLong_or_SetWindowLongA_and_SetWindowLongW
+#endif
+LONG qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetWindowLongPtr
+#define GetWindowLongPtr error_use_qxeGetWindowLongPtr_or_GetWindowLongPtrA_and_GetWindowLongPtrW
+#endif
+LONG_PTR qxeGetWindowLongPtr (HWND hWnd, int nIndex);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetWindowLongPtr
+#define SetWindowLongPtr error_use_qxeSetWindowLongPtr_or_SetWindowLongPtrA_and_SetWindowLongPtrW
+#endif
+LONG_PTR qxeSetWindowLongPtr (HWND hWnd, int nIndex, LONG_PTR dwNewLong);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetClassLong
+#define GetClassLong error_use_qxeGetClassLong_or_GetClassLongA_and_GetClassLongW
+#endif
+DWORD qxeGetClassLong (HWND hWnd, int nIndex);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetClassLong
+#define SetClassLong error_use_qxeSetClassLong_or_SetClassLongA_and_SetClassLongW
+#endif
+DWORD qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong);
+
+#undef GetClassLongPtr
+#define GetClassLongPtr error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetClassLongPtr
+#define SetClassLongPtr error_use_qxeSetClassLongPtr_or_SetClassLongPtrA_and_SetClassLongPtrW
+#endif
+ULONG_PTR qxeSetClassLongPtr (HWND hWnd, int nIndex, LONG_PTR dwNewLong);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindWindow
+#define FindWindow error_use_qxeFindWindow_or_FindWindowA_and_FindWindowW
+#endif
+HWND qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindWindowEx
+#define FindWindowEx error_use_qxeFindWindowEx_or_FindWindowExA_and_FindWindowExW
+#endif
+HWND qxeFindWindowEx (HWND hWndParent, HWND hWndChildAfter, const Extbyte * lpszClass, const Extbyte * lpszWindow);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetClassName
+#define GetClassName error_use_qxeGetClassName_or_GetClassNameA_and_GetClassNameW
+#endif
+int qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount);
+
+#undef SetWindowsHook
+#define SetWindowsHook error_obsolete__two_versions__STRICT_and_non_STRICT
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetWindowsHookEx
+#define SetWindowsHookEx error_use_qxeSetWindowsHookEx_or_SetWindowsHookExA_and_SetWindowsHookExW
+#endif
+HHOOK qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadBitmap
+#define LoadBitmap error_use_qxeLoadBitmap_or_LoadBitmapA_and_LoadBitmapW
+#endif
+HBITMAP qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadCursor
+#define LoadCursor error_use_qxeLoadCursor_or_LoadCursorA_and_LoadCursorW
+#endif
+HCURSOR qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadCursorFromFile
+#define LoadCursorFromFile error_use_qxeLoadCursorFromFile_or_LoadCursorFromFileA_and_LoadCursorFromFileW
+#endif
+HCURSOR qxeLoadCursorFromFile (const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadIcon
+#define LoadIcon error_use_qxeLoadIcon_or_LoadIconA_and_LoadIconW
+#endif
+HICON qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName);
+
+#undef PrivateExtractIcons
+#define PrivateExtractIcons error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadImage
+#define LoadImage error_use_qxeLoadImage_or_LoadImageA_and_LoadImageW
+#endif
+HANDLE qxeLoadImage (HINSTANCE hInst, const Extbyte * name, UINT type, int cx, int cy, UINT fuLoad);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef IsDialogMessage
+#define IsDialogMessage error_use_qxeIsDialogMessage_or_IsDialogMessageA_and_IsDialogMessageW
+#endif
+WINBOOL qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DlgDirList
+#define DlgDirList error_use_qxeDlgDirList_or_DlgDirListA_and_DlgDirListW
+#endif
+int qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DlgDirSelectEx
+#define DlgDirSelectEx error_use_qxeDlgDirSelectEx_or_DlgDirSelectExA_and_DlgDirSelectExW
+#endif
+WINBOOL qxeDlgDirSelectEx (HWND hwndDlg, Extbyte * lpString, int chCount, int idListBox);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DlgDirListComboBox
+#define DlgDirListComboBox error_use_qxeDlgDirListComboBox_or_DlgDirListComboBoxA_and_DlgDirListComboBoxW
+#endif
+int qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DlgDirSelectComboBoxEx
+#define DlgDirSelectComboBoxEx error_use_qxeDlgDirSelectComboBoxEx_or_DlgDirSelectComboBoxExA_and_DlgDirSelectComboBoxExW
+#endif
+WINBOOL qxeDlgDirSelectComboBoxEx (HWND hwndDlg, Extbyte * lpString, int cchOut, int idComboBox);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DefFrameProc
+#define DefFrameProc error_use_qxeDefFrameProc_or_DefFrameProcA_and_DefFrameProcW
+#endif
+LRESULT qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+#undef DefMDIChildProc
+#define DefMDIChildProc error_return_value_is_conditionalized_on__MAC__messes_up_parser
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateMDIWindow
+#define CreateMDIWindow error_use_qxeCreateMDIWindow_or_CreateMDIWindowA_and_CreateMDIWindowW
+#endif
+HWND qxeCreateMDIWindow (Extbyte * arg1, Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WinHelp
+#define WinHelp error_use_qxeWinHelp_or_WinHelpA_and_WinHelpW
+#endif
+WINBOOL qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, ULONG_PTR dwData);
 
 #undef ChangeDisplaySettings
 #define ChangeDisplaySettings error_split_sized_LPDEVMODE
@@ -576,185 +1119,6 @@
 #undef ChangeDisplaySettingsEx
 #define ChangeDisplaySettingsEx error_split_sized_LPDEVMODE__NT_5_0_Win98__only
 
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ChangeMenu
-#define ChangeMenu error_use_qxeChangeMenu_or_ChangeMenuA_and_ChangeMenuW
-#endif
-BOOL qxeChangeMenu (HMENU arg1, UINT arg2, const Extbyte * arg3, UINT arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharLower
-#define CharLower error_use_qxeCharLower_or_CharLowerA_and_CharLowerW
-#endif
-Extbyte * qxeCharLower (Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharLowerBuff
-#define CharLowerBuff error_use_qxeCharLowerBuff_or_CharLowerBuffA_and_CharLowerBuffW
-#endif
-DWORD qxeCharLowerBuff (Extbyte * arg1, DWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharNext
-#define CharNext error_use_qxeCharNext_or_CharNextA_and_CharNextW
-#endif
-Extbyte * qxeCharNext (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharPrev
-#define CharPrev error_use_qxeCharPrev_or_CharPrevA_and_CharPrevW
-#endif
-Extbyte * qxeCharPrev (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharToOem
-#define CharToOem error_use_qxeCharToOem_or_CharToOemA_and_CharToOemW
-#endif
-BOOL qxeCharToOem (const Extbyte * arg1, LPSTR arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharToOemBuff
-#define CharToOemBuff error_use_qxeCharToOemBuff_or_CharToOemBuffA_and_CharToOemBuffW
-#endif
-BOOL qxeCharToOemBuff (const Extbyte * arg1, LPSTR arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharUpper
-#define CharUpper error_use_qxeCharUpper_or_CharUpperA_and_CharUpperW
-#endif
-Extbyte * qxeCharUpper (Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CharUpperBuff
-#define CharUpperBuff error_use_qxeCharUpperBuff_or_CharUpperBuffA_and_CharUpperBuffW
-#endif
-DWORD qxeCharUpperBuff (Extbyte * arg1, DWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CopyAcceleratorTable
-#define CopyAcceleratorTable error_use_qxeCopyAcceleratorTable_or_CopyAcceleratorTableA_and_CopyAcceleratorTableW
-#endif
-int qxeCopyAcceleratorTable (HACCEL arg1, LPACCEL arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateAcceleratorTable
-#define CreateAcceleratorTable error_use_qxeCreateAcceleratorTable_or_CreateAcceleratorTableA_and_CreateAcceleratorTableW
-#endif
-HACCEL qxeCreateAcceleratorTable (LPACCEL arg1, int arg2);
-
-#undef CreateDesktop
-#define CreateDesktop error_split_sized_LPDEVMODE
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateDialogIndirectParam
-#define CreateDialogIndirectParam error_use_qxeCreateDialogIndirectParam_or_CreateDialogIndirectParamA_and_CreateDialogIndirectParamW
-#endif
-HWND qxeCreateDialogIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateDialogParam
-#define CreateDialogParam error_use_qxeCreateDialogParam_or_CreateDialogParamA_and_CreateDialogParamW
-#endif
-HWND qxeCreateDialogParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateMDIWindow
-#define CreateMDIWindow error_use_qxeCreateMDIWindow_or_CreateMDIWindowA_and_CreateMDIWindowW
-#endif
-HWND qxeCreateMDIWindow (Extbyte * arg1, Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateWindowEx
-#define CreateWindowEx error_use_qxeCreateWindowEx_or_CreateWindowExA_and_CreateWindowExW
-#endif
-HWND qxeCreateWindowEx (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, int arg5, int arg6, int arg7, int arg8, HWND arg9, HMENU arg10, HINSTANCE arg11, LPVOID arg12);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateWindowStation
-#define CreateWindowStation error_use_qxeCreateWindowStation_or_CreateWindowStationA_and_CreateWindowStationW
-#endif
-HWINSTA qxeCreateWindowStation (Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4);
-
-#undef DefDlgProc
-#define DefDlgProc error_return_value_is_conditionalized_on__MAC__messes_up_parser
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DefFrameProc
-#define DefFrameProc error_use_qxeDefFrameProc_or_DefFrameProcA_and_DefFrameProcW
-#endif
-LRESULT qxeDefFrameProc (HWND arg1, HWND arg2, UINT arg3, WPARAM arg4, LPARAM arg5);
-
-#undef DefMDIChildProc
-#define DefMDIChildProc error_return_value_is_conditionalized_on__MAC__messes_up_parser
-
-/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DialogBoxIndirectParam
-#define DialogBoxIndirectParam error_use_qxeDialogBoxIndirectParam_or_DialogBoxIndirectParamA_and_DialogBoxIndirectParamW
-#endif
-int qxeDialogBoxIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DialogBoxParam
-#define DialogBoxParam error_use_qxeDialogBoxParam_or_DialogBoxParamA_and_DialogBoxParamW
-#endif
-int qxeDialogBoxParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DispatchMessage
-#define DispatchMessage error_use_qxeDispatchMessage_or_DispatchMessageA_and_DispatchMessageW
-#endif
-LONG qxeDispatchMessage (const MSG* arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DlgDirList
-#define DlgDirList error_use_qxeDlgDirList_or_DlgDirListA_and_DlgDirListW
-#endif
-int qxeDlgDirList (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DlgDirListComboBox
-#define DlgDirListComboBox error_use_qxeDlgDirListComboBox_or_DlgDirListComboBoxA_and_DlgDirListComboBoxW
-#endif
-int qxeDlgDirListComboBox (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DlgDirSelectComboBoxEx
-#define DlgDirSelectComboBoxEx error_use_qxeDlgDirSelectComboBoxEx_or_DlgDirSelectComboBoxExA_and_DlgDirSelectComboBoxExW
-#endif
-BOOL qxeDlgDirSelectComboBoxEx (HWND arg1, Extbyte * arg2, int arg3, int arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DlgDirSelectEx
-#define DlgDirSelectEx error_use_qxeDlgDirSelectEx_or_DlgDirSelectExA_and_DlgDirSelectExW
-#endif
-BOOL qxeDlgDirSelectEx (HWND arg1, Extbyte * arg2, int arg3, int arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DrawState
-#define DrawState error_use_qxeDrawState_or_DrawStateA_and_DrawStateW
-#endif
-BOOL qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DrawText
-#define DrawText error_use_qxeDrawText_or_DrawTextA_and_DrawTextW
-#endif
-int qxeDrawText (HDC arg1, const Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DrawTextEx
-#define DrawTextEx error_use_qxeDrawTextEx_or_DrawTextExA_and_DrawTextExW
-#endif
-int qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumDesktops
-#define EnumDesktops error_use_qxeEnumDesktops_or_EnumDesktopsA_and_EnumDesktopsW
-#endif
-BOOL qxeEnumDesktops (HWINSTA arg1, DESKTOPENUMPROCW arg2, LPARAM arg3);
-
 #undef EnumDisplaySettings
 #define EnumDisplaySettings error_split_sized_LPDEVMODE
 
@@ -765,148 +1129,10 @@
 #define EnumDisplayDevices error_split_sized_PDISPLAY_DEVICE__NT_5_0__only__no_Win98
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumProps
-#define EnumProps error_use_qxeEnumProps_or_EnumPropsA_and_EnumPropsW
-#endif
-int qxeEnumProps (HWND arg1, PROPENUMPROCW arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumPropsEx
-#define EnumPropsEx error_use_qxeEnumPropsEx_or_EnumPropsExA_and_EnumPropsExW
-#endif
-int qxeEnumPropsEx (HWND arg1, PROPENUMPROCEXW arg2, LPARAM arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumWindowStations
-#define EnumWindowStations error_use_qxeEnumWindowStations_or_EnumWindowStationsA_and_EnumWindowStationsW
-#endif
-BOOL qxeEnumWindowStations (WINSTAENUMPROCW arg1, LPARAM arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindWindowEx
-#define FindWindowEx error_use_qxeFindWindowEx_or_FindWindowExA_and_FindWindowExW
-#endif
-HWND qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindWindow
-#define FindWindow error_use_qxeFindWindow_or_FindWindowA_and_FindWindowW
-#endif
-HWND qxeFindWindow (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetClassInfo
-#define GetClassInfo error_use_qxeGetClassInfo_or_GetClassInfoA_and_GetClassInfoW
-#endif
-BOOL qxeGetClassInfo (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSW arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetClassInfoEx
-#define GetClassInfoEx error_use_qxeGetClassInfoEx_or_GetClassInfoExA_and_GetClassInfoExW
-#endif
-BOOL qxeGetClassInfoEx (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSEXW arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetClassLong
-#define GetClassLong error_use_qxeGetClassLong_or_GetClassLongA_and_GetClassLongW
-#endif
-DWORD qxeGetClassLong (HWND arg1, int arg2);
-
-#undef GetClassLongPtr
-#define GetClassLongPtr error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetClassName
-#define GetClassName error_use_qxeGetClassName_or_GetClassNameA_and_GetClassNameW
-#endif
-int qxeGetClassName (HWND arg1, Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetClipboardFormatName
-#define GetClipboardFormatName error_use_qxeGetClipboardFormatName_or_GetClipboardFormatNameA_and_GetClipboardFormatNameW
-#endif
-int qxeGetClipboardFormatName (UINT arg1, Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetDlgItemText
-#define GetDlgItemText error_use_qxeGetDlgItemText_or_GetDlgItemTextA_and_GetDlgItemTextW
-#endif
-UINT qxeGetDlgItemText (HWND arg1, int arg2, Extbyte * arg3, int arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetKeyboardLayoutName
-#define GetKeyboardLayoutName error_use_qxeGetKeyboardLayoutName_or_GetKeyboardLayoutNameA_and_GetKeyboardLayoutNameW
-#endif
-BOOL qxeGetKeyboardLayoutName (Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetKeyNameText
-#define GetKeyNameText error_use_qxeGetKeyNameText_or_GetKeyNameTextA_and_GetKeyNameTextW
-#endif
-int qxeGetKeyNameText (LONG arg1, Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetMenuItemInfo
-#define GetMenuItemInfo error_use_qxeGetMenuItemInfo_or_GetMenuItemInfoA_and_GetMenuItemInfoW
-#endif
-BOOL qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetMenuString
-#define GetMenuString error_use_qxeGetMenuString_or_GetMenuStringA_and_GetMenuStringW
-#endif
-int qxeGetMenuString (HMENU arg1, UINT arg2, Extbyte * arg3, int arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetMessage
-#define GetMessage error_use_qxeGetMessage_or_GetMessageA_and_GetMessageW
-#endif
-BOOL qxeGetMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetProp
-#define GetProp error_use_qxeGetProp_or_GetPropA_and_GetPropW
-#endif
-HANDLE qxeGetProp (HWND arg1, const Extbyte * arg2);
-
-#undef GetRawInputDeviceInfo
-#define GetRawInputDeviceInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTabbedTextExtent
-#define GetTabbedTextExtent error_use_qxeGetTabbedTextExtent_or_GetTabbedTextExtentA_and_GetTabbedTextExtentW
-#endif
-DWORD qxeGetTabbedTextExtent (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetWindowLong
-#define GetWindowLong error_use_qxeGetWindowLong_or_GetWindowLongA_and_GetWindowLongW
-#endif
-LONG qxeGetWindowLong (HWND arg1, int arg2);
-
-#undef GetWindowLongPtr
-#define GetWindowLongPtr error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetUserObjectInformation
-#define GetUserObjectInformation error_use_qxeGetUserObjectInformation_or_GetUserObjectInformationA_and_GetUserObjectInformationW
-#endif
-BOOL qxeGetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4, PDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetWindowTextLength
-#define GetWindowTextLength error_use_qxeGetWindowTextLength_or_GetWindowTextLengthA_and_GetWindowTextLengthW
-#endif
-int qxeGetWindowTextLength (HWND arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetWindowText
-#define GetWindowText error_use_qxeGetWindowText_or_GetWindowTextA_and_GetWindowTextW
-#endif
-int qxeGetWindowText (HWND arg1, Extbyte * arg2, int arg3);
-
-#undef GetAltTabInfo
-#define GetAltTabInfo error_NT_5_0__only
+#undef SystemParametersInfo
+#define SystemParametersInfo error_use_qxeSystemParametersInfo_or_SystemParametersInfoA_and_SystemParametersInfoW
+#endif
+WINBOOL qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
 
 #undef GetMonitorInfo
 #define GetMonitorInfo error_NT_5_0_Win98__only
@@ -914,995 +1140,242 @@
 #undef GetWindowModuleFileName
 #define GetWindowModuleFileName error_NT_5_0__only
 
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GrayString
-#define GrayString error_use_qxeGrayString_or_GrayStringA_and_GrayStringW
-#endif
-BOOL qxeGrayString (HDC arg1, HBRUSH arg2, GRAYSTRINGPROC arg3, LPARAM arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef InsertMenu
-#define InsertMenu error_use_qxeInsertMenu_or_InsertMenuA_and_InsertMenuW
-#endif
-BOOL qxeInsertMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef InsertMenuItem
-#define InsertMenuItem error_use_qxeInsertMenuItem_or_InsertMenuItemA_and_InsertMenuItemW
-#endif
-BOOL qxeInsertMenuItem (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4);
-
-#undef IsCharAlphaNumeric
-#define IsCharAlphaNumeric error_split_CHAR
-
-#undef IsCharAlpha
-#define IsCharAlpha error_split_CHAR
-
-#undef IsCharLower
-#define IsCharLower error_split_CHAR
-
-#undef IsCharUpper
-#define IsCharUpper error_split_CHAR
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef IsDialogMessage
-#define IsDialogMessage error_use_qxeIsDialogMessage_or_IsDialogMessageA_and_IsDialogMessageW
-#endif
-BOOL qxeIsDialogMessage (HWND arg1, LPMSG arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadAccelerators
-#define LoadAccelerators error_use_qxeLoadAccelerators_or_LoadAcceleratorsA_and_LoadAcceleratorsW
-#endif
-HACCEL qxeLoadAccelerators (HINSTANCE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadBitmap
-#define LoadBitmap error_use_qxeLoadBitmap_or_LoadBitmapA_and_LoadBitmapW
-#endif
-HBITMAP qxeLoadBitmap (HINSTANCE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadCursorFromFile
-#define LoadCursorFromFile error_use_qxeLoadCursorFromFile_or_LoadCursorFromFileA_and_LoadCursorFromFileW
-#endif
-HCURSOR qxeLoadCursorFromFile (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadCursor
-#define LoadCursor error_use_qxeLoadCursor_or_LoadCursorA_and_LoadCursorW
-#endif
-HCURSOR qxeLoadCursor (HINSTANCE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadIcon
-#define LoadIcon error_use_qxeLoadIcon_or_LoadIconA_and_LoadIconW
-#endif
-HICON qxeLoadIcon (HINSTANCE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadImage
-#define LoadImage error_use_qxeLoadImage_or_LoadImageA_and_LoadImageW
-#endif
-HANDLE qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadKeyboardLayout
-#define LoadKeyboardLayout error_use_qxeLoadKeyboardLayout_or_LoadKeyboardLayoutA_and_LoadKeyboardLayoutW
-#endif
-HKL qxeLoadKeyboardLayout (const Extbyte * arg1, UINT arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadMenuIndirect
-#define LoadMenuIndirect error_use_qxeLoadMenuIndirect_or_LoadMenuIndirectA_and_LoadMenuIndirectW
-#endif
-HMENU qxeLoadMenuIndirect (const MENUTEMPLATE* arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadMenu
-#define LoadMenu error_use_qxeLoadMenu_or_LoadMenuA_and_LoadMenuW
-#endif
-HMENU qxeLoadMenu (HINSTANCE arg1, const Extbyte * arg2);
+#undef RealGetWindowClass
+#define RealGetWindowClass error_NT_5_0__only
+
+#undef GetAltTabInfo
+#define GetAltTabInfo error_NT_5_0__only
+
+#undef GetRawInputDeviceInfo
+#define GetRawInputDeviceInfo error_HST__new_____needs_review
+
+#undef CreateDesktopEx
+#define CreateDesktopEx error_HST__new_____needs_review
+
+
+/* Processing file SYNCHAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenMutex
+#define OpenMutex error_use_qxeOpenMutex_or_OpenMutexA_and_OpenMutexW
+#endif
+HANDLE qxeOpenMutex (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenEvent
+#define OpenEvent error_use_qxeOpenEvent_or_OpenEventA_and_OpenEventW
+#endif
+HANDLE qxeOpenEvent (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenSemaphore
+#define OpenSemaphore error_use_qxeOpenSemaphore_or_OpenSemaphoreA_and_OpenSemaphoreW
+#endif
+HANDLE qxeOpenSemaphore (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName);
+
+#undef SleepConditionVariableSR
+#define SleepConditionVariableSR error_HST__new_____needs_review
+
+#undef CreateMutexEx
+#define CreateMutexEx error_HST__new_____needs_review
+
+#undef CreateEventEx
+#define CreateEventEx error_HST__new_____needs_review
+
+#undef CreateSemaphoreEx
+#define CreateSemaphoreEx error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateMutex
+#define CreateMutex error_use_qxeCreateMutex_or_CreateMutexA_and_CreateMutexW
+#endif
+HANDLE qxeCreateMutex (LPSECURITY_ATTRIBUTES lpMutexAttributes, WINBOOL bInitialOwner, const Extbyte * lpName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateEvent
+#define CreateEvent error_use_qxeCreateEvent_or_CreateEventA_and_CreateEventW
+#endif
+HANDLE qxeCreateEvent (LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualReset, WINBOOL bInitialState, const Extbyte * lpName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenWaitableTimer
+#define OpenWaitableTimer error_use_qxeOpenWaitableTimer_or_OpenWaitableTimerA_and_OpenWaitableTimerW
+#endif
+HANDLE qxeOpenWaitableTimer (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpTimerName);
+
+#undef CreateWaitableTimerEx
+#define CreateWaitableTimerEx error_HST__new_____needs_review
+
+
+/* Processing file SECURITYBASEAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AccessCheckAndAuditAlarm
+#define AccessCheckAndAuditAlarm error_use_qxeAccessCheckAndAuditAlarm_or_AccessCheckAndAuditAlarmA_and_AccessCheckAndAuditAlarmW
+#endif
+WINBOOL qxeAccessCheckAndAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
+
+#undef AccessCheckByTypeAndAuditAlarm
+#define AccessCheckByTypeAndAuditAlarm error_HST__new_____needs_review
+
+#undef AccessCheckByTypeResultListAndAuditAlarm
+#define AccessCheckByTypeResultListAndAuditAlarm error_HST__new_____needs_review
+
+#undef AccessCheckByTypeResultListAndAuditAlarmByHandle
+#define AccessCheckByTypeResultListAndAuditAlarmByHandle error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetFileSecurity
+#define GetFileSecurity error_use_qxeGetFileSecurity_or_GetFileSecurityA_and_GetFileSecurityW
+#endif
+WINBOOL qxeGetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ObjectCloseAuditAlarm
+#define ObjectCloseAuditAlarm error_use_qxeObjectCloseAuditAlarm_or_ObjectCloseAuditAlarmA_and_ObjectCloseAuditAlarmW
+#endif
+WINBOOL qxeObjectCloseAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ObjectDeleteAuditAlarm
+#define ObjectDeleteAuditAlarm error_use_qxeObjectDeleteAuditAlarm_or_ObjectDeleteAuditAlarmA_and_ObjectDeleteAuditAlarmW
+#endif
+WINBOOL qxeObjectDeleteAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ObjectOpenAuditAlarm
+#define ObjectOpenAuditAlarm error_use_qxeObjectOpenAuditAlarm_or_ObjectOpenAuditAlarmA_and_ObjectOpenAuditAlarmW
+#endif
+WINBOOL qxeObjectOpenAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, WINBOOL ObjectCreation, WINBOOL AccessGranted, LPBOOL GenerateOnClose);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ObjectPrivilegeAuditAlarm
+#define ObjectPrivilegeAuditAlarm error_use_qxeObjectPrivilegeAuditAlarm_or_ObjectPrivilegeAuditAlarmA_and_ObjectPrivilegeAuditAlarmW
+#endif
+WINBOOL qxeObjectPrivilegeAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PrivilegedServiceAuditAlarm
+#define PrivilegedServiceAuditAlarm error_use_qxePrivilegedServiceAuditAlarm_or_PrivilegedServiceAuditAlarmA_and_PrivilegedServiceAuditAlarmW
+#endif
+WINBOOL qxePrivilegedServiceAuditAlarm (const Extbyte * SubsystemName, const Extbyte * ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetFileSecurity
+#define SetFileSecurity error_use_qxeSetFileSecurity_or_SetFileSecurityA_and_SetFileSecurityW
+#endif
+WINBOOL qxeSetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
+
+
+/* Processing file PROCESSENV.H */
+
+#undef GetEnvironmentStrings
+#define GetEnvironmentStrings error_HST__new_____needs_review
+
+#undef SetEnvironmentStrings
+#define SetEnvironmentStrings error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FreeEnvironmentStrings
+#define FreeEnvironmentStrings error_use_qxeFreeEnvironmentStrings_or_FreeEnvironmentStringsA_and_FreeEnvironmentStringsW
+#endif
+WINBOOL qxeFreeEnvironmentStrings (LPWCH penv);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCommandLine
+#define GetCommandLine error_use_qxeGetCommandLine_or_GetCommandLineA_and_GetCommandLineW
+#endif
+Extbyte * qxeGetCommandLine (void);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetEnvironmentVariable
+#define GetEnvironmentVariable error_use_qxeGetEnvironmentVariable_or_GetEnvironmentVariableA_and_GetEnvironmentVariableW
+#endif
+DWORD qxeGetEnvironmentVariable (const Extbyte * lpName, Extbyte * lpBuffer, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetEnvironmentVariable
+#define SetEnvironmentVariable error_use_qxeSetEnvironmentVariable_or_SetEnvironmentVariableA_and_SetEnvironmentVariableW
+#endif
+WINBOOL qxeSetEnvironmentVariable (const Extbyte * lpName, const Extbyte * lpValue);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ExpandEnvironmentStrings
+#define ExpandEnvironmentStrings error_use_qxeExpandEnvironmentStrings_or_ExpandEnvironmentStringsA_and_ExpandEnvironmentStringsW
+#endif
+DWORD qxeExpandEnvironmentStrings (const Extbyte * lpSrc, Extbyte * lpDst, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetCurrentDirectory
+#define SetCurrentDirectory error_use_qxeSetCurrentDirectory_or_SetCurrentDirectoryA_and_SetCurrentDirectoryW
+#endif
+WINBOOL qxeSetCurrentDirectory (const Extbyte * lpPathName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCurrentDirectory
+#define GetCurrentDirectory error_use_qxeGetCurrentDirectory_or_GetCurrentDirectoryA_and_GetCurrentDirectoryW
+#endif
+DWORD qxeGetCurrentDirectory (DWORD nBufferLength, Extbyte * lpBuffer);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SearchPath
+#define SearchPath error_use_qxeSearchPath_or_SearchPathA_and_SearchPathW
+#endif
+DWORD qxeSearchPath (const Extbyte * lpPath, const Extbyte * lpFileName, const Extbyte * lpExtension, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart);
+
+#undef NeedCurrentDirectoryForExePath
+#define NeedCurrentDirectoryForExePath error_HST__new_____needs_review
+
+
+/* Processing file DBGENG.H */
+
+
+/* Processing file LIBLOADERAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindResourceEx
+#define FindResourceEx error_use_qxeFindResourceEx_or_FindResourceExA_and_FindResourceExW
+#endif
+HRSRC qxeFindResourceEx (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetModuleFileName
+#define GetModuleFileName error_use_qxeGetModuleFileName_or_GetModuleFileNameA_and_GetModuleFileNameW
+#endif
+DWORD qxeGetModuleFileName (HMODULE hModule, Extbyte * lpFilename, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetModuleHandle
+#define GetModuleHandle error_use_qxeGetModuleHandle_or_GetModuleHandleA_and_GetModuleHandleW
+#endif
+HMODULE qxeGetModuleHandle (const Extbyte * lpModuleName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadLibraryEx
+#define LoadLibraryEx error_use_qxeLoadLibraryEx_or_LoadLibraryExA_and_LoadLibraryExW
+#endif
+HMODULE qxeLoadLibraryEx (const Extbyte * lpLibFileName, HANDLE hFile, DWORD dwFlags);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef LoadString
 #define LoadString error_use_qxeLoadString_or_LoadStringA_and_LoadStringW
 #endif
-int qxeLoadString (HINSTANCE arg1, UINT arg2, Extbyte * arg3, int arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MapVirtualKeyEx
-#define MapVirtualKeyEx error_use_qxeMapVirtualKeyEx_or_MapVirtualKeyExA_and_MapVirtualKeyExW
-#endif
-UINT qxeMapVirtualKeyEx (UINT arg1, UINT arg2, HKL arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MapVirtualKey
-#define MapVirtualKey error_use_qxeMapVirtualKey_or_MapVirtualKeyA_and_MapVirtualKeyW
-#endif
-UINT qxeMapVirtualKey (UINT arg1, UINT arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MessageBox
-#define MessageBox error_use_qxeMessageBox_or_MessageBoxA_and_MessageBoxW
-#endif
-int qxeMessageBox (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MessageBoxEx
-#define MessageBoxEx error_use_qxeMessageBoxEx_or_MessageBoxExA_and_MessageBoxExW
-#endif
-int qxeMessageBoxEx (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4, WORD arg5);
-
-#undef MessageBoxIndirect
-#define MessageBoxIndirect error_Cygwin_has_split_MSGBOXPARAMS__instead_of_LPMSGBOXPARAMS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ModifyMenu
-#define ModifyMenu error_use_qxeModifyMenu_or_ModifyMenuA_and_ModifyMenuW
-#endif
-BOOL qxeModifyMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OemToCharBuff
-#define OemToCharBuff error_use_qxeOemToCharBuff_or_OemToCharBuffA_and_OemToCharBuffW
-#endif
-BOOL qxeOemToCharBuff (LPCSTR arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OemToChar
-#define OemToChar error_use_qxeOemToChar_or_OemToCharA_and_OemToCharW
-#endif
-BOOL qxeOemToChar (LPCSTR arg1, Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenDesktop
-#define OpenDesktop error_use_qxeOpenDesktop_or_OpenDesktopA_and_OpenDesktopW
-#endif
-HDESK qxeOpenDesktop (Extbyte * arg1, DWORD arg2, BOOL arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenWindowStation
-#define OpenWindowStation error_use_qxeOpenWindowStation_or_OpenWindowStationA_and_OpenWindowStationW
-#endif
-HWINSTA qxeOpenWindowStation (Extbyte * arg1, BOOL arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PeekMessage
-#define PeekMessage error_use_qxePeekMessage_or_PeekMessageA_and_PeekMessageW
-#endif
-BOOL qxePeekMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4, UINT arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PostMessage
-#define PostMessage error_use_qxePostMessage_or_PostMessageA_and_PostMessageW
-#endif
-BOOL qxePostMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PostThreadMessage
-#define PostThreadMessage error_use_qxePostThreadMessage_or_PostThreadMessageA_and_PostThreadMessageW
-#endif
-BOOL qxePostThreadMessage (DWORD arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
-
-#undef RealGetWindowClass
-#define RealGetWindowClass error_NT_5_0__only
-
-/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
-
-/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegisterClipboardFormat
-#define RegisterClipboardFormat error_use_qxeRegisterClipboardFormat_or_RegisterClipboardFormatA_and_RegisterClipboardFormatW
-#endif
-UINT qxeRegisterClipboardFormat (const Extbyte * arg1);
-
-#undef RegisterDeviceNotification
-#define RegisterDeviceNotification error_NT_5_0__only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegisterWindowMessage
-#define RegisterWindowMessage error_use_qxeRegisterWindowMessage_or_RegisterWindowMessageA_and_RegisterWindowMessageW
-#endif
-UINT qxeRegisterWindowMessage (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RemoveProp
-#define RemoveProp error_use_qxeRemoveProp_or_RemovePropA_and_RemovePropW
-#endif
-HANDLE qxeRemoveProp (HWND arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SendDlgItemMessage
-#define SendDlgItemMessage error_use_qxeSendDlgItemMessage_or_SendDlgItemMessageA_and_SendDlgItemMessageW
-#endif
-LONG qxeSendDlgItemMessage (HWND arg1, int arg2, UINT arg3, WPARAM arg4, LPARAM arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SendMessageCallback
-#define SendMessageCallback error_use_qxeSendMessageCallback_or_SendMessageCallbackA_and_SendMessageCallbackW
-#endif
-BOOL qxeSendMessageCallback (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, SENDASYNCPROC arg5, DWORD arg6);
-
-#undef SendMessageTimeout
-#define SendMessageTimeout error_VS6_has_erroneous_seventh_parameter_DWORD_PTR_instead_of_PDWORD_PTR
-
-/* Skipping SendMessage because split messages and structures */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SendNotifyMessage
-#define SendNotifyMessage error_use_qxeSendNotifyMessage_or_SendNotifyMessageA_and_SendNotifyMessageW
-#endif
-BOOL qxeSendNotifyMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetClassLong
-#define SetClassLong error_use_qxeSetClassLong_or_SetClassLongA_and_SetClassLongW
-#endif
-DWORD qxeSetClassLong (HWND arg1, int arg2, LONG arg3);
-
-#undef SetClassLongPtr
-#define SetClassLongPtr error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetDlgItemText
-#define SetDlgItemText error_use_qxeSetDlgItemText_or_SetDlgItemTextA_and_SetDlgItemTextW
-#endif
-BOOL qxeSetDlgItemText (HWND arg1, int arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetMenuItemInfo
-#define SetMenuItemInfo error_use_qxeSetMenuItemInfo_or_SetMenuItemInfoA_and_SetMenuItemInfoW
-#endif
-BOOL qxeSetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetProp
-#define SetProp error_use_qxeSetProp_or_SetPropA_and_SetPropW
-#endif
-BOOL qxeSetProp (HWND arg1, const Extbyte * arg2, HANDLE arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetUserObjectInformation
-#define SetUserObjectInformation error_use_qxeSetUserObjectInformation_or_SetUserObjectInformationA_and_SetUserObjectInformationW
-#endif
-BOOL qxeSetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetWindowLong
-#define SetWindowLong error_use_qxeSetWindowLong_or_SetWindowLongA_and_SetWindowLongW
-#endif
-LONG qxeSetWindowLong (HWND arg1, int arg2, LONG arg3);
-
-#undef SetWindowLongPtr
-#define SetWindowLongPtr error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SetWindowsHook
-#define SetWindowsHook error_obsolete__two_versions__STRICT_and_non_STRICT
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetWindowsHookEx
-#define SetWindowsHookEx error_use_qxeSetWindowsHookEx_or_SetWindowsHookExA_and_SetWindowsHookExW
-#endif
-HHOOK qxeSetWindowsHookEx (int arg1, HOOKPROC arg2, HINSTANCE arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetWindowText
-#define SetWindowText error_use_qxeSetWindowText_or_SetWindowTextA_and_SetWindowTextW
-#endif
-BOOL qxeSetWindowText (HWND arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SystemParametersInfo
-#define SystemParametersInfo error_use_qxeSystemParametersInfo_or_SystemParametersInfoA_and_SystemParametersInfoW
-#endif
-BOOL qxeSystemParametersInfo (UINT arg1, UINT arg2, PVOID arg3, UINT arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef TabbedTextOut
-#define TabbedTextOut error_use_qxeTabbedTextOut_or_TabbedTextOutA_and_TabbedTextOutW
-#endif
-LONG qxeTabbedTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5, int arg6, LPINT arg7, int arg8);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef TranslateAccelerator
-#define TranslateAccelerator error_use_qxeTranslateAccelerator_or_TranslateAcceleratorA_and_TranslateAcceleratorW
-#endif
-int qxeTranslateAccelerator (HWND arg1, HACCEL arg2, LPMSG arg3);
-
-/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
-
-#undef VkKeyScanEx
-#define VkKeyScanEx error_split_CHAR__NT_4_0__only
-
-/* Skipping VkKeyScan because split CHAR */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WinHelp
-#define WinHelp error_use_qxeWinHelp_or_WinHelpA_and_WinHelpW
-#endif
-BOOL qxeWinHelp (HWND arg1, const Extbyte * arg2, UINT arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef wvsprintf
-#define wvsprintf error_use_qxewvsprintf_or_wvsprintfA_and_wvsprintfW
-#endif
-int qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist);
-
-
-/* Processing file DDEML.H */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DdeCreateStringHandle
-#define DdeCreateStringHandle error_use_qxeDdeCreateStringHandle_or_DdeCreateStringHandleA_and_DdeCreateStringHandleW
-#endif
-HSZ qxeDdeCreateStringHandle (DWORD arg1, const Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DdeInitialize
-#define DdeInitialize error_use_qxeDdeInitialize_or_DdeInitializeA_and_DdeInitializeW
-#endif
-UINT qxeDdeInitialize (PDWORD arg1, PFNCALLBACK arg2, DWORD arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DdeQueryString
-#define DdeQueryString error_use_qxeDdeQueryString_or_DdeQueryStringA_and_DdeQueryStringW
-#endif
-DWORD qxeDdeQueryString (DWORD arg1, HSZ arg2, Extbyte * arg3, DWORD arg4, int arg5);
-
-
-/* Processing file WINREG.H */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AbortSystemShutdown
-#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW
-#endif
-BOOL qxeAbortSystemShutdown (Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef InitiateSystemShutdown
-#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW
-#endif
-BOOL qxeInitiateSystemShutdown (Extbyte * arg1, Extbyte * arg2, DWORD arg3, BOOL arg4, BOOL arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegConnectRegistry
-#define RegConnectRegistry error_use_qxeRegConnectRegistry_or_RegConnectRegistryA_and_RegConnectRegistryW
-#endif
-LONG qxeRegConnectRegistry (const Extbyte * arg1, HKEY arg2, PHKEY arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegCreateKeyEx
-#define RegCreateKeyEx error_use_qxeRegCreateKeyEx_or_RegCreateKeyExA_and_RegCreateKeyExW
-#endif
-LONG qxeRegCreateKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5, REGSAM arg6, LPSECURITY_ATTRIBUTES arg7, PHKEY arg8, PDWORD arg9);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegCreateKey
-#define RegCreateKey error_use_qxeRegCreateKey_or_RegCreateKeyA_and_RegCreateKeyW
-#endif
-LONG qxeRegCreateKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegDeleteKey
-#define RegDeleteKey error_use_qxeRegDeleteKey_or_RegDeleteKeyA_and_RegDeleteKeyW
-#endif
-LONG qxeRegDeleteKey (HKEY arg1, const Extbyte * arg2);
-
-#undef RegDeleteKeyEx
-#define RegDeleteKeyEx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegDeleteValue
-#define RegDeleteValue error_use_qxeRegDeleteValue_or_RegDeleteValueA_and_RegDeleteValueW
-#endif
-LONG qxeRegDeleteValue (HKEY arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumKey
-#define RegEnumKey error_use_qxeRegEnumKey_or_RegEnumKeyA_and_RegEnumKeyW
-#endif
-LONG qxeRegEnumKey (HKEY arg1, DWORD arg2, Extbyte * arg3, DWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumKeyEx
-#define RegEnumKeyEx error_use_qxeRegEnumKeyEx_or_RegEnumKeyExA_and_RegEnumKeyExW
-#endif
-LONG qxeRegEnumKeyEx (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, PDWORD arg7, PFILETIME arg8);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumValue
-#define RegEnumValue error_use_qxeRegEnumValue_or_RegEnumValueA_and_RegEnumValueW
-#endif
-LONG qxeRegEnumValue (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, LPBYTE arg7, PDWORD arg8);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegLoadKey
-#define RegLoadKey error_use_qxeRegLoadKey_or_RegLoadKeyA_and_RegLoadKeyW
-#endif
-LONG qxeRegLoadKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegOpenKeyEx
-#define RegOpenKeyEx error_use_qxeRegOpenKeyEx_or_RegOpenKeyExA_and_RegOpenKeyExW
-#endif
-LONG qxeRegOpenKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, REGSAM arg4, PHKEY arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegOpenKey
-#define RegOpenKey error_use_qxeRegOpenKey_or_RegOpenKeyA_and_RegOpenKeyW
-#endif
-LONG qxeRegOpenKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryInfoKey
-#define RegQueryInfoKey error_use_qxeRegQueryInfoKey_or_RegQueryInfoKeyA_and_RegQueryInfoKeyW
-#endif
-LONG qxeRegQueryInfoKey (HKEY arg1, Extbyte * arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, PDWORD arg7, PDWORD arg8, PDWORD arg9, PDWORD arg10, PDWORD arg11, PFILETIME arg12);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryMultipleValues
-#define RegQueryMultipleValues error_use_qxeRegQueryMultipleValues_or_RegQueryMultipleValuesA_and_RegQueryMultipleValuesW
-#endif
-LONG qxeRegQueryMultipleValues (HKEY arg1, PVALENTW arg2, DWORD arg3, Extbyte * arg4, LPDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryValueEx
-#define RegQueryValueEx error_use_qxeRegQueryValueEx_or_RegQueryValueExA_and_RegQueryValueExW
-#endif
-LONG qxeRegQueryValueEx (HKEY arg1, const Extbyte * arg2, LPDWORD arg3, LPDWORD arg4, LPBYTE arg5, LPDWORD arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryValue
-#define RegQueryValue error_use_qxeRegQueryValue_or_RegQueryValueA_and_RegQueryValueW
-#endif
-LONG qxeRegQueryValue (HKEY arg1, const Extbyte * arg2, Extbyte * arg3, PLONG arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegReplaceKey
-#define RegReplaceKey error_use_qxeRegReplaceKey_or_RegReplaceKeyA_and_RegReplaceKeyW
-#endif
-LONG qxeRegReplaceKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegRestoreKey
-#define RegRestoreKey error_use_qxeRegRestoreKey_or_RegRestoreKeyA_and_RegRestoreKeyW
-#endif
-LONG qxeRegRestoreKey (HKEY arg1, const Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSaveKey
-#define RegSaveKey error_use_qxeRegSaveKey_or_RegSaveKeyA_and_RegSaveKeyW
-#endif
-LONG qxeRegSaveKey (HKEY arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSetValueEx
-#define RegSetValueEx error_use_qxeRegSetValueEx_or_RegSetValueExA_and_RegSetValueExW
-#endif
-LONG qxeRegSetValueEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, DWORD arg4, const BYTE* arg5, DWORD arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSetValue
-#define RegSetValue error_use_qxeRegSetValue_or_RegSetValueA_and_RegSetValueW
-#endif
-LONG qxeRegSetValue (HKEY arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4, DWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegUnLoadKey
-#define RegUnLoadKey error_use_qxeRegUnLoadKey_or_RegUnLoadKeyA_and_RegUnLoadKeyW
-#endif
-LONG qxeRegUnLoadKey (HKEY arg1, const Extbyte * arg2);
-
-
-/* Processing file WINNLS.H */
-
-#undef CompareString
-#define CompareString error_not_used__not_examined_yet
-
-#undef EnumCalendarInfo
-#define EnumCalendarInfo error_not_used__not_examined_yet
-
-#undef EnumDateFormats
-#define EnumDateFormats error_not_used__not_examined_yet
-
-#undef EnumSystemCodePages
-#define EnumSystemCodePages error_not_used__not_examined_yet
-
-#undef EnumSystemLocales
-#define EnumSystemLocales error_not_used__not_examined_yet
-
-#undef EnumTimeFormats
-#define EnumTimeFormats error_not_used__not_examined_yet
-
-#undef FoldString
-#define FoldString error_not_used__not_examined_yet
-
-#undef GetCalendarInfo
-#define GetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetCPInfoEx
-#define GetCPInfoEx error_not_used__not_examined_yet
-
-#undef GetCurrencyFormat
-#define GetCurrencyFormat error_not_used__not_examined_yet
-
-#undef GetDateFormat
-#define GetDateFormat error_not_used__not_examined_yet
-
-#undef GetGeoInfo
-#define GetGeoInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetLocaleInfo
-#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW
-#endif
-int qxeGetLocaleInfo (LCID arg1, LCTYPE arg2, Extbyte * arg3, int arg4);
-
-#undef GetNumberFormat
-#define GetNumberFormat error_not_used__not_examined_yet
-
-#undef GetStringType
-#define GetStringType error_no_such_fun__A_and_W_versions_have_different_nos__of_args
-
-#undef GetStringTypeEx
-#define GetStringTypeEx error_not_used__not_examined_yet
-
-#undef GetTimeFormat
-#define GetTimeFormat error_not_used__not_examined_yet
-
-#undef LCMapString
-#define LCMapString error_not_used__not_examined_yet
-
-#undef SetCalendarInfo
-#define SetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetLocaleInfo
-#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW
-#endif
-BOOL qxeSetLocaleInfo (LCID arg1, LCTYPE arg2, const Extbyte * arg3);
-
-#undef EnumCalendarInfoEx
-#define EnumCalendarInfoEx error_not_used__not_examined_yet
-
-#undef EnumDateFormatsEx
-#define EnumDateFormatsEx error_not_used__not_examined_yet
-
-#undef EnumSystemLanguageGroups
-#define EnumSystemLanguageGroups error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef EnumLanguageGroupLocales
-#define EnumLanguageGroupLocales error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef EnumUILanguages
-#define EnumUILanguages error_Function_needs_review_to_determine_how_to_handle_it
-
-
-/* Processing file WINGDI.H */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AddFontResource
-#define AddFontResource error_use_qxeAddFontResource_or_AddFontResourceA_and_AddFontResourceW
-#endif
-int qxeAddFontResource (const Extbyte * arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef AddFontResourceEx
-#define AddFontResourceEx error_NT_5_0__only
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CopyEnhMetaFile
-#define CopyEnhMetaFile error_use_qxeCopyEnhMetaFile_or_CopyEnhMetaFileA_and_CopyEnhMetaFileW
-#endif
-HENHMETAFILE qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CopyMetaFile
-#define CopyMetaFile error_use_qxeCopyMetaFile_or_CopyMetaFileA_and_CopyMetaFileW
-#endif
-HMETAFILE qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef CreateColorSpace
-#define CreateColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping CreateDC because split-sized DEVMODE */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateEnhMetaFile
-#define CreateEnhMetaFile error_use_qxeCreateEnhMetaFile_or_CreateEnhMetaFileA_and_CreateEnhMetaFileW
-#endif
-HDC qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, LPCRECT arg3, const Extbyte * arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateFont
-#define CreateFont error_use_qxeCreateFont_or_CreateFontA_and_CreateFontW
-#endif
-HFONT qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping CreateFontIndirect because split-sized LOGFONT */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping CreateIC because split-sized DEVMODE */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateMetaFile
-#define CreateMetaFile error_use_qxeCreateMetaFile_or_CreateMetaFileA_and_CreateMetaFileW
-#endif
-HDC qxeCreateMetaFile (const Extbyte * arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateScalableFontResource
-#define CreateScalableFontResource error_use_qxeCreateScalableFontResource_or_CreateScalableFontResourceA_and_CreateScalableFontResourceW
-#endif
-BOOL qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping DeviceCapabilities because split-sized DEVMODE */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumFontFamilies
-#define EnumFontFamilies error_split_complex_FONTENUMPROC
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef EnumFonts
-#define EnumFonts error_split_complex_FONTENUMPROC
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EnumICMProfiles
-#define EnumICMProfiles error_use_qxeEnumICMProfiles_or_EnumICMProfilesA_and_EnumICMProfilesW
-#endif
-int qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ExtTextOut
-#define ExtTextOut error_use_qxeExtTextOut_or_ExtTextOutA_and_ExtTextOutW
-#endif
-BOOL qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, LPCRECT arg5, const Extbyte * arg6, UINT arg7, const INT* arg8);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharABCWidths
-#define GetCharABCWidths error_use_qxeGetCharABCWidths_or_GetCharABCWidthsA_and_GetCharABCWidthsW
-#endif
-BOOL qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharABCWidthsFloat
-#define GetCharABCWidthsFloat error_use_qxeGetCharABCWidthsFloat_or_GetCharABCWidthsFloatA_and_GetCharABCWidthsFloatW
-#endif
-BOOL qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharacterPlacement
-#define GetCharacterPlacement error_use_qxeGetCharacterPlacement_or_GetCharacterPlacementA_and_GetCharacterPlacementW
-#endif
-DWORD qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharWidth32
-#define GetCharWidth32 error_use_qxeGetCharWidth32_or_GetCharWidth32A_and_GetCharWidth32W
-#endif
-BOOL qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharWidth
-#define GetCharWidth error_use_qxeGetCharWidth_or_GetCharWidthA_and_GetCharWidthW
-#endif
-BOOL qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCharWidthFloat
-#define GetCharWidthFloat error_use_qxeGetCharWidthFloat_or_GetCharWidthFloatA_and_GetCharWidthFloatW
-#endif
-BOOL qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetEnhMetaFile
-#define GetEnhMetaFile error_use_qxeGetEnhMetaFile_or_GetEnhMetaFileA_and_GetEnhMetaFileW
-#endif
-HENHMETAFILE qxeGetEnhMetaFile (const Extbyte * arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetEnhMetaFileDescription
-#define GetEnhMetaFileDescription error_use_qxeGetEnhMetaFileDescription_or_GetEnhMetaFileDescriptionA_and_GetEnhMetaFileDescriptionW
-#endif
-UINT qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetGlyphOutline
-#define GetGlyphOutline error_use_qxeGetGlyphOutline_or_GetGlyphOutlineA_and_GetGlyphOutlineW
-#endif
-DWORD qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, PVOID arg6, const MAT2* arg7);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetICMProfile
-#define GetICMProfile error_use_qxeGetICMProfile_or_GetICMProfileA_and_GetICMProfileW
-#endif
-BOOL qxeGetICMProfile (HDC arg1, LPDWORD arg2, Extbyte * arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetKerningPairs
-#define GetKerningPairs error_use_qxeGetKerningPairs_or_GetKerningPairsA_and_GetKerningPairsW
-#endif
-DWORD qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetLogColorSpace
-#define GetLogColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetMetaFile
-#define GetMetaFile error_use_qxeGetMetaFile_or_GetMetaFileA_and_GetMetaFileW
-#endif
-HMETAFILE qxeGetMetaFile (const Extbyte * arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping GetObject because split-sized LOGFONT */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetOutlineTextMetrics
-#define GetOutlineTextMetrics error_split_sized_LPOUTLINETEXTMETRIC
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTextExtentExPoint
-#define GetTextExtentExPoint error_use_qxeGetTextExtentExPoint_or_GetTextExtentExPointA_and_GetTextExtentExPointW
-#endif
-BOOL qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTextExtentPoint
-#define GetTextExtentPoint error_use_qxeGetTextExtentPoint_or_GetTextExtentPointA_and_GetTextExtentPointW
-#endif
-BOOL qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTextExtentPoint32
-#define GetTextExtentPoint32 error_use_qxeGetTextExtentPoint32_or_GetTextExtentPoint32A_and_GetTextExtentPoint32W
-#endif
-BOOL qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTextFace
-#define GetTextFace error_use_qxeGetTextFace_or_GetTextFaceA_and_GetTextFaceW
-#endif
-int qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PolyTextOut
-#define PolyTextOut error_use_qxePolyTextOut_or_PolyTextOutA_and_PolyTextOutW
-#endif
-BOOL qxePolyTextOut (HDC arg1, const POLYTEXTW* arg2, int arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RemoveFontResource
-#define RemoveFontResource error_use_qxeRemoveFontResource_or_RemoveFontResourceA_and_RemoveFontResourceW
-#endif
-BOOL qxeRemoveFontResource (const Extbyte * arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef RemoveFontResourceEx
-#define RemoveFontResourceEx error_NT_5_0__only
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping ResetDC because split-sized DEVMODE */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetICMProfile
-#define SetICMProfile error_use_qxeSetICMProfile_or_SetICMProfileA_and_SetICMProfileW
-#endif
-BOOL qxeSetICMProfile (HDC arg1, Extbyte * arg2);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef StartDoc
-#define StartDoc error_use_qxeStartDoc_or_StartDocA_and_StartDocW
-#endif
-int qxeStartDoc (HDC arg1, const DOCINFOW* arg2);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef TextOut
-#define TextOut error_use_qxeTextOut_or_TextOutA_and_TextOutW
-#endif
-BOOL qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef wglUseFontBitmaps
-#define wglUseFontBitmaps error_causes_link_error
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef wglUseFontOutlines
-#define wglUseFontOutlines error_causes_link_error
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef GetGlyphIndices
-#define GetGlyphIndices error_NT_5_0__only
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-
-/* Processing file SHLOBJ.H */
-
-/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
-
-/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SHGetPathFromIDList
-#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW
-#endif
-BOOL qxeSHGetPathFromIDList (LPCITEMIDLIST arg1, Extbyte * arg2);
-
-/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
-
-#undef SHGetFolderPath
-#define SHGetFolderPath error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SHGetIconOverlayIndex
-#define SHGetIconOverlayIndex error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SHCreateDirectoryEx
-#define SHCreateDirectoryEx error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SHGetFolderPathAndSubDir
-#define SHGetFolderPathAndSubDir error_Function_needs_review_to_determine_how_to_handle_it
-
-
-/* Processing file COMMDLG.H */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ChooseColor
-#define ChooseColor error_use_qxeChooseColor_or_ChooseColorA_and_ChooseColorW
-#endif
-BOOL qxeChooseColor (LPCHOOSECOLORW arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef ChooseFont
-#define ChooseFont error_split_sized_LPLOGFONT_in_LPCHOOSEFONT
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindText
-#define FindText error_use_qxeFindText_or_FindTextA_and_FindTextW
-#endif
-HWND qxeFindText (LPFINDREPLACEW arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetFileTitle
-#define GetFileTitle error_use_qxeGetFileTitle_or_GetFileTitleA_and_GetFileTitleW
-#endif
-short qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetOpenFileName
-#define GetOpenFileName error_use_qxeGetOpenFileName_or_GetOpenFileNameA_and_GetOpenFileNameW
-#endif
-BOOL qxeGetOpenFileName (LPOPENFILENAMEW arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetSaveFileName
-#define GetSaveFileName error_use_qxeGetSaveFileName_or_GetSaveFileNameA_and_GetSaveFileNameW
-#endif
-BOOL qxeGetSaveFileName (LPOPENFILENAMEW arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReplaceText
-#define ReplaceText error_use_qxeReplaceText_or_ReplaceTextA_and_ReplaceTextW
-#endif
-HWND qxeReplaceText (LPFINDREPLACEW arg1);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#undef PrintDlgEx
-#define PrintDlgEx error_Function_needs_review_to_determine_how_to_handle_it
-#endif /* defined (HAVE_MS_WINDOWS) */
+int qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int cchBufferMax);
+
+#undef GetModuleHandleEx
+#define GetModuleHandleEx error_HST__new_____needs_review
+
+#undef EnumResourceLanguages
+#define EnumResourceLanguages error_HST__new_____needs_review
+
+#undef EnumResourceLanguagesEx
+#define EnumResourceLanguagesEx error_HST__new_____needs_review
+
+#undef EnumResourceNamesEx
+#define EnumResourceNamesEx error_HST__new_____needs_review
+
+#undef EnumResourceTypesEx
+#define EnumResourceTypesEx error_HST__new_____needs_review
 
 
 /* Processing file IMM.H */
@@ -1912,7 +1385,7 @@
 #undef ImmInstallIME
 #define ImmInstallIME error_use_qxeImmInstallIME_or_ImmInstallIMEA_and_ImmInstallIMEW
 #endif
-HKL qxeImmInstallIME (const Extbyte * arg1, const Extbyte * arg2);
+HKL qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1920,7 +1393,7 @@
 #undef ImmGetDescription
 #define ImmGetDescription error_use_qxeImmGetDescription_or_ImmGetDescriptionA_and_ImmGetDescriptionW
 #endif
-UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT arg3);
+UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1928,7 +1401,7 @@
 #undef ImmGetIMEFileName
 #define ImmGetIMEFileName error_use_qxeImmGetIMEFileName_or_ImmGetIMEFileNameA_and_ImmGetIMEFileNameW
 #endif
-UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT arg3);
+UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1936,7 +1409,7 @@
 #undef ImmGetCompositionString
 #define ImmGetCompositionString error_use_qxeImmGetCompositionString_or_ImmGetCompositionStringA_and_ImmGetCompositionStringW
 #endif
-LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, PVOID arg3, DWORD arg4);
+LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1948,7 +1421,7 @@
 #undef ImmGetCandidateListCount
 #define ImmGetCandidateListCount error_use_qxeImmGetCandidateListCount_or_ImmGetCandidateListCountA_and_ImmGetCandidateListCountW
 #endif
-DWORD qxeImmGetCandidateListCount (HIMC arg1, PDWORD arg2);
+DWORD qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1956,7 +1429,7 @@
 #undef ImmGetCandidateList
 #define ImmGetCandidateList error_use_qxeImmGetCandidateList_or_ImmGetCandidateListA_and_ImmGetCandidateListW
 #endif
-DWORD qxeImmGetCandidateList (HIMC arg1, DWORD arg2, PCANDIDATELIST arg3, DWORD arg4);
+DWORD qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1964,7 +1437,7 @@
 #undef ImmGetGuideLine
 #define ImmGetGuideLine error_use_qxeImmGetGuideLine_or_ImmGetGuideLineA_and_ImmGetGuideLineW
 #endif
-DWORD qxeImmGetGuideLine (HIMC arg1, DWORD arg2, Extbyte * arg3, DWORD arg4);
+DWORD qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1980,7 +1453,7 @@
 #undef ImmConfigureIME
 #define ImmConfigureIME error_use_qxeImmConfigureIME_or_ImmConfigureIMEA_and_ImmConfigureIMEW
 #endif
-BOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, PVOID arg4);
+WINBOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1988,7 +1461,7 @@
 #undef ImmEscape
 #define ImmEscape error_use_qxeImmEscape_or_ImmEscapeA_and_ImmEscapeW
 #endif
-LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, PVOID arg4);
+LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -1996,7 +1469,7 @@
 #undef ImmGetConversionList
 #define ImmGetConversionList error_use_qxeImmGetConversionList_or_ImmGetConversionListA_and_ImmGetConversionListW
 #endif
-DWORD qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, PCANDIDATELIST arg4, DWORD arg5, UINT arg6);
+DWORD qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -2004,7 +1477,7 @@
 #undef ImmIsUIMessage
 #define ImmIsUIMessage error_use_qxeImmIsUIMessage_or_ImmIsUIMessageA_and_ImmIsUIMessageW
 #endif
-BOOL qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
+WINBOOL qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -2012,7 +1485,7 @@
 #undef ImmRegisterWord
 #define ImmRegisterWord error_use_qxeImmRegisterWord_or_ImmRegisterWordA_and_ImmRegisterWordW
 #endif
-BOOL qxeImmRegisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4);
+WINBOOL qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -2020,7 +1493,7 @@
 #undef ImmUnregisterWord
 #define ImmUnregisterWord error_use_qxeImmUnregisterWord_or_ImmUnregisterWordA_and_ImmUnregisterWordW
 #endif
-BOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4);
+WINBOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -2033,7 +1506,7 @@
 #undef ImmEnumRegisterWord
 #define ImmEnumRegisterWord error_use_qxeImmEnumRegisterWord_or_ImmEnumRegisterWordA_and_ImmEnumRegisterWordW
 #endif
-UINT qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * arg3, DWORD arg4, const Extbyte * arg5, PVOID arg6);
+UINT qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6);
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 #if defined (HAVE_MS_WINDOWS)
@@ -2042,925 +1515,40 @@
 #endif /* defined (HAVE_MS_WINDOWS) */
 
 
-/* Processing file WINBASE.H */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AccessCheckAndAuditAlarm
-#define AccessCheckAndAuditAlarm error_use_qxeAccessCheckAndAuditAlarm_or_AccessCheckAndAuditAlarmA_and_AccessCheckAndAuditAlarmW
-#endif
-BOOL qxeAccessCheckAndAuditAlarm (const Extbyte * arg1, LPVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, DWORD arg6, PGENERIC_MAPPING arg7, BOOL arg8, PDWORD arg9, PBOOL arg10, PBOOL arg11);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AddAtom
-#define AddAtom error_use_qxeAddAtom_or_AddAtomA_and_AddAtomW
-#endif
-ATOM qxeAddAtom (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef BackupEventLog
-#define BackupEventLog error_use_qxeBackupEventLog_or_BackupEventLogA_and_BackupEventLogW
-#endif
-BOOL qxeBackupEventLog (HANDLE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef BeginUpdateResource
-#define BeginUpdateResource error_use_qxeBeginUpdateResource_or_BeginUpdateResourceA_and_BeginUpdateResourceW
-#endif
-HANDLE qxeBeginUpdateResource (const Extbyte * arg1, BOOL arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef BuildCommDCB
-#define BuildCommDCB error_use_qxeBuildCommDCB_or_BuildCommDCBA_and_BuildCommDCBW
-#endif
-BOOL qxeBuildCommDCB (const Extbyte * arg1, LPDCB arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef BuildCommDCBAndTimeouts
-#define BuildCommDCBAndTimeouts error_use_qxeBuildCommDCBAndTimeouts_or_BuildCommDCBAndTimeoutsA_and_BuildCommDCBAndTimeoutsW
-#endif
-BOOL qxeBuildCommDCBAndTimeouts (const Extbyte * arg1, LPDCB arg2, LPCOMMTIMEOUTS arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CallNamedPipe
-#define CallNamedPipe error_use_qxeCallNamedPipe_or_CallNamedPipeA_and_CallNamedPipeW
-#endif
-BOOL qxeCallNamedPipe (const Extbyte * arg1, PVOID arg2, DWORD arg3, PVOID arg4, DWORD arg5, PDWORD arg6, DWORD arg7);
-
-#undef CheckNameLegalDOS8Dot3
-#define CheckNameLegalDOS8Dot3 error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ClearEventLog
-#define ClearEventLog error_use_qxeClearEventLog_or_ClearEventLogA_and_ClearEventLogW
-#endif
-BOOL qxeClearEventLog (HANDLE arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CommConfigDialog
-#define CommConfigDialog error_use_qxeCommConfigDialog_or_CommConfigDialogA_and_CommConfigDialogW
-#endif
-BOOL qxeCommConfigDialog (const Extbyte * arg1, HWND arg2, LPCOMMCONFIG arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CopyFile
-#define CopyFile error_use_qxeCopyFile_or_CopyFileA_and_CopyFileW
-#endif
-BOOL qxeCopyFile (const Extbyte * arg1, const Extbyte * arg2, BOOL arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CopyFileEx
-#define CopyFileEx error_use_qxeCopyFileEx_or_CopyFileExA_and_CopyFileExW
-#endif
-BOOL qxeCopyFileEx (const Extbyte * arg1, const Extbyte * arg2, LPPROGRESS_ROUTINE arg3, LPVOID arg4, LPBOOL arg5, DWORD arg6);
-
-#undef CreateActCtx
-#define CreateActCtx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateDirectory
-#define CreateDirectory error_use_qxeCreateDirectory_or_CreateDirectoryA_and_CreateDirectoryW
-#endif
-BOOL qxeCreateDirectory (const Extbyte * arg1, LPSECURITY_ATTRIBUTES arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateDirectoryEx
-#define CreateDirectoryEx error_use_qxeCreateDirectoryEx_or_CreateDirectoryExA_and_CreateDirectoryExW
-#endif
-BOOL qxeCreateDirectoryEx (const Extbyte * arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateEvent
-#define CreateEvent error_use_qxeCreateEvent_or_CreateEventA_and_CreateEventW
-#endif
-HANDLE qxeCreateEvent (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, BOOL arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateFile
-#define CreateFile error_use_qxeCreateFile_or_CreateFileA_and_CreateFileW
-#endif
-HANDLE qxeCreateFile (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4, DWORD arg5, DWORD arg6, HANDLE arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateFileMapping
-#define CreateFileMapping error_use_qxeCreateFileMapping_or_CreateFileMappingA_and_CreateFileMappingW
-#endif
-HANDLE qxeCreateFileMapping (HANDLE arg1, LPSECURITY_ATTRIBUTES arg2, DWORD arg3, DWORD arg4, DWORD arg5, const Extbyte * arg6);
-
-#undef CreateHardLink
-#define CreateHardLink error_NT_5_0__only
-
-#undef CreateJobObject
-#define CreateJobObject error_NT_5_0__only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateMailslot
-#define CreateMailslot error_use_qxeCreateMailslot_or_CreateMailslotA_and_CreateMailslotW
-#endif
-HANDLE qxeCreateMailslot (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateMutex
-#define CreateMutex error_use_qxeCreateMutex_or_CreateMutexA_and_CreateMutexW
-#endif
-HANDLE qxeCreateMutex (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3);
+/* Processing file NAMEDPIPEAPI.H */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef CreateNamedPipe
 #define CreateNamedPipe error_use_qxeCreateNamedPipe_or_CreateNamedPipeA_and_CreateNamedPipeW
 #endif
-HANDLE qxeCreateNamedPipe (const Extbyte * arg1, DWORD arg2, DWORD arg3, DWORD arg4, DWORD arg5, DWORD arg6, DWORD arg7, LPSECURITY_ATTRIBUTES arg8);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateProcess
-#define CreateProcess error_use_qxeCreateProcess_or_CreateProcessA_and_CreateProcessW
-#endif
-BOOL qxeCreateProcess (const Extbyte * arg1, Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3, LPSECURITY_ATTRIBUTES arg4, BOOL arg5, DWORD arg6, PVOID arg7, const Extbyte * arg8, LPSTARTUPINFOW arg9, LPPROCESS_INFORMATION arg10);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateProcessAsUser
-#define CreateProcessAsUser error_use_qxeCreateProcessAsUser_or_CreateProcessAsUserA_and_CreateProcessAsUserW
-#endif
-BOOL qxeCreateProcessAsUser (HANDLE arg1, const Extbyte * arg2, Extbyte * arg3, LPSECURITY_ATTRIBUTES arg4, LPSECURITY_ATTRIBUTES arg5, BOOL arg6, DWORD arg7, PVOID arg8, const Extbyte * arg9, LPSTARTUPINFOW arg10, LPPROCESS_INFORMATION arg11);
-
-#undef CreateProcessWithLogon
-#define CreateProcessWithLogon error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateSemaphore
-#define CreateSemaphore error_use_qxeCreateSemaphore_or_CreateSemaphoreA_and_CreateSemaphoreW
-#endif
-HANDLE qxeCreateSemaphore (LPSECURITY_ATTRIBUTES arg1, LONG arg2, LONG arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef CreateWaitableTimer
-#define CreateWaitableTimer error_use_qxeCreateWaitableTimer_or_CreateWaitableTimerA_and_CreateWaitableTimerW
-#endif
-HANDLE qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DefineDosDevice
-#define DefineDosDevice error_use_qxeDefineDosDevice_or_DefineDosDeviceA_and_DefineDosDeviceW
-#endif
-BOOL qxeDefineDosDevice (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DeleteFile
-#define DeleteFile error_use_qxeDeleteFile_or_DeleteFileA_and_DeleteFileW
-#endif
-BOOL qxeDeleteFile (const Extbyte * arg1);
-
-#undef DeleteVolumeMountPoint
-#define DeleteVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef DnsHostnameToComputerName
-#define DnsHostnameToComputerName error_Function_needs_review_to_determine_how_to_handle_it
-
-#if !defined (CYGWIN_HEADERS)
-#undef EncryptFile
-#define EncryptFile error_Win2K__only
-#endif /* !defined (CYGWIN_HEADERS) */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef EndUpdateResource
-#define EndUpdateResource error_use_qxeEndUpdateResource_or_EndUpdateResourceA_and_EndUpdateResourceW
-#endif
-BOOL qxeEndUpdateResource (HANDLE arg1, BOOL arg2);
-
-/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */
-
-/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
-
-/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ExpandEnvironmentStrings
-#define ExpandEnvironmentStrings error_use_qxeExpandEnvironmentStrings_or_ExpandEnvironmentStringsA_and_ExpandEnvironmentStringsW
-#endif
-DWORD qxeExpandEnvironmentStrings (const Extbyte * arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FatalAppExit
-#define FatalAppExit error_use_qxeFatalAppExit_or_FatalAppExitA_and_FatalAppExitW
-#endif
-void qxeFatalAppExit (UINT arg1, const Extbyte * arg2);
-
-#undef FileEncryptionStatus
-#define FileEncryptionStatus error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef FindActCtxSectionString
-#define FindActCtxSectionString error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindAtom
-#define FindAtom error_use_qxeFindAtom_or_FindAtomA_and_FindAtomW
-#endif
-ATOM qxeFindAtom (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindFirstChangeNotification
-#define FindFirstChangeNotification error_use_qxeFindFirstChangeNotification_or_FindFirstChangeNotificationA_and_FindFirstChangeNotificationW
-#endif
-HANDLE qxeFindFirstChangeNotification (const Extbyte * arg1, BOOL arg2, DWORD arg3);
-
-/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */
-
-#undef FindFirstFileEx
-#define FindFirstFileEx error_split_sized_LPWIN32_FIND_DATA__not_used__NT_4_0__only
-
-#undef FindFirstVolume
-#define FindFirstVolume error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef FindFirstVolumeMountPoint
-#define FindFirstVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
-
-/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */
-
-#undef FindNextVolume
-#define FindNextVolume error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef FindNextVolumeMountPoint
-#define FindNextVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindResource
-#define FindResource error_use_qxeFindResource_or_FindResourceA_and_FindResourceW
-#endif
-HRSRC qxeFindResource (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FindResourceEx
-#define FindResourceEx error_use_qxeFindResourceEx_or_FindResourceExA_and_FindResourceExW
-#endif
-HRSRC qxeFindResourceEx (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4);
-
-#undef GetFirmwareEnvironmentVariable
-#define GetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FormatMessage
-#define FormatMessage error_use_qxeFormatMessage_or_FormatMessageA_and_FormatMessageW
-#endif
-DWORD qxeFormatMessage (DWORD arg1, PCVOID arg2, DWORD arg3, DWORD arg4, Extbyte * arg5, DWORD arg6, va_list* arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef FreeEnvironmentStrings
-#define FreeEnvironmentStrings error_use_qxeFreeEnvironmentStrings_or_FreeEnvironmentStringsA_and_FreeEnvironmentStringsW
-#endif
-BOOL qxeFreeEnvironmentStrings (Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetAtomName
-#define GetAtomName error_use_qxeGetAtomName_or_GetAtomNameA_and_GetAtomNameW
-#endif
-UINT qxeGetAtomName (ATOM arg1, Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetBinaryType
-#define GetBinaryType error_use_qxeGetBinaryType_or_GetBinaryTypeA_and_GetBinaryTypeW
-#endif
-BOOL qxeGetBinaryType (const Extbyte * arg1, PDWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCommandLine
-#define GetCommandLine error_use_qxeGetCommandLine_or_GetCommandLineA_and_GetCommandLineW
-#endif
-Extbyte * qxeGetCommandLine (void);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCompressedFileSize
-#define GetCompressedFileSize error_use_qxeGetCompressedFileSize_or_GetCompressedFileSizeA_and_GetCompressedFileSizeW
-#endif
-DWORD qxeGetCompressedFileSize (const Extbyte * arg1, PDWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetComputerName
-#define GetComputerName error_use_qxeGetComputerName_or_GetComputerNameA_and_GetComputerNameW
-#endif
-BOOL qxeGetComputerName (Extbyte * arg1, PDWORD arg2);
-
-#undef GetComputerNameEx
-#define GetComputerNameEx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetCurrentDirectory
-#define GetCurrentDirectory error_use_qxeGetCurrentDirectory_or_GetCurrentDirectoryA_and_GetCurrentDirectoryW
-#endif
-DWORD qxeGetCurrentDirectory (DWORD arg1, Extbyte * arg2);
-
-#undef GetCurrentHwProfile
-#define GetCurrentHwProfile error_split_sized_LPHW_PROFILE_INFO__NT_4_0__only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetDefaultCommConfig
-#define GetDefaultCommConfig error_use_qxeGetDefaultCommConfig_or_GetDefaultCommConfigA_and_GetDefaultCommConfigW
-#endif
-BOOL qxeGetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, PDWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetDiskFreeSpace
-#define GetDiskFreeSpace error_use_qxeGetDiskFreeSpace_or_GetDiskFreeSpaceA_and_GetDiskFreeSpaceW
-#endif
-BOOL qxeGetDiskFreeSpace (const Extbyte * arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetDiskFreeSpaceEx
-#define GetDiskFreeSpaceEx error_use_qxeGetDiskFreeSpaceEx_or_GetDiskFreeSpaceExA_and_GetDiskFreeSpaceExW
-#endif
-BOOL qxeGetDiskFreeSpaceEx (const Extbyte * arg1, PULARGE_INTEGER arg2, PULARGE_INTEGER arg3, PULARGE_INTEGER arg4);
-
-#undef GetDllDirectory
-#define GetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetDriveType
-#define GetDriveType error_use_qxeGetDriveType_or_GetDriveTypeA_and_GetDriveTypeW
-#endif
-UINT qxeGetDriveType (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetEnvironmentVariable
-#define GetEnvironmentVariable error_use_qxeGetEnvironmentVariable_or_GetEnvironmentVariableA_and_GetEnvironmentVariableW
-#endif
-DWORD qxeGetEnvironmentVariable (const Extbyte * arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetFileAttributes
-#define GetFileAttributes error_use_qxeGetFileAttributes_or_GetFileAttributesA_and_GetFileAttributesW
-#endif
-DWORD qxeGetFileAttributes (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetFileAttributesEx
-#define GetFileAttributesEx error_use_qxeGetFileAttributesEx_or_GetFileAttributesExA_and_GetFileAttributesExW
-#endif
-BOOL qxeGetFileAttributesEx (const Extbyte * arg1, GET_FILEEX_INFO_LEVELS arg2, PVOID arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetFileSecurity
-#define GetFileSecurity error_use_qxeGetFileSecurity_or_GetFileSecurityA_and_GetFileSecurityW
-#endif
-BOOL qxeGetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3, DWORD arg4, PDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetFullPathName
-#define GetFullPathName error_use_qxeGetFullPathName_or_GetFullPathNameA_and_GetFullPathNameW
-#endif
-DWORD qxeGetFullPathName (const Extbyte * arg1, DWORD arg2, Extbyte * arg3, Extbyte ** arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetLogicalDriveStrings
-#define GetLogicalDriveStrings error_use_qxeGetLogicalDriveStrings_or_GetLogicalDriveStringsA_and_GetLogicalDriveStringsW
-#endif
-DWORD qxeGetLogicalDriveStrings (DWORD arg1, Extbyte * arg2);
-
-#undef GetLongPathName
-#define GetLongPathName error_Win98_2K__only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetModuleFileName
-#define GetModuleFileName error_use_qxeGetModuleFileName_or_GetModuleFileNameA_and_GetModuleFileNameW
-#endif
-DWORD qxeGetModuleFileName (HINSTANCE arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetModuleHandle
-#define GetModuleHandle error_use_qxeGetModuleHandle_or_GetModuleHandleA_and_GetModuleHandleW
-#endif
-HMODULE qxeGetModuleHandle (const Extbyte * arg1);
-
-#undef GetModuleHandleEx
-#define GetModuleHandleEx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetNamedPipeHandleState
-#define GetNamedPipeHandleState error_use_qxeGetNamedPipeHandleState_or_GetNamedPipeHandleStateA_and_GetNamedPipeHandleStateW
-#endif
-BOOL qxeGetNamedPipeHandleState (HANDLE arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, DWORD arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetPrivateProfileInt
-#define GetPrivateProfileInt error_use_qxeGetPrivateProfileInt_or_GetPrivateProfileIntA_and_GetPrivateProfileIntW
-#endif
-UINT qxeGetPrivateProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetPrivateProfileSection
-#define GetPrivateProfileSection error_use_qxeGetPrivateProfileSection_or_GetPrivateProfileSectionA_and_GetPrivateProfileSectionW
-#endif
-DWORD qxeGetPrivateProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetPrivateProfileSectionNames
-#define GetPrivateProfileSectionNames error_use_qxeGetPrivateProfileSectionNames_or_GetPrivateProfileSectionNamesA_and_GetPrivateProfileSectionNamesW
-#endif
-DWORD qxeGetPrivateProfileSectionNames (Extbyte * arg1, DWORD arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetPrivateProfileString
-#define GetPrivateProfileString error_use_qxeGetPrivateProfileString_or_GetPrivateProfileStringA_and_GetPrivateProfileStringW
-#endif
-DWORD qxeGetPrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5, const Extbyte * arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetPrivateProfileStruct
-#define GetPrivateProfileStruct error_use_qxeGetPrivateProfileStruct_or_GetPrivateProfileStructA_and_GetPrivateProfileStructW
-#endif
-BOOL qxeGetPrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetProfileInt
-#define GetProfileInt error_use_qxeGetProfileInt_or_GetProfileIntA_and_GetProfileIntW
-#endif
-UINT qxeGetProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetProfileSection
-#define GetProfileSection error_use_qxeGetProfileSection_or_GetProfileSectionA_and_GetProfileSectionW
-#endif
-DWORD qxeGetProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetProfileString
-#define GetProfileString error_use_qxeGetProfileString_or_GetProfileStringA_and_GetProfileStringW
-#endif
-DWORD qxeGetProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetShortPathName
-#define GetShortPathName error_use_qxeGetShortPathName_or_GetShortPathNameA_and_GetShortPathNameW
-#endif
-DWORD qxeGetShortPathName (const Extbyte * arg1, Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetStartupInfo
-#define GetStartupInfo error_use_qxeGetStartupInfo_or_GetStartupInfoA_and_GetStartupInfoW
-#endif
-VOID qxeGetStartupInfo (LPSTARTUPINFOW arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetSystemDirectory
-#define GetSystemDirectory error_use_qxeGetSystemDirectory_or_GetSystemDirectoryA_and_GetSystemDirectoryW
-#endif
-UINT qxeGetSystemDirectory (Extbyte * arg1, UINT arg2);
-
-#undef GetSystemWindowsDirectory
-#define GetSystemWindowsDirectory error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetSystemWow64Directory
-#define GetSystemWow64Directory error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTempFileName
-#define GetTempFileName error_use_qxeGetTempFileName_or_GetTempFileNameA_and_GetTempFileNameW
-#endif
-UINT qxeGetTempFileName (const Extbyte * arg1, const Extbyte * arg2, UINT arg3, Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetTempPath
-#define GetTempPath error_use_qxeGetTempPath_or_GetTempPathA_and_GetTempPathW
-#endif
-DWORD qxeGetTempPath (DWORD arg1, Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetUserName
-#define GetUserName error_use_qxeGetUserName_or_GetUserNameA_and_GetUserNameW
-#endif
-BOOL qxeGetUserName (Extbyte * arg1, PDWORD arg2);
-
-#undef GetVersionEx
-#define GetVersionEx error_split_sized_LPOSVERSIONINFO
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetVolumeInformation
-#define GetVolumeInformation error_use_qxeGetVolumeInformation_or_GetVolumeInformationA_and_GetVolumeInformationW
-#endif
-BOOL qxeGetVolumeInformation (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, Extbyte * arg7, DWORD arg8);
-
-#undef GetVolumeNameForVolumeMountPoint
-#define GetVolumeNameForVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetVolumePathName
-#define GetVolumePathName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetVolumePathNamesForVolumeName
-#define GetVolumePathNamesForVolumeName error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetWindowsDirectory
-#define GetWindowsDirectory error_use_qxeGetWindowsDirectory_or_GetWindowsDirectoryA_and_GetWindowsDirectoryW
-#endif
-UINT qxeGetWindowsDirectory (Extbyte * arg1, UINT arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GlobalAddAtom
-#define GlobalAddAtom error_use_qxeGlobalAddAtom_or_GlobalAddAtomA_and_GlobalAddAtomW
-#endif
-ATOM qxeGlobalAddAtom (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GlobalFindAtom
-#define GlobalFindAtom error_use_qxeGlobalFindAtom_or_GlobalFindAtomA_and_GlobalFindAtomW
-#endif
-ATOM qxeGlobalFindAtom (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GlobalGetAtomName
-#define GlobalGetAtomName error_use_qxeGlobalGetAtomName_or_GlobalGetAtomNameA_and_GlobalGetAtomNameW
-#endif
-UINT qxeGlobalGetAtomName (ATOM arg1, Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef IsBadStringPtr
-#define IsBadStringPtr error_use_qxeIsBadStringPtr_or_IsBadStringPtrA_and_IsBadStringPtrW
-#endif
-BOOL qxeIsBadStringPtr (const Extbyte * arg1, UINT arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadLibraryEx
-#define LoadLibraryEx error_use_qxeLoadLibraryEx_or_LoadLibraryExA_and_LoadLibraryExW
-#endif
-HINSTANCE qxeLoadLibraryEx (const Extbyte * arg1, HANDLE arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LoadLibrary
-#define LoadLibrary error_use_qxeLoadLibrary_or_LoadLibraryA_and_LoadLibraryW
-#endif
-HINSTANCE qxeLoadLibrary (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LogonUser
-#define LogonUser error_use_qxeLogonUser_or_LogonUserA_and_LogonUserW
-#endif
-BOOL qxeLogonUser (Extbyte * arg1, Extbyte * arg2, Extbyte * arg3, DWORD arg4, DWORD arg5, PHANDLE arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LookupAccountName
-#define LookupAccountName error_use_qxeLookupAccountName_or_LookupAccountNameA_and_LookupAccountNameW
-#endif
-BOOL qxeLookupAccountName (const Extbyte * arg1, const Extbyte * arg2, PSID arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LookupAccountSid
-#define LookupAccountSid error_use_qxeLookupAccountSid_or_LookupAccountSidA_and_LookupAccountSidW
-#endif
-BOOL qxeLookupAccountSid (const Extbyte * arg1, PSID arg2, Extbyte * arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LookupPrivilegeDisplayName
-#define LookupPrivilegeDisplayName error_use_qxeLookupPrivilegeDisplayName_or_LookupPrivilegeDisplayNameA_and_LookupPrivilegeDisplayNameW
-#endif
-BOOL qxeLookupPrivilegeDisplayName (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LookupPrivilegeName
-#define LookupPrivilegeName error_use_qxeLookupPrivilegeName_or_LookupPrivilegeNameA_and_LookupPrivilegeNameW
-#endif
-BOOL qxeLookupPrivilegeName (const Extbyte * arg1, PLUID arg2, Extbyte * arg3, PDWORD arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef LookupPrivilegeValue
-#define LookupPrivilegeValue error_use_qxeLookupPrivilegeValue_or_LookupPrivilegeValueA_and_LookupPrivilegeValueW
-#endif
-BOOL qxeLookupPrivilegeValue (const Extbyte * arg1, const Extbyte * arg2, PLUID arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrcat
-#define lstrcat error_use_qxelstrcat_or_lstrcatA_and_lstrcatW
-#endif
-Extbyte * qxelstrcat (Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrcmpi
-#define lstrcmpi error_use_qxelstrcmpi_or_lstrcmpiA_and_lstrcmpiW
-#endif
-int qxelstrcmpi (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrcmp
-#define lstrcmp error_use_qxelstrcmp_or_lstrcmpA_and_lstrcmpW
-#endif
-int qxelstrcmp (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrcpyn
-#define lstrcpyn error_use_qxelstrcpyn_or_lstrcpynA_and_lstrcpynW
-#endif
-Extbyte * qxelstrcpyn (Extbyte * arg1, const Extbyte * arg2, int arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrcpy
-#define lstrcpy error_use_qxelstrcpy_or_lstrcpyA_and_lstrcpyW
-#endif
-Extbyte * qxelstrcpy (Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef lstrlen
-#define lstrlen error_use_qxelstrlen_or_lstrlenA_and_lstrlenW
-#endif
-int qxelstrlen (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MoveFileEx
-#define MoveFileEx error_use_qxeMoveFileEx_or_MoveFileExA_and_MoveFileExW
-#endif
-BOOL qxeMoveFileEx (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef MoveFile
-#define MoveFile error_use_qxeMoveFile_or_MoveFileA_and_MoveFileW
-#endif
-BOOL qxeMoveFile (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ObjectCloseAuditAlarm
-#define ObjectCloseAuditAlarm error_use_qxeObjectCloseAuditAlarm_or_ObjectCloseAuditAlarmA_and_ObjectCloseAuditAlarmW
-#endif
-BOOL qxeObjectCloseAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ObjectDeleteAuditAlarm
-#define ObjectDeleteAuditAlarm error_use_qxeObjectDeleteAuditAlarm_or_ObjectDeleteAuditAlarmA_and_ObjectDeleteAuditAlarmW
-#endif
-BOOL qxeObjectDeleteAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ObjectOpenAuditAlarm
-#define ObjectOpenAuditAlarm error_use_qxeObjectOpenAuditAlarm_or_ObjectOpenAuditAlarmA_and_ObjectOpenAuditAlarmW
-#endif
-BOOL qxeObjectOpenAuditAlarm (const Extbyte * arg1, PVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, HANDLE arg6, DWORD arg7, DWORD arg8, PPRIVILEGE_SET arg9, BOOL arg10, BOOL arg11, PBOOL arg12);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ObjectPrivilegeAuditAlarm
-#define ObjectPrivilegeAuditAlarm error_use_qxeObjectPrivilegeAuditAlarm_or_ObjectPrivilegeAuditAlarmA_and_ObjectPrivilegeAuditAlarmW
-#endif
-BOOL qxeObjectPrivilegeAuditAlarm (const Extbyte * arg1, PVOID arg2, HANDLE arg3, DWORD arg4, PPRIVILEGE_SET arg5, BOOL arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenBackupEventLog
-#define OpenBackupEventLog error_use_qxeOpenBackupEventLog_or_OpenBackupEventLogA_and_OpenBackupEventLogW
-#endif
-HANDLE qxeOpenBackupEventLog (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenEventLog
-#define OpenEventLog error_use_qxeOpenEventLog_or_OpenEventLogA_and_OpenEventLogW
-#endif
-HANDLE qxeOpenEventLog (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenEvent
-#define OpenEvent error_use_qxeOpenEvent_or_OpenEventA_and_OpenEventW
-#endif
-HANDLE qxeOpenEvent (DWORD arg1, BOOL arg2, const Extbyte * arg3);
+HANDLE qxeCreateNamedPipe (const Extbyte * lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WaitNamedPipe
+#define WaitNamedPipe error_use_qxeWaitNamedPipe_or_WaitNamedPipeA_and_WaitNamedPipeW
+#endif
+WINBOOL qxeWaitNamedPipe (const Extbyte * lpNamedPipeName, DWORD nTimeOut);
+
+#undef GetNamedPipeClientComputerName
+#define GetNamedPipeClientComputerName error_HST__new_____needs_review
+
+
+/* Processing file MEMORYAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateFileMapping
+#define CreateFileMapping error_use_qxeCreateFileMapping_or_CreateFileMappingA_and_CreateFileMappingW
+#endif
+HANDLE qxeCreateFileMapping (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, const Extbyte * lpName);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef OpenFileMapping
 #define OpenFileMapping error_use_qxeOpenFileMapping_or_OpenFileMappingA_and_OpenFileMappingW
 #endif
-HANDLE qxeOpenFileMapping (DWORD arg1, BOOL arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenMutex
-#define OpenMutex error_use_qxeOpenMutex_or_OpenMutexA_and_OpenMutexW
-#endif
-HANDLE qxeOpenMutex (DWORD arg1, BOOL arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenSemaphore
-#define OpenSemaphore error_use_qxeOpenSemaphore_or_OpenSemaphoreA_and_OpenSemaphoreW
-#endif
-HANDLE qxeOpenSemaphore (DWORD arg1, BOOL arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OpenWaitableTimer
-#define OpenWaitableTimer error_use_qxeOpenWaitableTimer_or_OpenWaitableTimerA_and_OpenWaitableTimerW
-#endif
-HANDLE qxeOpenWaitableTimer (DWORD arg1, BOOL arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef OutputDebugString
-#define OutputDebugString error_use_qxeOutputDebugString_or_OutputDebugStringA_and_OutputDebugStringW
-#endif
-void qxeOutputDebugString (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PrivilegedServiceAuditAlarm
-#define PrivilegedServiceAuditAlarm error_use_qxePrivilegedServiceAuditAlarm_or_PrivilegedServiceAuditAlarmA_and_PrivilegedServiceAuditAlarmW
-#endif
-BOOL qxePrivilegedServiceAuditAlarm (const Extbyte * arg1, const Extbyte * arg2, HANDLE arg3, PPRIVILEGE_SET arg4, BOOL arg5);
-
-#undef QueryActCtx
-#define QueryActCtx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef QueryDosDevice
-#define QueryDosDevice error_use_qxeQueryDosDevice_or_QueryDosDeviceA_and_QueryDosDeviceW
-#endif
-DWORD qxeQueryDosDevice (const Extbyte * arg1, Extbyte * arg2, DWORD arg3);
-
-#undef ReadDirectoryChanges
-#define ReadDirectoryChanges error_Unicode_only
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadEventLog
-#define ReadEventLog error_use_qxeReadEventLog_or_ReadEventLogA_and_ReadEventLogW
-#endif
-BOOL qxeReadEventLog (HANDLE arg1, DWORD arg2, DWORD arg3, PVOID arg4, DWORD arg5, DWORD * arg6, DWORD * arg7);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegisterEventSource
-#define RegisterEventSource error_use_qxeRegisterEventSource_or_RegisterEventSourceA_and_RegisterEventSourceW
-#endif
-HANDLE qxeRegisterEventSource (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RemoveDirectory
-#define RemoveDirectory error_use_qxeRemoveDirectory_or_RemoveDirectoryA_and_RemoveDirectoryW
-#endif
-BOOL qxeRemoveDirectory (const Extbyte * arg1);
-
-#undef ReplaceFile
-#define ReplaceFile error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReportEvent
-#define ReportEvent error_use_qxeReportEvent_or_ReportEventA_and_ReportEventW
-#endif
-BOOL qxeReportEvent (HANDLE arg1, WORD arg2, WORD arg3, DWORD arg4, PSID arg5, WORD arg6, DWORD arg7, const Extbyte ** arg8, PVOID arg9);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SearchPath
-#define SearchPath error_use_qxeSearchPath_or_SearchPathA_and_SearchPathW
-#endif
-DWORD qxeSearchPath (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, Extbyte * arg5, Extbyte ** arg6);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetComputerName
-#define SetComputerName error_use_qxeSetComputerName_or_SetComputerNameA_and_SetComputerNameW
-#endif
-BOOL qxeSetComputerName (const Extbyte * arg1);
-
-#undef SetComputerNameEx
-#define SetComputerNameEx error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetCurrentDirectory
-#define SetCurrentDirectory error_use_qxeSetCurrentDirectory_or_SetCurrentDirectoryA_and_SetCurrentDirectoryW
-#endif
-BOOL qxeSetCurrentDirectory (const Extbyte * arg1);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetDefaultCommConfig
-#define SetDefaultCommConfig error_use_qxeSetDefaultCommConfig_or_SetDefaultCommConfigA_and_SetDefaultCommConfigW
-#endif
-BOOL qxeSetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, DWORD arg3);
-
-#undef SetDllDirectory
-#define SetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetEnvironmentVariable
-#define SetEnvironmentVariable error_use_qxeSetEnvironmentVariable_or_SetEnvironmentVariableA_and_SetEnvironmentVariableW
-#endif
-BOOL qxeSetEnvironmentVariable (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetFileAttributes
-#define SetFileAttributes error_use_qxeSetFileAttributes_or_SetFileAttributesA_and_SetFileAttributesW
-#endif
-BOOL qxeSetFileAttributes (const Extbyte * arg1, DWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetFileSecurity
-#define SetFileSecurity error_use_qxeSetFileSecurity_or_SetFileSecurityA_and_SetFileSecurityW
-#endif
-BOOL qxeSetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3);
-
-#undef SetFileShortName
-#define SetFileShortName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SetFirmwareEnvironmentVariable
-#define SetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetVolumeLabel
-#define SetVolumeLabel error_use_qxeSetVolumeLabel_or_SetVolumeLabelA_and_SetVolumeLabelW
-#endif
-BOOL qxeSetVolumeLabel (const Extbyte * arg1, const Extbyte * arg2);
-
-#undef SetVolumeMountPoint
-#define SetVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef UpdateResource
-#define UpdateResource error_use_qxeUpdateResource_or_UpdateResourceA_and_UpdateResourceW
-#endif
-BOOL qxeUpdateResource (HANDLE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4, PVOID arg5, DWORD arg6);
-
-#undef VerifyVersionInfo
-#define VerifyVersionInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WaitNamedPipe
-#define WaitNamedPipe error_use_qxeWaitNamedPipe_or_WaitNamedPipeA_and_WaitNamedPipeW
-#endif
-BOOL qxeWaitNamedPipe (const Extbyte * arg1, DWORD arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WritePrivateProfileSection
-#define WritePrivateProfileSection error_use_qxeWritePrivateProfileSection_or_WritePrivateProfileSectionA_and_WritePrivateProfileSectionW
-#endif
-BOOL qxeWritePrivateProfileSection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WritePrivateProfileString
-#define WritePrivateProfileString error_use_qxeWritePrivateProfileString_or_WritePrivateProfileStringA_and_WritePrivateProfileStringW
-#endif
-BOOL qxeWritePrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WritePrivateProfileStruct
-#define WritePrivateProfileStruct error_use_qxeWritePrivateProfileStruct_or_WritePrivateProfileStructA_and_WritePrivateProfileStructW
-#endif
-BOOL qxeWritePrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteProfileSection
-#define WriteProfileSection error_use_qxeWriteProfileSection_or_WriteProfileSectionA_and_WriteProfileSectionW
-#endif
-BOOL qxeWriteProfileSection (const Extbyte * arg1, const Extbyte * arg2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef WriteProfileString
-#define WriteProfileString error_use_qxeWriteProfileString_or_WriteProfileStringA_and_WriteProfileStringW
-#endif
-BOOL qxeWriteProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3);
-
-
-/* Processing file ACLAPI.h */
-
-#undef BuildExplicitAccessWithName
-#define BuildExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildSecurityDescriptor
-#define BuildSecurityDescriptor error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildTrusteeWithName
-#define BuildTrusteeWithName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildTrusteeWithObjectsAndName
-#define BuildTrusteeWithObjectsAndName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildTrusteeWithObjectsAndSid
-#define BuildTrusteeWithObjectsAndSid error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildTrusteeWithSid
-#define BuildTrusteeWithSid error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetAuditedPermissionsFromAcl
-#define GetAuditedPermissionsFromAcl error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetEffectiveRightsFromAcl
-#define GetEffectiveRightsFromAcl error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetExplicitEntriesFromAcl
-#define GetExplicitEntriesFromAcl error_Function_needs_review_to_determine_how_to_handle_it
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetNamedSecurityInfo
-#define GetNamedSecurityInfo error_use_qxeGetNamedSecurityInfo_or_GetNamedSecurityInfoA_and_GetNamedSecurityInfoW
-#endif
-DWORD qxeGetNamedSecurityInfo (Extbyte * arg1, SE_OBJECT_TYPE arg2, SECURITY_INFORMATION arg3, PSID* arg4, PSID* arg5, PACL* arg6, PACL* arg7, PSECURITY_DESCRIPTOR* arg8);
-
-#undef GetTrusteeForm
-#define GetTrusteeForm error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetTrusteeName
-#define GetTrusteeName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetTrusteeType
-#define GetTrusteeType error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef LookupSecurityDescriptorParts
-#define LookupSecurityDescriptorParts error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SetEntriesInAcl
-#define SetEntriesInAcl error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef SetNamedSecurityInfo
-#define SetNamedSecurityInfo error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildImpersonateExplicitAccessWithName
-#define BuildImpersonateExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef BuildImpersonateTrustee
-#define BuildImpersonateTrustee error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetMultipleTrustee
-#define GetMultipleTrustee error_Function_needs_review_to_determine_how_to_handle_it
-
-#undef GetMultipleTrusteeOperation
-#define GetMultipleTrusteeOperation error_Function_needs_review_to_determine_how_to_handle_it
+HANDLE qxeOpenFileMapping (DWORD dwDesiredAccess, WINBOOL bInheritHandle, const Extbyte * lpName);
+
+#undef CreateFileMappingNuma
+#define CreateFileMappingNuma error_HST__new_____needs_review
 
 
 /* Processing file MMSYSTEM.H */
@@ -2969,13 +1557,13 @@
 #undef sndPlaySound
 #define sndPlaySound error_use_qxesndPlaySound_or_sndPlaySoundA_and_sndPlaySoundW
 #endif
-BOOL qxesndPlaySound (const Extbyte * arg1, UINT arg2);
+WINBOOL qxesndPlaySound (const Extbyte * pszSound, UINT fuSound);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef PlaySound
 #define PlaySound error_use_qxePlaySound_or_PlaySoundA_and_PlaySoundW
 #endif
-BOOL qxePlaySound (const Extbyte * arg1, HMODULE arg2, DWORD arg3);
+WINBOOL qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound);
 
 #undef waveOutGetDevCaps
 #define waveOutGetDevCaps error_split_sized_LPWAVEOUTCAPS
@@ -2984,7 +1572,7 @@
 #undef waveOutGetErrorText
 #define waveOutGetErrorText error_use_qxewaveOutGetErrorText_or_waveOutGetErrorTextA_and_waveOutGetErrorTextW
 #endif
-MMRESULT qxewaveOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3);
+MMRESULT qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
 #undef waveInGetDevCaps
 #define waveInGetDevCaps error_split_sized_LPWAVEINCAPS
@@ -2993,7 +1581,7 @@
 #undef waveInGetErrorText
 #define waveInGetErrorText error_use_qxewaveInGetErrorText_or_waveInGetErrorTextA_and_waveInGetErrorTextW
 #endif
-MMRESULT qxewaveInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3);
+MMRESULT qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
 #undef midiOutGetDevCaps
 #define midiOutGetDevCaps error_split_sized_LPMIDIOUTCAPS
@@ -3002,7 +1590,7 @@
 #undef midiOutGetErrorText
 #define midiOutGetErrorText error_use_qxemidiOutGetErrorText_or_midiOutGetErrorTextA_and_midiOutGetErrorTextW
 #endif
-MMRESULT qxemidiOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3);
+MMRESULT qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
 #undef midiInGetDevCaps
 #define midiInGetDevCaps error_split_sized_LPMIDIOUTCAPS
@@ -3011,7 +1599,7 @@
 #undef midiInGetErrorText
 #define midiInGetErrorText error_use_qxemidiInGetErrorText_or_midiInGetErrorTextA_and_midiInGetErrorTextW
 #endif
-MMRESULT qxemidiInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3);
+MMRESULT qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
 #undef auxGetDevCaps
 #define auxGetDevCaps error_split_sized_LPAUXCAPS
@@ -3035,43 +1623,43 @@
 #undef mmioStringToFOURCC
 #define mmioStringToFOURCC error_use_qxemmioStringToFOURCC_or_mmioStringToFOURCCA_and_mmioStringToFOURCCW
 #endif
-FOURCC qxemmioStringToFOURCC (const Extbyte * arg1, UINT arg2);
+FOURCC qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mmioInstallIOProc
 #define mmioInstallIOProc error_use_qxemmioInstallIOProc_or_mmioInstallIOProcA_and_mmioInstallIOProcW
 #endif
-LPMMIOPROC qxemmioInstallIOProc (FOURCC arg1, LPMMIOPROC arg2, DWORD arg3);
+LPMMIOPROC qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mmioOpen
 #define mmioOpen error_use_qxemmioOpen_or_mmioOpenA_and_mmioOpenW
 #endif
-HMMIO qxemmioOpen (Extbyte * arg1, LPMMIOINFO arg2, DWORD arg3);
+HMMIO qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mmioRename
 #define mmioRename error_use_qxemmioRename_or_mmioRenameA_and_mmioRenameW
 #endif
-MMRESULT qxemmioRename (const Extbyte * arg1, const Extbyte * arg2, LPCMMIOINFO arg3, DWORD arg4);
+MMRESULT qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mciSendCommand
 #define mciSendCommand error_use_qxemciSendCommand_or_mciSendCommandA_and_mciSendCommandW
 #endif
-MCIERROR qxemciSendCommand (MCIDEVICEID arg1, UINT arg2, DWORD arg3, DWORD arg4);
+MCIERROR qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mciSendString
 #define mciSendString error_use_qxemciSendString_or_mciSendStringA_and_mciSendStringW
 #endif
-MCIERROR qxemciSendString (const Extbyte * arg1, Extbyte * arg2, UINT arg3, HWND arg4);
+MCIERROR qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef mciGetDeviceID
 #define mciGetDeviceID error_use_qxemciGetDeviceID_or_mciGetDeviceIDA_and_mciGetDeviceIDW
 #endif
-MCIDEVICEID qxemciGetDeviceID (const Extbyte * arg1);
+MCIDEVICEID qxemciGetDeviceID (const Extbyte * pszDevice);
 
 #if !defined (MINGW)
 #undef mciGetDeviceIDFromElementID
@@ -3082,5 +1670,1848 @@
 #undef mciGetErrorString
 #define mciGetErrorString error_use_qxemciGetErrorString_or_mciGetErrorStringA_and_mciGetErrorStringW
 #endif
-BOOL qxemciGetErrorString (MCIERROR arg1, Extbyte * arg2, UINT arg3);
-
+WINBOOL qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText);
+
+
+/* Processing file WINCON.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PeekConsoleInput
+#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW
+#endif
+WINBOOL qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleInput
+#define ReadConsoleInput error_use_qxeReadConsoleInput_or_ReadConsoleInputA_and_ReadConsoleInputW
+#endif
+WINBOOL qxeReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleInput
+#define WriteConsoleInput error_use_qxeWriteConsoleInput_or_WriteConsoleInputA_and_WriteConsoleInputW
+#endif
+WINBOOL qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleOutput
+#define ReadConsoleOutput error_use_qxeReadConsoleOutput_or_ReadConsoleOutputA_and_ReadConsoleOutputW
+#endif
+WINBOOL qxeReadConsoleOutput (HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleOutput
+#define WriteConsoleOutput error_use_qxeWriteConsoleOutput_or_WriteConsoleOutputA_and_WriteConsoleOutputW
+#endif
+WINBOOL qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleOutputCharacter
+#define ReadConsoleOutputCharacter error_use_qxeReadConsoleOutputCharacter_or_ReadConsoleOutputCharacterA_and_ReadConsoleOutputCharacterW
+#endif
+WINBOOL qxeReadConsoleOutputCharacter (HANDLE hConsoleOutput, Extbyte * lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleOutputCharacter
+#define WriteConsoleOutputCharacter error_use_qxeWriteConsoleOutputCharacter_or_WriteConsoleOutputCharacterA_and_WriteConsoleOutputCharacterW
+#endif
+WINBOOL qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten);
+
+#undef FillConsoleOutputCharacter
+#define FillConsoleOutputCharacter error_split_CHAR
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ScrollConsoleScreenBuffer
+#define ScrollConsoleScreenBuffer error_use_qxeScrollConsoleScreenBuffer_or_ScrollConsoleScreenBufferA_and_ScrollConsoleScreenBufferW
+#endif
+WINBOOL qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetConsoleTitle
+#define GetConsoleTitle error_use_qxeGetConsoleTitle_or_GetConsoleTitleA_and_GetConsoleTitleW
+#endif
+DWORD qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetConsoleTitle
+#define SetConsoleTitle error_use_qxeSetConsoleTitle_or_SetConsoleTitleA_and_SetConsoleTitleW
+#endif
+WINBOOL qxeSetConsoleTitle (const Extbyte * lpConsoleTitle);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsole
+#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW
+#endif
+WINBOOL qxeReadConsole (HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID lpReserved);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsole
+#define WriteConsole error_use_qxeWriteConsole_or_WriteConsoleA_and_WriteConsoleW
+#endif
+WINBOOL qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved);
+
+#undef AddConsoleAlias
+#define AddConsoleAlias error_HST__new_____needs_review
+
+#undef GetConsoleAlias
+#define GetConsoleAlias error_HST__new_____needs_review
+
+#undef GetConsoleAliasesLength
+#define GetConsoleAliasesLength error_HST__new_____needs_review
+
+#undef GetConsoleAliasExesLength
+#define GetConsoleAliasExesLength error_HST__new_____needs_review
+
+#undef GetConsoleAliases
+#define GetConsoleAliases error_HST__new_____needs_review
+
+#undef GetConsoleAliasExes
+#define GetConsoleAliasExes error_HST__new_____needs_review
+
+#undef GetConsoleOriginalTitle
+#define GetConsoleOriginalTitle error_HST__new_____needs_review
+
+
+/* Processing file DEBUGAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OutputDebugString
+#define OutputDebugString error_use_qxeOutputDebugString_or_OutputDebugStringA_and_OutputDebugStringW
+#endif
+VOID qxeOutputDebugString (const Extbyte * lpOutputString);
+
+
+/* Processing file WINNETWK.H */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetAddConnection
+#define WNetAddConnection error_use_qxeWNetAddConnection_or_WNetAddConnectionA_and_WNetAddConnectionW
+#endif
+DWORD qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetAddConnection2
+#define WNetAddConnection2 error_use_qxeWNetAddConnection2_or_WNetAddConnection2A_and_WNetAddConnection2W
+#endif
+DWORD qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetAddConnection3
+#define WNetAddConnection3 error_use_qxeWNetAddConnection3_or_WNetAddConnection3A_and_WNetAddConnection3W
+#endif
+DWORD qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetCancelConnection
+#define WNetCancelConnection error_use_qxeWNetCancelConnection_or_WNetCancelConnectionA_and_WNetCancelConnectionW
+#endif
+DWORD qxeWNetCancelConnection (const Extbyte * lpName, WINBOOL fForce);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetCancelConnection2
+#define WNetCancelConnection2 error_use_qxeWNetCancelConnection2_or_WNetCancelConnection2A_and_WNetCancelConnection2W
+#endif
+DWORD qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, WINBOOL fForce);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetConnection
+#define WNetGetConnection error_use_qxeWNetGetConnection_or_WNetGetConnectionA_and_WNetGetConnectionW
+#endif
+DWORD qxeWNetGetConnection (const Extbyte * lpLocalName, Extbyte * lpRemoteName, LPDWORD lpnLength);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetUseConnection
+#define WNetUseConnection error_use_qxeWNetUseConnection_or_WNetUseConnectionA_and_WNetUseConnectionW
+#endif
+DWORD qxeWNetUseConnection (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserID, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef WNetRestoreSingleConnection
+#define WNetRestoreSingleConnection error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef WNetRestoreConnection
+#define WNetRestoreConnection error_HST__new_____needs_review
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetConnectionDialog1
+#define WNetConnectionDialog1 error_use_qxeWNetConnectionDialog1_or_WNetConnectionDialog1A_and_WNetConnectionDialog1W
+#endif
+DWORD qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW lpConnDlgStruct);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetDisconnectDialog1
+#define WNetDisconnectDialog1 error_use_qxeWNetDisconnectDialog1_or_WNetDisconnectDialog1A_and_WNetDisconnectDialog1W
+#endif
+DWORD qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW lpConnDlgStruct);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetOpenEnum
+#define WNetOpenEnum error_use_qxeWNetOpenEnum_or_WNetOpenEnumA_and_WNetOpenEnumW
+#endif
+DWORD qxeWNetOpenEnum (DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetEnumResource
+#define WNetEnumResource error_use_qxeWNetEnumResource_or_WNetEnumResourceA_and_WNetEnumResourceW
+#endif
+DWORD qxeWNetEnumResource (HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef WNetGetResourceParent
+#define WNetGetResourceParent error_Function_needs_review_to_determine_how_to_handle_it
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef WNetGetResourceInformation
+#define WNetGetResourceInformation error_Function_needs_review_to_determine_how_to_handle_it
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetUniversalName
+#define WNetGetUniversalName error_use_qxeWNetGetUniversalName_or_WNetGetUniversalNameA_and_WNetGetUniversalNameW
+#endif
+DWORD qxeWNetGetUniversalName (const Extbyte * lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetUser
+#define WNetGetUser error_use_qxeWNetGetUser_or_WNetGetUserA_and_WNetGetUserW
+#endif
+DWORD qxeWNetGetUser (const Extbyte * lpName, Extbyte * lpUserName, LPDWORD lpnLength);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetProviderName
+#define WNetGetProviderName error_use_qxeWNetGetProviderName_or_WNetGetProviderNameA_and_WNetGetProviderNameW
+#endif
+DWORD qxeWNetGetProviderName (DWORD dwNetType, Extbyte * lpProviderName, LPDWORD lpBufferSize);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetNetworkInformation
+#define WNetGetNetworkInformation error_use_qxeWNetGetNetworkInformation_or_WNetGetNetworkInformationA_and_WNetGetNetworkInformationW
+#endif
+DWORD qxeWNetGetNetworkInformation (const Extbyte * lpProvider, LPNETINFOSTRUCT lpNetInfoStruct);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WNetGetLastError
+#define WNetGetLastError error_use_qxeWNetGetLastError_or_WNetGetLastErrorA_and_WNetGetLastErrorW
+#endif
+DWORD qxeWNetGetLastError (LPDWORD lpError, Extbyte * lpErrorBuf, DWORD nErrorBufSize, Extbyte * lpNameBuf, DWORD nNameBufSize);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MultinetGetConnectionPerformance
+#define MultinetGetConnectionPerformance error_use_qxeMultinetGetConnectionPerformance_or_MultinetGetConnectionPerformanceA_and_MultinetGetConnectionPerformanceW
+#endif
+DWORD qxeMultinetGetConnectionPerformance (LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+
+/* Processing file DDEML.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DdeInitialize
+#define DdeInitialize error_use_qxeDdeInitialize_or_DdeInitializeA_and_DdeInitializeW
+#endif
+UINT qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DdeCreateStringHandle
+#define DdeCreateStringHandle error_use_qxeDdeCreateStringHandle_or_DdeCreateStringHandleA_and_DdeCreateStringHandleW
+#endif
+HSZ qxeDdeCreateStringHandle (DWORD idInst, const Extbyte * psz, int iCodePage);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DdeQueryString
+#define DdeQueryString error_use_qxeDdeQueryString_or_DdeQueryStringA_and_DdeQueryStringW
+#endif
+DWORD qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage);
+
+
+/* Processing file WINGDI.H */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AddFontResource
+#define AddFontResource error_use_qxeAddFontResource_or_AddFontResourceA_and_AddFontResourceW
+#endif
+int qxeAddFontResource (const Extbyte * arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CopyMetaFile
+#define CopyMetaFile error_use_qxeCopyMetaFile_or_CopyMetaFileA_and_CopyMetaFileW
+#endif
+HMETAFILE qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping CreateDC because split-sized DEVMODE */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping CreateFontIndirect because split-sized LOGFONT */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateFont
+#define CreateFont error_use_qxeCreateFont_or_CreateFontA_and_CreateFontW
+#endif
+HFONT qxeCreateFont (int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, const Extbyte * pszFaceName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping CreateIC because split-sized DEVMODE */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateMetaFile
+#define CreateMetaFile error_use_qxeCreateMetaFile_or_CreateMetaFileA_and_CreateMetaFileW
+#endif
+HDC qxeCreateMetaFile (const Extbyte * pszFile);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateScalableFontResource
+#define CreateScalableFontResource error_use_qxeCreateScalableFontResource_or_CreateScalableFontResourceA_and_CreateScalableFontResourceW
+#endif
+WINBOOL qxeCreateScalableFontResource (DWORD fdwHidden, const Extbyte * lpszFont, const Extbyte * lpszFile, const Extbyte * lpszPath);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping DeviceCapabilities because split-sized DEVMODE */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumFontFamilies
+#define EnumFontFamilies error_split_complex_FONTENUMPROC
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef EnumFonts
+#define EnumFonts error_split_complex_FONTENUMPROC
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharWidth
+#define GetCharWidth error_use_qxeGetCharWidth_or_GetCharWidthA_and_GetCharWidthW
+#endif
+WINBOOL qxeGetCharWidth (HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharWidth32
+#define GetCharWidth32 error_use_qxeGetCharWidth32_or_GetCharWidth32A_and_GetCharWidth32W
+#endif
+WINBOOL qxeGetCharWidth32 (HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharWidthFloat
+#define GetCharWidthFloat error_use_qxeGetCharWidthFloat_or_GetCharWidthFloatA_and_GetCharWidthFloatW
+#endif
+WINBOOL qxeGetCharWidthFloat (HDC hdc, UINT iFirst, UINT iLast, PFLOAT lpBuffer);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharABCWidths
+#define GetCharABCWidths error_use_qxeGetCharABCWidths_or_GetCharABCWidthsA_and_GetCharABCWidthsW
+#endif
+WINBOOL qxeGetCharABCWidths (HDC hdc, UINT wFirst, UINT wLast, LPABC lpABC);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharABCWidthsFloat
+#define GetCharABCWidthsFloat error_use_qxeGetCharABCWidthsFloat_or_GetCharABCWidthsFloatA_and_GetCharABCWidthsFloatW
+#endif
+WINBOOL qxeGetCharABCWidthsFloat (HDC hdc, UINT iFirst, UINT iLast, LPABCFLOAT lpABC);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetGlyphOutline
+#define GetGlyphOutline error_use_qxeGetGlyphOutline_or_GetGlyphOutlineA_and_GetGlyphOutlineW
+#endif
+DWORD qxeGetGlyphOutline (HDC hdc, UINT uChar, UINT fuFormat, LPGLYPHMETRICS lpgm, DWORD cjBuffer, LPVOID pvBuffer, CONST MAT2 * lpmat2);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetMetaFile
+#define GetMetaFile error_use_qxeGetMetaFile_or_GetMetaFileA_and_GetMetaFileW
+#endif
+HMETAFILE qxeGetMetaFile (const Extbyte * lpName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetOutlineTextMetrics
+#define GetOutlineTextMetrics error_split_sized_LPOUTLINETEXTMETRIC
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTextExtentPoint
+#define GetTextExtentPoint error_use_qxeGetTextExtentPoint_or_GetTextExtentPointA_and_GetTextExtentPointW
+#endif
+WINBOOL qxeGetTextExtentPoint (HDC hdc, const Extbyte * lpString, int c, LPSIZE lpsz);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTextExtentPoint32
+#define GetTextExtentPoint32 error_use_qxeGetTextExtentPoint32_or_GetTextExtentPoint32A_and_GetTextExtentPoint32W
+#endif
+WINBOOL qxeGetTextExtentPoint32 (HDC hdc, const Extbyte * lpString, int c, LPSIZE psizl);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTextExtentExPoint
+#define GetTextExtentExPoint error_use_qxeGetTextExtentExPoint_or_GetTextExtentExPointA_and_GetTextExtentExPointW
+#endif
+WINBOOL qxeGetTextExtentExPoint (HDC hdc, const Extbyte * lpszString, int cchString, int nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCharacterPlacement
+#define GetCharacterPlacement error_use_qxeGetCharacterPlacement_or_GetCharacterPlacementA_and_GetCharacterPlacementW
+#endif
+DWORD qxeGetCharacterPlacement (HDC hdc, const Extbyte * lpString, int nCount, int nMexExtent, LPGCP_RESULTSW lpResults, DWORD dwFlags);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetGlyphIndices
+#define GetGlyphIndices error_NT_5_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef AddFontResourceEx
+#define AddFontResourceEx error_NT_5_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef RemoveFontResourceEx
+#define RemoveFontResourceEx error_NT_5_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef CreateFontIndirectEx
+#define CreateFontIndirectEx error_split_sized_ENUMLOGFONTEXDV__NT_5_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping ResetDC because split-sized DEVMODE */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RemoveFontResource
+#define RemoveFontResource error_use_qxeRemoveFontResource_or_RemoveFontResourceA_and_RemoveFontResourceW
+#endif
+WINBOOL qxeRemoveFontResource (const Extbyte * lpFileName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CopyEnhMetaFile
+#define CopyEnhMetaFile error_use_qxeCopyEnhMetaFile_or_CopyEnhMetaFileA_and_CopyEnhMetaFileW
+#endif
+HENHMETAFILE qxeCopyEnhMetaFile (HENHMETAFILE hEnh, const Extbyte * lpFileName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateEnhMetaFile
+#define CreateEnhMetaFile error_use_qxeCreateEnhMetaFile_or_CreateEnhMetaFileA_and_CreateEnhMetaFileW
+#endif
+HDC qxeCreateEnhMetaFile (HDC hdc, const Extbyte * lpFilename, CONST RECT * lprc, const Extbyte * lpDesc);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetEnhMetaFile
+#define GetEnhMetaFile error_use_qxeGetEnhMetaFile_or_GetEnhMetaFileA_and_GetEnhMetaFileW
+#endif
+HENHMETAFILE qxeGetEnhMetaFile (const Extbyte * lpName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetEnhMetaFileDescription
+#define GetEnhMetaFileDescription error_use_qxeGetEnhMetaFileDescription_or_GetEnhMetaFileDescriptionA_and_GetEnhMetaFileDescriptionW
+#endif
+UINT qxeGetEnhMetaFileDescription (HENHMETAFILE hemf, UINT cchBuffer, Extbyte * lpDescription);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef StartDoc
+#define StartDoc error_use_qxeStartDoc_or_StartDocA_and_StartDocW
+#endif
+int qxeStartDoc (HDC hdc, CONST DOCINFOW * lpdi);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping GetObject because split-sized LOGFONT */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef TextOut
+#define TextOut error_use_qxeTextOut_or_TextOutA_and_TextOutW
+#endif
+WINBOOL qxeTextOut (HDC hdc, int x, int y, const Extbyte * lpString, int c);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ExtTextOut
+#define ExtTextOut error_use_qxeExtTextOut_or_ExtTextOutA_and_ExtTextOutW
+#endif
+WINBOOL qxeExtTextOut (HDC hdc, int x, int y, UINT options, CONST RECT * lprect, const Extbyte * lpString, UINT c, CONST INT * lpDx);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef PolyTextOut
+#define PolyTextOut error_use_qxePolyTextOut_or_PolyTextOutA_and_PolyTextOutW
+#endif
+WINBOOL qxePolyTextOut (HDC hdc, CONST POLYTEXTW * ppt, int nstrings);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTextFace
+#define GetTextFace error_use_qxeGetTextFace_or_GetTextFaceA_and_GetTextFaceW
+#endif
+int qxeGetTextFace (HDC hdc, int c, Extbyte * lpName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetKerningPairs
+#define GetKerningPairs error_use_qxeGetKerningPairs_or_GetKerningPairsA_and_GetKerningPairsW
+#endif
+DWORD qxeGetKerningPairs (HDC hdc, DWORD nPairs, LPKERNINGPAIR lpKernPair);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef GetLogColorSpace
+#define GetLogColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef CreateColorSpace
+#define CreateColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetICMProfile
+#define GetICMProfile error_use_qxeGetICMProfile_or_GetICMProfileA_and_GetICMProfileW
+#endif
+WINBOOL qxeGetICMProfile (HDC hdc, LPDWORD pBufSize, Extbyte * pszFilename);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetICMProfile
+#define SetICMProfile error_use_qxeSetICMProfile_or_SetICMProfileA_and_SetICMProfileW
+#endif
+WINBOOL qxeSetICMProfile (HDC hdc, Extbyte * lpFileName);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EnumICMProfiles
+#define EnumICMProfiles error_use_qxeEnumICMProfiles_or_EnumICMProfilesA_and_EnumICMProfilesW
+#endif
+int qxeEnumICMProfiles (HDC hdc, ICMENUMPROCW lpProc, LPARAM lParam);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef wglUseFontBitmaps
+#define wglUseFontBitmaps error_causes_link_error
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef wglUseFontOutlines
+#define wglUseFontOutlines error_causes_link_error
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+
+/* Processing file WINNLS.H */
+
+#undef LCMapString
+#define LCMapString error_not_used__not_examined_yet
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetLocaleInfo
+#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW
+#endif
+int qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData);
+
+#undef GetNumberFormat
+#define GetNumberFormat error_not_used__not_examined_yet
+
+#undef GetCurrencyFormat
+#define GetCurrencyFormat error_not_used__not_examined_yet
+
+#undef EnumCalendarInfo
+#define EnumCalendarInfo error_not_used__not_examined_yet
+
+#undef EnumCalendarInfoEx
+#define EnumCalendarInfoEx error_not_used__not_examined_yet
+
+#undef EnumTimeFormats
+#define EnumTimeFormats error_not_used__not_examined_yet
+
+#undef EnumDateFormats
+#define EnumDateFormats error_not_used__not_examined_yet
+
+#undef EnumDateFormatsEx
+#define EnumDateFormatsEx error_not_used__not_examined_yet
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetLocaleInfo
+#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW
+#endif
+WINBOOL qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData);
+
+#undef GetCalendarInfo
+#define GetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef SetCalendarInfo
+#define SetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetGeoInfo
+#define GetGeoInfo error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetCPInfoEx
+#define GetCPInfoEx error_not_used__not_examined_yet
+
+#undef EnumSystemLocales
+#define EnumSystemLocales error_not_used__not_examined_yet
+
+#undef EnumSystemLanguageGroups
+#define EnumSystemLanguageGroups error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef EnumLanguageGroupLocales
+#define EnumLanguageGroupLocales error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef EnumUILanguages
+#define EnumUILanguages error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef EnumSystemCodePages
+#define EnumSystemCodePages error_not_used__not_examined_yet
+
+
+/* Processing file WINREG.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegConnectRegistry
+#define RegConnectRegistry error_use_qxeRegConnectRegistry_or_RegConnectRegistryA_and_RegConnectRegistryW
+#endif
+LONG qxeRegConnectRegistry (const Extbyte * lpMachineName, HKEY hKey, PHKEY phkResult);
+
+#undef RegConnectRegistryEx
+#define RegConnectRegistryEx error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegCreateKey
+#define RegCreateKey error_use_qxeRegCreateKey_or_RegCreateKeyA_and_RegCreateKeyW
+#endif
+LONG qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegCreateKeyEx
+#define RegCreateKeyEx error_use_qxeRegCreateKeyEx_or_RegCreateKeyExA_and_RegCreateKeyExW
+#endif
+LONG qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegDeleteKey
+#define RegDeleteKey error_use_qxeRegDeleteKey_or_RegDeleteKeyA_and_RegDeleteKeyW
+#endif
+LONG qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey);
+
+#undef RegDeleteKeyEx
+#define RegDeleteKeyEx error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegDeleteValue
+#define RegDeleteValue error_use_qxeRegDeleteValue_or_RegDeleteValueA_and_RegDeleteValueW
+#endif
+LONG qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegEnumKey
+#define RegEnumKey error_use_qxeRegEnumKey_or_RegEnumKeyA_and_RegEnumKeyW
+#endif
+LONG qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cchName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegEnumKeyEx
+#define RegEnumKeyEx error_use_qxeRegEnumKeyEx_or_RegEnumKeyExA_and_RegEnumKeyExW
+#endif
+LONG qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcchName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcchClass, PFILETIME lpftLastWriteTime);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegEnumValue
+#define RegEnumValue error_use_qxeRegEnumValue_or_RegEnumValueA_and_RegEnumValueW
+#endif
+LONG qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegLoadKey
+#define RegLoadKey error_use_qxeRegLoadKey_or_RegLoadKeyA_and_RegLoadKeyW
+#endif
+LONG qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegOpenKey
+#define RegOpenKey error_use_qxeRegOpenKey_or_RegOpenKeyA_and_RegOpenKeyW
+#endif
+LONG qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegOpenKeyEx
+#define RegOpenKeyEx error_use_qxeRegOpenKeyEx_or_RegOpenKeyExA_and_RegOpenKeyExW
+#endif
+LONG qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegQueryInfoKey
+#define RegQueryInfoKey error_use_qxeRegQueryInfoKey_or_RegQueryInfoKeyA_and_RegQueryInfoKeyW
+#endif
+LONG qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcchClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegQueryValue
+#define RegQueryValue error_use_qxeRegQueryValue_or_RegQueryValueA_and_RegQueryValueW
+#endif
+LONG qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpData, PLONG lpcbData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegQueryMultipleValues
+#define RegQueryMultipleValues error_use_qxeRegQueryMultipleValues_or_RegQueryMultipleValuesA_and_RegQueryMultipleValuesW
+#endif
+LONG qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegQueryValueEx
+#define RegQueryValueEx error_use_qxeRegQueryValueEx_or_RegQueryValueExA_and_RegQueryValueExW
+#endif
+LONG qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegReplaceKey
+#define RegReplaceKey error_use_qxeRegReplaceKey_or_RegReplaceKeyA_and_RegReplaceKeyW
+#endif
+LONG qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegRestoreKey
+#define RegRestoreKey error_use_qxeRegRestoreKey_or_RegRestoreKeyA_and_RegRestoreKeyW
+#endif
+LONG qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegSaveKey
+#define RegSaveKey error_use_qxeRegSaveKey_or_RegSaveKeyA_and_RegSaveKeyW
+#endif
+LONG qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegSetValue
+#define RegSetValue error_use_qxeRegSetValue_or_RegSetValueA_and_RegSetValueW
+#endif
+LONG qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegSetValueEx
+#define RegSetValueEx error_use_qxeRegSetValueEx_or_RegSetValueExA_and_RegSetValueExW
+#endif
+LONG qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE * lpData, DWORD cbData);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegUnLoadKey
+#define RegUnLoadKey error_use_qxeRegUnLoadKey_or_RegUnLoadKeyA_and_RegUnLoadKeyW
+#endif
+LONG qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey);
+
+#undef RegGetValue
+#define RegGetValue error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef InitiateSystemShutdown
+#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW
+#endif
+WINBOOL qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, WINBOOL bForceAppsClosed, WINBOOL bRebootAfterShutdown);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AbortSystemShutdown
+#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW
+#endif
+BOOL qxeAbortSystemShutdown (Extbyte * arg1);
+
+#undef InitiateSystemShutdownEx
+#define InitiateSystemShutdownEx error_HST__new_____needs_review
+
+#undef RegSaveKeyEx
+#define RegSaveKeyEx error_HST__new_____needs_review
+
+#undef RegCopyTree
+#define RegCopyTree error_HST__new_____needs_review
+
+#undef RegCreateKeyTransacted
+#define RegCreateKeyTransacted error_HST__new_____needs_review
+
+#undef RegDeleteKeyTransacted
+#define RegDeleteKeyTransacted error_HST__new_____needs_review
+
+#undef RegDeleteKeyValue
+#define RegDeleteKeyValue error_HST__new_____needs_review
+
+#undef RegDeleteTree
+#define RegDeleteTree error_HST__new_____needs_review
+
+#undef RegLoadAppKey
+#define RegLoadAppKey error_HST__new_____needs_review
+
+#undef RegLoadMUIString
+#define RegLoadMUIString error_HST__new_____needs_review
+
+#undef RegOpenKeyTransacted
+#define RegOpenKeyTransacted error_HST__new_____needs_review
+
+#undef RegSetKeyValue
+#define RegSetKeyValue error_HST__new_____needs_review
+
+
+/* Processing file SYSINFOAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetSystemDirectory
+#define GetSystemDirectory error_use_qxeGetSystemDirectory_or_GetSystemDirectoryA_and_GetSystemDirectoryW
+#endif
+UINT qxeGetSystemDirectory (Extbyte * lpBuffer, UINT uSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetWindowsDirectory
+#define GetWindowsDirectory error_use_qxeGetWindowsDirectory_or_GetWindowsDirectoryA_and_GetWindowsDirectoryW
+#endif
+UINT qxeGetWindowsDirectory (Extbyte * lpBuffer, UINT uSize);
+
+#undef GetSystemWindowsDirectory
+#define GetSystemWindowsDirectory error_HST__new_____needs_review
+
+#undef GetComputerNameEx
+#define GetComputerNameEx error_HST__new_____needs_review
+
+#undef SetComputerNameEx
+#define SetComputerNameEx error_HST__new_____needs_review
+
+#undef GetVersionEx
+#define GetVersionEx error_HST__new_____needs_review
+
+
+/* Processing file COMMDLG.H */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetOpenFileName
+#define GetOpenFileName error_use_qxeGetOpenFileName_or_GetOpenFileNameA_and_GetOpenFileNameW
+#endif
+WINBOOL qxeGetOpenFileName (LPOPENFILENAMEW arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetSaveFileName
+#define GetSaveFileName error_use_qxeGetSaveFileName_or_GetSaveFileNameA_and_GetSaveFileNameW
+#endif
+WINBOOL qxeGetSaveFileName (LPOPENFILENAMEW arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetFileTitle
+#define GetFileTitle error_use_qxeGetFileTitle_or_GetFileTitleA_and_GetFileTitleW
+#endif
+short qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ChooseColor
+#define ChooseColor error_use_qxeChooseColor_or_ChooseColorA_and_ChooseColorW
+#endif
+WINBOOL qxeChooseColor (LPCHOOSECOLORW arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindText
+#define FindText error_use_qxeFindText_or_FindTextA_and_FindTextW
+#endif
+HWND qxeFindText (LPFINDREPLACEW arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReplaceText
+#define ReplaceText error_use_qxeReplaceText_or_ReplaceTextA_and_ReplaceTextW
+#endif
+HWND qxeReplaceText (LPFINDREPLACEW arg1);
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef ChooseFont
+#define ChooseFont error_split_sized_LPLOGFONT_in_LPCHOOSEFONT
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+#undef PrintDlgEx
+#define PrintDlgEx error_Function_needs_review_to_determine_how_to_handle_it
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
+/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+
+/* Processing file SHLOBJ.H */
+
+#undef SHGetIconOverlayIndex
+#define SHGetIconOverlayIndex error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef ILCreateFromPath
+#define ILCreateFromPath error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SHGetPathFromIDList
+#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW
+#endif
+WINBOOL qxeSHGetPathFromIDList (PCIDLIST_ABSOLUTE pidl, Extbyte * pszPath);
+
+#undef SHCreateDirectoryEx
+#define SHCreateDirectoryEx error_Function_needs_review_to_determine_how_to_handle_it
+
+/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
+
+#undef SHGetFolderPath
+#define SHGetFolderPath error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef SHSetFolderPath
+#define SHSetFolderPath error_HST__new_____needs_review
+
+#undef SHGetFolderPathAndSubDir
+#define SHGetFolderPathAndSubDir error_Function_needs_review_to_determine_how_to_handle_it
+
+/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
+
+#undef SHUpdateImage
+#define SHUpdateImage error_HST__new_____needs_review
+
+#undef PathIsSlow
+#define PathIsSlow error_HST__new_____needs_review
+
+#undef SHStartNetConnectionDialog
+#define SHStartNetConnectionDialog error_HST__new_____needs_review
+
+#undef SHDefExtractIcon
+#define SHDefExtractIcon error_HST__new_____needs_review
+
+#undef Shell_GetCachedImageIndex
+#define Shell_GetCachedImageIndex error_HST__new_____needs_review
+
+
+/* Processing file PROCESSTHREADSAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetStartupInfo
+#define GetStartupInfo error_use_qxeGetStartupInfo_or_GetStartupInfoA_and_GetStartupInfoW
+#endif
+VOID qxeGetStartupInfo (LPSTARTUPINFOW lpStartupInfo);
+
+#undef CreateProcess
+#define CreateProcess error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateProcessAsUser
+#define CreateProcessAsUser error_use_qxeCreateProcessAsUser_or_CreateProcessAsUserA_and_CreateProcessAsUserW
+#endif
+WINBOOL qxeCreateProcessAsUser (HANDLE hToken, const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
+
+
+/* Processing file WINBASE.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetBinaryType
+#define GetBinaryType error_use_qxeGetBinaryType_or_GetBinaryTypeA_and_GetBinaryTypeW
+#endif
+WINBOOL qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType);
+
+#undef GetLongPathNameTransacted
+#define GetLongPathNameTransacted error_HST__new_____needs_review
+
+#undef SetFileShortName
+#define SetFileShortName error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FormatMessage
+#define FormatMessage error_use_qxeFormatMessage_or_FormatMessageA_and_FormatMessageW
+#endif
+DWORD qxeFormatMessage (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, Extbyte * lpBuffer, DWORD nSize, va_list * Arguments);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateMailslot
+#define CreateMailslot error_use_qxeCreateMailslot_or_CreateMailslotA_and_CreateMailslotW
+#endif
+HANDLE qxeCreateMailslot (const Extbyte * lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+
+#if !defined (CYGWIN_HEADERS)
+#undef EncryptFile
+#define EncryptFile error_Win2K__only
+#endif /* !defined (CYGWIN_HEADERS) */
+
+#if !defined (CYGWIN_HEADERS)
+#undef DecryptFile
+#define DecryptFile error_Win2K__only
+#endif /* !defined (CYGWIN_HEADERS) */
+
+#undef FileEncryptionStatus
+#define FileEncryptionStatus error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef OpenEncryptedFileRaw
+#define OpenEncryptedFileRaw error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrcmp
+#define lstrcmp error_use_qxelstrcmp_or_lstrcmpA_and_lstrcmpW
+#endif
+int qxelstrcmp (const Extbyte * lpString1, const Extbyte * lpString2);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrcmpi
+#define lstrcmpi error_use_qxelstrcmpi_or_lstrcmpiA_and_lstrcmpiW
+#endif
+int qxelstrcmpi (const Extbyte * lpString1, const Extbyte * lpString2);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrcpyn
+#define lstrcpyn error_use_qxelstrcpyn_or_lstrcpynA_and_lstrcpynW
+#endif
+Extbyte * qxelstrcpyn (Extbyte * lpString1, const Extbyte * lpString2, int iMaxLength);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrcpy
+#define lstrcpy error_use_qxelstrcpy_or_lstrcpyA_and_lstrcpyW
+#endif
+Extbyte * qxelstrcpy (Extbyte * lpString1, const Extbyte * lpString2);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrcat
+#define lstrcat error_use_qxelstrcat_or_lstrcatA_and_lstrcatW
+#endif
+Extbyte * qxelstrcat (Extbyte * lpString1, const Extbyte * lpString2);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef lstrlen
+#define lstrlen error_use_qxelstrlen_or_lstrlenA_and_lstrlenW
+#endif
+int qxelstrlen (const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateSemaphore
+#define CreateSemaphore error_use_qxeCreateSemaphore_or_CreateSemaphoreA_and_CreateSemaphoreW
+#endif
+HANDLE qxeCreateSemaphore (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, const Extbyte * lpName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateWaitableTimer
+#define CreateWaitableTimer error_use_qxeCreateWaitableTimer_or_CreateWaitableTimerA_and_CreateWaitableTimerW
+#endif
+HANDLE qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, const Extbyte * lpTimerName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LoadLibrary
+#define LoadLibrary error_use_qxeLoadLibrary_or_LoadLibraryA_and_LoadLibraryW
+#endif
+HMODULE qxeLoadLibrary (const Extbyte * lpLibFileName);
+
+#undef QueryFullProcessImageName
+#define QueryFullProcessImageName error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FatalAppExit
+#define FatalAppExit error_use_qxeFatalAppExit_or_FatalAppExitA_and_FatalAppExitW
+#endif
+VOID qxeFatalAppExit (UINT uAction, const Extbyte * lpMessageText);
+
+#undef GetFirmwareEnvironmentVariable
+#define GetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef SetFirmwareEnvironmentVariable
+#define SetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindResource
+#define FindResource error_use_qxeFindResource_or_FindResourceA_and_FindResourceW
+#endif
+HRSRC qxeFindResource (HMODULE hModule, const Extbyte * lpName, const Extbyte * lpType);
+
+/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef BeginUpdateResource
+#define BeginUpdateResource error_use_qxeBeginUpdateResource_or_BeginUpdateResourceA_and_BeginUpdateResourceW
+#endif
+HANDLE qxeBeginUpdateResource (const Extbyte * pFileName, WINBOOL bDeleteExistingResources);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef UpdateResource
+#define UpdateResource error_use_qxeUpdateResource_or_UpdateResourceA_and_UpdateResourceW
+#endif
+WINBOOL qxeUpdateResource (HANDLE hUpdate, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage, LPVOID lpData, DWORD cb);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef EndUpdateResource
+#define EndUpdateResource error_use_qxeEndUpdateResource_or_EndUpdateResourceA_and_EndUpdateResourceW
+#endif
+WINBOOL qxeEndUpdateResource (HANDLE hUpdate, WINBOOL fDiscard);
+
+#undef GetFirmwareEnvironmentVariableEx
+#define GetFirmwareEnvironmentVariableEx error_HST__new_____needs_review
+
+#undef SetFirmwareEnvironmentVariableEx
+#define SetFirmwareEnvironmentVariableEx error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GlobalAddAtom
+#define GlobalAddAtom error_use_qxeGlobalAddAtom_or_GlobalAddAtomA_and_GlobalAddAtomW
+#endif
+ATOM qxeGlobalAddAtom (const Extbyte * lpString);
+
+#undef GlobalAddAtomEx
+#define GlobalAddAtomEx error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GlobalFindAtom
+#define GlobalFindAtom error_use_qxeGlobalFindAtom_or_GlobalFindAtomA_and_GlobalFindAtomW
+#endif
+ATOM qxeGlobalFindAtom (const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GlobalGetAtomName
+#define GlobalGetAtomName error_use_qxeGlobalGetAtomName_or_GlobalGetAtomNameA_and_GlobalGetAtomNameW
+#endif
+UINT qxeGlobalGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AddAtom
+#define AddAtom error_use_qxeAddAtom_or_AddAtomA_and_AddAtomW
+#endif
+ATOM qxeAddAtom (const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindAtom
+#define FindAtom error_use_qxeFindAtom_or_FindAtomA_and_FindAtomW
+#endif
+ATOM qxeFindAtom (const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetAtomName
+#define GetAtomName error_use_qxeGetAtomName_or_GetAtomNameA_and_GetAtomNameW
+#endif
+UINT qxeGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetProfileInt
+#define GetProfileInt error_use_qxeGetProfileInt_or_GetProfileIntA_and_GetProfileIntW
+#endif
+UINT qxeGetProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetProfileString
+#define GetProfileString error_use_qxeGetProfileString_or_GetProfileStringA_and_GetProfileStringW
+#endif
+DWORD qxeGetProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteProfileString
+#define WriteProfileString error_use_qxeWriteProfileString_or_WriteProfileStringA_and_WriteProfileStringW
+#endif
+WINBOOL qxeWriteProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetProfileSection
+#define GetProfileSection error_use_qxeGetProfileSection_or_GetProfileSectionA_and_GetProfileSectionW
+#endif
+DWORD qxeGetProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteProfileSection
+#define WriteProfileSection error_use_qxeWriteProfileSection_or_WriteProfileSectionA_and_WriteProfileSectionW
+#endif
+WINBOOL qxeWriteProfileSection (const Extbyte * lpAppName, const Extbyte * lpString);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetPrivateProfileInt
+#define GetPrivateProfileInt error_use_qxeGetPrivateProfileInt_or_GetPrivateProfileIntA_and_GetPrivateProfileIntW
+#endif
+UINT qxeGetPrivateProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetPrivateProfileString
+#define GetPrivateProfileString error_use_qxeGetPrivateProfileString_or_GetPrivateProfileStringA_and_GetPrivateProfileStringW
+#endif
+DWORD qxeGetPrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WritePrivateProfileString
+#define WritePrivateProfileString error_use_qxeWritePrivateProfileString_or_WritePrivateProfileStringA_and_WritePrivateProfileStringW
+#endif
+WINBOOL qxeWritePrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetPrivateProfileSection
+#define GetPrivateProfileSection error_use_qxeGetPrivateProfileSection_or_GetPrivateProfileSectionA_and_GetPrivateProfileSectionW
+#endif
+DWORD qxeGetPrivateProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WritePrivateProfileSection
+#define WritePrivateProfileSection error_use_qxeWritePrivateProfileSection_or_WritePrivateProfileSectionA_and_WritePrivateProfileSectionW
+#endif
+WINBOOL qxeWritePrivateProfileSection (const Extbyte * lpAppName, const Extbyte * lpString, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetPrivateProfileSectionNames
+#define GetPrivateProfileSectionNames error_use_qxeGetPrivateProfileSectionNames_or_GetPrivateProfileSectionNamesA_and_GetPrivateProfileSectionNamesW
+#endif
+DWORD qxeGetPrivateProfileSectionNames (Extbyte * lpszReturnBuffer, DWORD nSize, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetPrivateProfileStruct
+#define GetPrivateProfileStruct error_use_qxeGetPrivateProfileStruct_or_GetPrivateProfileStructA_and_GetPrivateProfileStructW
+#endif
+WINBOOL qxeGetPrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WritePrivateProfileStruct
+#define WritePrivateProfileStruct error_use_qxeWritePrivateProfileStruct_or_WritePrivateProfileStructA_and_WritePrivateProfileStructW
+#endif
+WINBOOL qxeWritePrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile);
+
+#undef GetSystemWow64Directory
+#define GetSystemWow64Directory error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef SetDllDirectory
+#define SetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetDllDirectory
+#define GetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateDirectoryEx
+#define CreateDirectoryEx error_use_qxeCreateDirectoryEx_or_CreateDirectoryExA_and_CreateDirectoryExW
+#endif
+WINBOOL qxeCreateDirectoryEx (const Extbyte * lpTemplateDirectory, const Extbyte * lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+
+#undef CreateDirectoryTransacted
+#define CreateDirectoryTransacted error_HST__new_____needs_review
+
+#undef RemoveDirectoryTransacted
+#define RemoveDirectoryTransacted error_HST__new_____needs_review
+
+#undef GetFullPathNameTransacted
+#define GetFullPathNameTransacted error_HST__new_____needs_review
+
+#undef CreateFileTransacted
+#define CreateFileTransacted error_HST__new_____needs_review
+
+#undef SetFileAttributesTransacted
+#define SetFileAttributesTransacted error_HST__new_____needs_review
+
+#undef GetFileAttributesTransacted
+#define GetFileAttributesTransacted error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetCompressedFileSize
+#define GetCompressedFileSize error_use_qxeGetCompressedFileSize_or_GetCompressedFileSizeA_and_GetCompressedFileSizeW
+#endif
+DWORD qxeGetCompressedFileSize (const Extbyte * lpFileName, LPDWORD lpFileSizeHigh);
+
+#undef GetCompressedFileSizeTransacted
+#define GetCompressedFileSizeTransacted error_HST__new_____needs_review
+
+#undef DeleteFileTransacted
+#define DeleteFileTransacted error_HST__new_____needs_review
+
+#undef CheckNameLegalDOS8Dot3
+#define CheckNameLegalDOS8Dot3 error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CopyFile
+#define CopyFile error_use_qxeCopyFile_or_CopyFileA_and_CopyFileW
+#endif
+WINBOOL qxeCopyFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, WINBOOL bFailIfExists);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CopyFileEx
+#define CopyFileEx error_use_qxeCopyFileEx_or_CopyFileExA_and_CopyFileExW
+#endif
+WINBOOL qxeCopyFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);
+
+#undef FindFirstFileTransacted
+#define FindFirstFileTransacted error_HST__new_____needs_review
+
+#undef CopyFileTransacted
+#define CopyFileTransacted error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MoveFile
+#define MoveFile error_use_qxeMoveFile_or_MoveFileA_and_MoveFileW
+#endif
+WINBOOL qxeMoveFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef MoveFileEx
+#define MoveFileEx error_use_qxeMoveFileEx_or_MoveFileExA_and_MoveFileExW
+#endif
+WINBOOL qxeMoveFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, DWORD dwFlags);
+
+#undef MoveFileWithProgress
+#define MoveFileWithProgress error_NT_5_0__only
+
+#undef MoveFileTransacted
+#define MoveFileTransacted error_HST__new_____needs_review
+
+#undef ReplaceFile
+#define ReplaceFile error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef CreateHardLink
+#define CreateHardLink error_NT_5_0__only
+
+#undef CreateHardLinkTransacted
+#define CreateHardLinkTransacted error_HST__new_____needs_review
+
+#undef FindFirstStream
+#define FindFirstStream error_HST__new_____needs_review
+
+#undef FindNextStream
+#define FindNextStream error_HST__new_____needs_review
+
+#undef FindFirstStreamTransacted
+#define FindFirstStreamTransacted error_HST__new_____needs_review
+
+#undef FindFirstFileName
+#define FindFirstFileName error_HST__new_____needs_review
+
+#undef FindNextFileName
+#define FindNextFileName error_HST__new_____needs_review
+
+#undef FindFirstFileNameTransacted
+#define FindFirstFileNameTransacted error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetNamedPipeHandleState
+#define GetNamedPipeHandleState error_use_qxeGetNamedPipeHandleState_or_GetNamedPipeHandleStateA_and_GetNamedPipeHandleStateW
+#endif
+WINBOOL qxeGetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, Extbyte * lpUserName, DWORD nMaxUserNameSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CallNamedPipe
+#define CallNamedPipe error_use_qxeCallNamedPipe_or_CallNamedPipeA_and_CallNamedPipeW
+#endif
+WINBOOL qxeCallNamedPipe (const Extbyte * lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetVolumeLabel
+#define SetVolumeLabel error_use_qxeSetVolumeLabel_or_SetVolumeLabelA_and_SetVolumeLabelW
+#endif
+WINBOOL qxeSetVolumeLabel (const Extbyte * lpRootPathName, const Extbyte * lpVolumeName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ClearEventLog
+#define ClearEventLog error_use_qxeClearEventLog_or_ClearEventLogA_and_ClearEventLogW
+#endif
+WINBOOL qxeClearEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef BackupEventLog
+#define BackupEventLog error_use_qxeBackupEventLog_or_BackupEventLogA_and_BackupEventLogW
+#endif
+WINBOOL qxeBackupEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenEventLog
+#define OpenEventLog error_use_qxeOpenEventLog_or_OpenEventLogA_and_OpenEventLogW
+#endif
+HANDLE qxeOpenEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RegisterEventSource
+#define RegisterEventSource error_use_qxeRegisterEventSource_or_RegisterEventSourceA_and_RegisterEventSourceW
+#endif
+HANDLE qxeRegisterEventSource (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef OpenBackupEventLog
+#define OpenBackupEventLog error_use_qxeOpenBackupEventLog_or_OpenBackupEventLogA_and_OpenBackupEventLogW
+#endif
+HANDLE qxeOpenBackupEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadEventLog
+#define ReadEventLog error_use_qxeReadEventLog_or_ReadEventLogA_and_ReadEventLogW
+#endif
+WINBOOL qxeReadEventLog (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD * pnBytesRead, DWORD * pnMinNumberOfBytesNeeded);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReportEvent
+#define ReportEvent error_use_qxeReportEvent_or_ReportEventA_and_ReportEventW
+#endif
+WINBOOL qxeReportEvent (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, const Extbyte * * lpStrings, LPVOID lpRawData);
+
+#undef ReadDirectoryChanges
+#define ReadDirectoryChanges error_Unicode_only
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef IsBadStringPtr
+#define IsBadStringPtr error_use_qxeIsBadStringPtr_or_IsBadStringPtrA_and_IsBadStringPtrW
+#endif
+WINBOOL qxeIsBadStringPtr (const Extbyte * lpsz, UINT_PTR ucchMax);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LookupAccountSid
+#define LookupAccountSid error_use_qxeLookupAccountSid_or_LookupAccountSidA_and_LookupAccountSidW
+#endif
+WINBOOL qxeLookupAccountSid (const Extbyte * lpSystemName, PSID Sid, Extbyte * Name, LPDWORD cchName, Extbyte * ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LookupAccountName
+#define LookupAccountName error_use_qxeLookupAccountName_or_LookupAccountNameA_and_LookupAccountNameW
+#endif
+WINBOOL qxeLookupAccountName (const Extbyte * lpSystemName, const Extbyte * lpAccountName, PSID Sid, LPDWORD cbSid, Extbyte * ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
+
+#undef LookupAccountNameLocal
+#define LookupAccountNameLocal error_HST__new_____needs_review
+
+#undef LookupAccountSidLocal
+#define LookupAccountSidLocal error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LookupPrivilegeValue
+#define LookupPrivilegeValue error_use_qxeLookupPrivilegeValue_or_LookupPrivilegeValueA_and_LookupPrivilegeValueW
+#endif
+WINBOOL qxeLookupPrivilegeValue (const Extbyte * lpSystemName, const Extbyte * lpName, PLUID lpLuid);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LookupPrivilegeName
+#define LookupPrivilegeName error_use_qxeLookupPrivilegeName_or_LookupPrivilegeNameA_and_LookupPrivilegeNameW
+#endif
+WINBOOL qxeLookupPrivilegeName (const Extbyte * lpSystemName, PLUID lpLuid, Extbyte * lpName, LPDWORD cchName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LookupPrivilegeDisplayName
+#define LookupPrivilegeDisplayName error_use_qxeLookupPrivilegeDisplayName_or_LookupPrivilegeDisplayNameA_and_LookupPrivilegeDisplayNameW
+#endif
+WINBOOL qxeLookupPrivilegeDisplayName (const Extbyte * lpSystemName, const Extbyte * lpName, Extbyte * lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef BuildCommDCB
+#define BuildCommDCB error_use_qxeBuildCommDCB_or_BuildCommDCBA_and_BuildCommDCBW
+#endif
+WINBOOL qxeBuildCommDCB (const Extbyte * lpDef, LPDCB lpDCB);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef BuildCommDCBAndTimeouts
+#define BuildCommDCBAndTimeouts error_use_qxeBuildCommDCBAndTimeouts_or_BuildCommDCBAndTimeoutsA_and_BuildCommDCBAndTimeoutsW
+#endif
+WINBOOL qxeBuildCommDCBAndTimeouts (const Extbyte * lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CommConfigDialog
+#define CommConfigDialog error_use_qxeCommConfigDialog_or_CommConfigDialogA_and_CommConfigDialogW
+#endif
+WINBOOL qxeCommConfigDialog (const Extbyte * lpszName, HWND hWnd, LPCOMMCONFIG lpCC);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetDefaultCommConfig
+#define GetDefaultCommConfig error_use_qxeGetDefaultCommConfig_or_GetDefaultCommConfigA_and_GetDefaultCommConfigW
+#endif
+WINBOOL qxeGetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetDefaultCommConfig
+#define SetDefaultCommConfig error_use_qxeSetDefaultCommConfig_or_SetDefaultCommConfigA_and_SetDefaultCommConfigW
+#endif
+WINBOOL qxeSetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, DWORD dwSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetComputerName
+#define GetComputerName error_use_qxeGetComputerName_or_GetComputerNameA_and_GetComputerNameW
+#endif
+WINBOOL qxeGetComputerName (Extbyte * lpBuffer, LPDWORD nSize);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetComputerName
+#define SetComputerName error_use_qxeSetComputerName_or_SetComputerNameA_and_SetComputerNameW
+#endif
+WINBOOL qxeSetComputerName (const Extbyte * lpComputerName);
+
+#undef DnsHostnameToComputerName
+#define DnsHostnameToComputerName error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetUserName
+#define GetUserName error_use_qxeGetUserName_or_GetUserNameA_and_GetUserNameW
+#endif
+WINBOOL qxeGetUserName (Extbyte * lpBuffer, LPDWORD pcbBuffer);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef LogonUser
+#define LogonUser error_use_qxeLogonUser_or_LogonUserA_and_LogonUserW
+#endif
+WINBOOL qxeLogonUser (const Extbyte * lpszUsername, const Extbyte * lpszDomain, const Extbyte * lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken);
+
+#undef LogonUserEx
+#define LogonUserEx error_HST__new_____needs_review
+
+#undef CreateProcessWithLogon
+#define CreateProcessWithLogon error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef CreateProcessWithToken
+#define CreateProcessWithToken error_HST__new_____needs_review
+
+#undef GetCurrentHwProfile
+#define GetCurrentHwProfile error_split_sized_LPHW_PROFILE_INFO__NT_4_0__only
+
+#undef VerifyVersionInfo
+#define VerifyVersionInfo error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef CreateJobObject
+#define CreateJobObject error_NT_5_0__only
+
+#undef OpenJobObject
+#define OpenJobObject error_NT_5_0__only
+
+#undef FindFirstVolumeMountPoint
+#define FindFirstVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef FindNextVolumeMountPoint
+#define FindNextVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef SetVolumeMountPoint
+#define SetVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef CreateActCtx
+#define CreateActCtx error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef FindActCtxSectionString
+#define FindActCtxSectionString error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef QueryActCtx
+#define QueryActCtx error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef CreateSymbolicLink
+#define CreateSymbolicLink error_HST__new_____needs_review
+
+#undef CreateSymbolicLinkTransacted
+#define CreateSymbolicLinkTransacted error_HST__new_____needs_review
+
+#undef QueryActCtxSettings
+#define QueryActCtxSettings error_HST__new_____needs_review
+
+
+/* Processing file FILEAPI.H */
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateFile
+#define CreateFile error_use_qxeCreateFile_or_CreateFileA_and_CreateFileW
+#endif
+HANDLE qxeCreateFile (const Extbyte * lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DefineDosDevice
+#define DefineDosDevice error_use_qxeDefineDosDevice_or_DefineDosDeviceA_and_DefineDosDeviceW
+#endif
+WINBOOL qxeDefineDosDevice (DWORD dwFlags, const Extbyte * lpDeviceName, const Extbyte * lpTargetPath);
+
+#undef DeleteVolumeMountPoint
+#define DeleteVolumeMountPoint error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef FindFirstChangeNotification
+#define FindFirstChangeNotification error_use_qxeFindFirstChangeNotification_or_FindFirstChangeNotificationA_and_FindFirstChangeNotificationW
+#endif
+HANDLE qxeFindFirstChangeNotification (const Extbyte * lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter);
+
+#undef FindFirstFile
+#define FindFirstFile error_HST__new_____needs_review
+
+#undef FindFirstVolume
+#define FindFirstVolume error_HST__new_____needs_review
+
+#undef FindNextVolume
+#define FindNextVolume error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetDiskFreeSpace
+#define GetDiskFreeSpace error_use_qxeGetDiskFreeSpace_or_GetDiskFreeSpaceA_and_GetDiskFreeSpaceW
+#endif
+WINBOOL qxeGetDiskFreeSpace (const Extbyte * lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetDriveType
+#define GetDriveType error_use_qxeGetDriveType_or_GetDriveTypeA_and_GetDriveTypeW
+#endif
+UINT qxeGetDriveType (const Extbyte * lpRootPathName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetFileAttributes
+#define GetFileAttributes error_use_qxeGetFileAttributes_or_GetFileAttributesA_and_GetFileAttributesW
+#endif
+DWORD qxeGetFileAttributes (const Extbyte * lpFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetFullPathName
+#define GetFullPathName error_use_qxeGetFullPathName_or_GetFullPathNameA_and_GetFullPathNameW
+#endif
+DWORD qxeGetFullPathName (const Extbyte * lpFileName, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetLogicalDriveStrings
+#define GetLogicalDriveStrings error_use_qxeGetLogicalDriveStrings_or_GetLogicalDriveStringsA_and_GetLogicalDriveStringsW
+#endif
+DWORD qxeGetLogicalDriveStrings (DWORD nBufferLength, Extbyte * lpBuffer);
+
+#undef GetLongPathName
+#define GetLongPathName error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetShortPathName
+#define GetShortPathName error_use_qxeGetShortPathName_or_GetShortPathNameA_and_GetShortPathNameW
+#endif
+DWORD qxeGetShortPathName (const Extbyte * lpszLongPath, Extbyte * lpszShortPath, DWORD cchBuffer);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTempFileName
+#define GetTempFileName error_use_qxeGetTempFileName_or_GetTempFileNameA_and_GetTempFileNameW
+#endif
+UINT qxeGetTempFileName (const Extbyte * lpPathName, const Extbyte * lpPrefixString, UINT uUnique, Extbyte * lpTempFileName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetVolumeInformation
+#define GetVolumeInformation error_use_qxeGetVolumeInformation_or_GetVolumeInformationA_and_GetVolumeInformationW
+#endif
+WINBOOL qxeGetVolumeInformation (const Extbyte * lpRootPathName, Extbyte * lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, Extbyte * lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
+
+#undef GetVolumePathName
+#define GetVolumePathName error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef QueryDosDevice
+#define QueryDosDevice error_use_qxeQueryDosDevice_or_QueryDosDeviceA_and_QueryDosDeviceW
+#endif
+DWORD qxeQueryDosDevice (const Extbyte * lpDeviceName, Extbyte * lpTargetPath, DWORD ucchMax);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetTempPath
+#define GetTempPath error_use_qxeGetTempPath_or_GetTempPathA_and_GetTempPathW
+#endif
+DWORD qxeGetTempPath (DWORD nBufferLength, Extbyte * lpBuffer);
+
+#undef GetVolumeNameForVolumeMountPoint
+#define GetVolumeNameForVolumeMountPoint error_HST__new_____needs_review
+
+#undef GetVolumePathNamesForVolumeName
+#define GetVolumePathNamesForVolumeName error_HST__new_____needs_review
+
+#undef GetFinalPathNameByHandle
+#define GetFinalPathNameByHandle error_HST__new_____needs_review
+
+#undef GetVolumeInformationByHandle
+#define GetVolumeInformationByHandle error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef CreateDirectory
+#define CreateDirectory error_use_qxeCreateDirectory_or_CreateDirectoryA_and_CreateDirectoryW
+#endif
+WINBOOL qxeCreateDirectory (const Extbyte * lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef DeleteFile
+#define DeleteFile error_use_qxeDeleteFile_or_DeleteFileA_and_DeleteFileW
+#endif
+WINBOOL qxeDeleteFile (const Extbyte * lpFileName);
+
+#undef FindFirstFileEx
+#define FindFirstFileEx error_HST__new_____needs_review
+
+#undef FindNextFile
+#define FindNextFile error_HST__new_____needs_review
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetDiskFreeSpaceEx
+#define GetDiskFreeSpaceEx error_use_qxeGetDiskFreeSpaceEx_or_GetDiskFreeSpaceExA_and_GetDiskFreeSpaceExW
+#endif
+WINBOOL qxeGetDiskFreeSpaceEx (const Extbyte * lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetFileAttributesEx
+#define GetFileAttributesEx error_use_qxeGetFileAttributesEx_or_GetFileAttributesExA_and_GetFileAttributesExW
+#endif
+WINBOOL qxeGetFileAttributesEx (const Extbyte * lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef RemoveDirectory
+#define RemoveDirectory error_use_qxeRemoveDirectory_or_RemoveDirectoryA_and_RemoveDirectoryW
+#endif
+WINBOOL qxeRemoveDirectory (const Extbyte * lpPathName);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetFileAttributes
+#define SetFileAttributes error_use_qxeSetFileAttributes_or_SetFileAttributesA_and_SetFileAttributesW
+#endif
+WINBOOL qxeSetFileAttributes (const Extbyte * lpFileName, DWORD dwFileAttributes);
+
+
+/* Processing file ACLAPI.h */
+
+#undef SetEntriesInAcl
+#define SetEntriesInAcl error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetExplicitEntriesFromAcl
+#define GetExplicitEntriesFromAcl error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetEffectiveRightsFromAcl
+#define GetEffectiveRightsFromAcl error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetAuditedPermissionsFromAcl
+#define GetAuditedPermissionsFromAcl error_Function_needs_review_to_determine_how_to_handle_it
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetNamedSecurityInfo
+#define GetNamedSecurityInfo error_use_qxeGetNamedSecurityInfo_or_GetNamedSecurityInfoA_and_GetNamedSecurityInfoW
+#endif
+DWORD qxeGetNamedSecurityInfo (const Extbyte * pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID * ppsidOwner, PSID * ppsidGroup, PACL * ppDacl, PACL * ppSacl, PSECURITY_DESCRIPTOR * ppSecurityDescriptor);
+
+#undef SetNamedSecurityInfo
+#define SetNamedSecurityInfo error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetInheritanceSource
+#define GetInheritanceSource error_HST__new_____needs_review
+
+#undef TreeResetNamedSecurityInfo
+#define TreeResetNamedSecurityInfo error_HST__new_____needs_review
+
+#undef BuildSecurityDescriptor
+#define BuildSecurityDescriptor error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef LookupSecurityDescriptorParts
+#define LookupSecurityDescriptorParts error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildExplicitAccessWithName
+#define BuildExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildImpersonateExplicitAccessWithName
+#define BuildImpersonateExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildTrusteeWithName
+#define BuildTrusteeWithName error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildImpersonateTrustee
+#define BuildImpersonateTrustee error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildTrusteeWithSid
+#define BuildTrusteeWithSid error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildTrusteeWithObjectsAndSid
+#define BuildTrusteeWithObjectsAndSid error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef BuildTrusteeWithObjectsAndName
+#define BuildTrusteeWithObjectsAndName error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetTrusteeName
+#define GetTrusteeName error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetTrusteeType
+#define GetTrusteeType error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetTrusteeForm
+#define GetTrusteeForm error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetMultipleTrusteeOperation
+#define GetMultipleTrusteeOperation error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef GetMultipleTrustee
+#define GetMultipleTrustee error_Function_needs_review_to_determine_how_to_handle_it
+
+#undef TreeSetNamedSecurityInfo
+#define TreeSetNamedSecurityInfo error_HST__new_____needs_review
+
--- a/src/intl-encap-win32.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/intl-encap-win32.c	Mon Apr 21 11:42:50 2014 +0100
@@ -25,6 +25,15 @@
    Created summer 2000 by Ben Wing.  Completed August 2001.  Completely
    written by Ben Wing.
    */
+/* Brute-force wrench forward to the modern
+    world by Henry S. Thompson <ht@inf.ed.ac.uk>, April 2014.
+
+   Mostly added 'review' for new functionality
+
+   Added 11 new 'file' lines because refactoring happened,
+    moved everything required to its new home among them.
+*/
+
 
 #define NEED_MSWINDOWS_COMMCTRL
 #define NEED_MSWINDOWS_SHLOBJ
@@ -125,14 +134,15 @@
 review BuildImpersonateTrustee
 review GetMultipleTrustee
 review GetMultipleTrusteeOperation
+review GetInheritanceSource HST: new? -- needs review
+review TreeResetNamedSecurityInfo HST: new? -- needs review
+review TreeSetNamedSecurityInfo HST: new? -- needs review
 
 file WINBASE.H
 
 yes GetBinaryType
-yes GetShortPathName
 no GetLongPathName Win98/2K+ only
 skip GetEnvironmentStrings misnamed ANSI version of the function
-yes FreeEnvironmentStrings
 yes FormatMessage
 yes CreateMailslot
 begin-bracket !defined (CYGWIN_HEADERS)
@@ -147,31 +157,11 @@
 yes lstrcpy
 yes lstrcat
 yes lstrlen
-yes CreateMutex
-yes OpenMutex
-yes CreateEvent
-yes OpenEvent
 yes CreateSemaphore
-yes OpenSemaphore
 yes CreateWaitableTimer
-yes OpenWaitableTimer
-yes CreateFileMapping
-yes OpenFileMapping
-yes GetLogicalDriveStrings
 yes LoadLibrary
-yes LoadLibraryEx
-yes GetModuleFileName
-yes GetModuleHandle
-split CreateProcess LPSTARTUPINFO
 yes FatalAppExit
-split GetStartupInfo LPSTARTUPINFO
-yes GetCommandLine
-yes GetEnvironmentVariable
-yes SetEnvironmentVariable
-yes ExpandEnvironmentStrings
-yes OutputDebugString
 yes FindResource
-yes FindResourceEx
 skip EnumResourceTypes different prototypes in VC6 and VC7
 skip EnumResourceNames different prototypes in VC6 and VC7
 skip EnumResourceLanguages different prototypes in VC6 and VC7
@@ -197,43 +187,20 @@
 yes GetPrivateProfileSectionNames
 yes GetPrivateProfileStruct
 yes WritePrivateProfileStruct
-yes GetDriveType
-yes GetSystemDirectory
-yes GetTempPath
-yes GetTempFileName
-yes GetWindowsDirectory
-yes SetCurrentDirectory
-yes GetCurrentDirectory
-yes GetDiskFreeSpace
-yes GetDiskFreeSpaceEx
-yes CreateDirectory
 yes CreateDirectoryEx
-yes RemoveDirectory
-yes GetFullPathName
-yes DefineDosDevice
-yes QueryDosDevice
-yes CreateFile
-yes SetFileAttributes
-yes GetFileAttributes
-yes GetFileAttributesEx
 yes GetCompressedFileSize
-yes DeleteFile
 no FindFirstFileEx split-sized LPWIN32_FIND_DATA; not used, NT 4.0+ only
 skip FindFirstFile split-sized LPWIN32_FIND_DATA
 skip FindNextFile split-sized LPWIN32_FIND_DATA
-yes SearchPath
 yes CopyFile
 yes CopyFileEx NT 4.0+ only
 yes MoveFile
 yes MoveFileEx
 no MoveFileWithProgress NT 5.0+ only
 no CreateHardLink NT 5.0+ only
-yes CreateNamedPipe
 yes GetNamedPipeHandleState
 yes CallNamedPipe
-yes WaitNamedPipe
 yes SetVolumeLabel
-yes GetVolumeInformation
 yes ClearEventLog
 yes BackupEventLog
 yes OpenEventLog
@@ -241,17 +208,8 @@
 yes OpenBackupEventLog
 yes ReadEventLog
 yes ReportEvent
-yes AccessCheckAndAuditAlarm
 no AccessCheckByTypeAndAuditAlarm NT 5.0+ only
 no AccessCheckByTypeResultListAndAuditAlarm NT 5.0+ only
-yes ObjectOpenAuditAlarm
-yes ObjectPrivilegeAuditAlarm
-yes ObjectCloseAuditAlarm
-yes ObjectDeleteAuditAlarm
-yes PrivilegedServiceAuditAlarm
-yes SetFileSecurity
-yes GetFileSecurity
-yes FindFirstChangeNotification
 no ReadDirectoryChanges Unicode-only
 yes IsBadStringPtr
 yes LookupAccountSid
@@ -268,7 +226,6 @@
 yes SetComputerName
 yes GetUserName
 yes LogonUser
-split CreateProcessAsUser LPSTARTUPINFO
 no GetCurrentHwProfile split-sized LPHW_PROFILE_INFO; NT 4.0+ only
 no GetVersionEx split-sized LPOSVERSIONINFO
 no CreateJobObject NT 5.0+ only
@@ -301,6 +258,37 @@
 review SetFirmwareEnvironmentVariable
 review SetVolumeMountPoint
 review VerifyVersionInfo
+review GetLongPathNameTransacted HST: new? -- needs review
+review OpenEncryptedFileRaw HST: new? -- needs review
+review QueryFullProcessImageName HST: new? -- needs review
+review GetFirmwareEnvironmentVariableEx HST: new? -- needs review
+review SetFirmwareEnvironmentVariableEx HST: new? -- needs review
+review GlobalAddAtomEx HST: new? -- needs review
+review CreateDirectoryTransacted HST: new? -- needs review
+review RemoveDirectoryTransacted HST: new? -- needs review
+review GetFullPathNameTransacted HST: new? -- needs review
+review CreateFileTransacted HST: new? -- needs review
+review SetFileAttributesTransacted HST: new? -- needs review
+review GetFileAttributesTransacted HST: new? -- needs review
+review GetCompressedFileSizeTransacted HST: new? -- needs review
+review DeleteFileTransacted HST: new? -- needs review
+review FindFirstFileTransacted HST: new? -- needs review
+review CopyFileTransacted HST: new? -- needs review
+review MoveFileTransacted HST: new? -- needs review
+review CreateHardLinkTransacted HST: new? -- needs review
+review FindFirstStream HST: new? -- needs review
+review FindNextStream HST: new? -- needs review
+review FindFirstStreamTransacted HST: new? -- needs review
+review FindFirstFileName HST: new? -- needs review
+review FindNextFileName HST: new? -- needs review
+review FindFirstFileNameTransacted HST: new? -- needs review
+review LookupAccountNameLocal HST: new? -- needs review
+review LookupAccountSidLocal HST: new? -- needs review
+review LogonUserEx HST: new? -- needs review
+review CreateProcessWithToken HST: new? -- needs review
+review CreateSymbolicLink HST: new? -- needs review
+review CreateSymbolicLinkTransacted HST: new? -- needs review
+review QueryActCtxSettings HST: new? -- needs review
 
 file WINUSER.H
 
@@ -421,7 +409,6 @@
 yes LoadCursorFromFile
 yes LoadIcon
 yes LoadImage NT 4.0+ only
-yes LoadString
 yes IsDialogMessage
 yes DlgDirList
 yes DlgDirSelectEx
@@ -444,9 +431,19 @@
 review EnumDisplaySettingsEx
 review GetClassLongPtr
 review GetRawInputDeviceInfo
-review GetWindowLongPtr
-review SetClassLongPtr
-review SetWindowLongPtr
+yes GetWindowLongPtr
+yes SetClassLongPtr
+yes SetWindowLongPtr
+review PrivateExtractIcons HST: new? -- needs review
+review CreateIcon HST: new? -- needs review
+review DestroyIcon HST: new? -- needs review
+review LookupIconIdFromDirectory HST: new? -- needs review
+review LookupIconIdFromDirectoryEx HST: new? -- needs review
+review CreateIconFromResource HST: new? -- needs review
+review CreateIconFromResourceEx HST: new? -- needs review
+review GetRawInputDeviceInfo HST: new? -- needs review
+review GetRawInputBuffer HST: new? -- needs review
+review CreateDesktopEx HST: new? -- needs review
 
 file WINGDI.H
 
@@ -593,6 +590,17 @@
 no SetPrinterHTMLView not used, complicated interface with split structures
 no GetPrinterHTMLView not used, complicated interface with split structures
 review GetDefaultPrinter
+review SetDefaultPrinter HST: new? -- needs review
+review AddPrinterConnection2 HST: new? -- needs review
+review DeletePrinterDriverPackage HST: new? -- needs review
+review DocumentEvent HST: new? -- needs review
+review GetCorePrinterDrivers HST: new? -- needs review
+review GetPrinterDriver2 HST: new? -- needs review
+review GetPrinterDriverPackagePath HST: new? -- needs review
+review GetSpoolFileHandle HST: new? -- needs review
+review OpenPrinter2 HST: new? -- needs review
+review UploadPrinterDriverPackage HST: new? -- needs review
+
 end-bracket
 
 file SHELLAPI.H
@@ -603,6 +611,7 @@
 no CommandLineToArgv Unicode-only
 yes ShellAbout
 override HICON ExtractAssociatedIconW(HINSTANCE, LPWSTR, LPWORD); error arg2, Cygwin prototype, extra const
+review ExtractAssociatedIconEx HST: new? -- needs review
 yes ExtractIcon
 // split-simple DRAGINFO, used ??? (docs say "Not currently supported")
 begin-bracket !defined (CYGWIN_HEADERS)
@@ -615,6 +624,7 @@
 split SHFileOperation LPSHFILEOPSTRUCT NT 4.0+ only
 // split-simple SHELLEXECUTEINFO, used in ShellExecuteEx
 split ShellExecuteEx LPSHELLEXECUTEINFO NT 4.0+ only
+review SHCreateProcessAsUser HST: new? -- needs review
 no WinExecError causes link error; NT 4.0+ only
 begin-bracket !defined (CYGWIN_HEADERS)
 yes SHQueryRecycleBin NT 4.0+ only
@@ -624,11 +634,16 @@
 no Shell_NotifyIcon split-sized NOTIFYICONDATA, NT 4.0+ only
 // split-sized SHFILEINFO, used in SHGetFileInfo
 skip SHGetFileInfo split-sized SHFILEINFO, NT 4.0+ only
+review SHGetDiskFreeSpaceEx HST: new? -- needs review
 no SHGetDiskFreeSpace causes link error; NT 4.0+ only
 begin-bracket !defined (CYGWIN_HEADERS)
 yes SHGetNewLinkInfo NT 4.0+ only
 yes SHInvokePrinterCommand NT 4.0+ only
 end-bracket
+review IsLFNDrive HST: new? -- needs review
+review SHEnumerateUnreadMailAccounts HST: new? -- needs review
+review SHGetUnreadMailCount HST: new? -- needs review
+review SHSetUnreadMailCount HST: new? -- needs review
 
 end-unicode-encapsulation-script
 
@@ -937,6 +952,8 @@
 review WNetSetConnection
 review WNetGetResourceInformation
 review WNetGetResourceParent
+review WNetRestoreSingleConnection HST: new? -- needs review
+review WNetRestoreConnection HST: new? -- needs review
 end-bracket
 
 // file IME.H -- doesn't exist under Cygwin
@@ -988,6 +1005,13 @@
 review SHGetIconOverlayIndex
 review SHCreateDirectoryEx
 review SHGetFolderPathAndSubDir
+review ILCreateFromPath HST: new? -- needs review
+review SHSetFolderPath HST: new? -- needs review
+review SHUpdateImage HST: new? -- needs review
+review PathIsSlow HST: new? -- needs review
+review SHStartNetConnectionDialog HST: new? -- needs review
+review SHDefExtractIcon HST: new? -- needs review
+review Shell_GetCachedImageIndex HST: new? -- needs review
 
 file WINNLS.H
 
@@ -1052,7 +1076,13 @@
 yes SetConsoleTitle
 yes ReadConsole
 yes WriteConsole
-
+review AddConsoleAlias HST: new? -- needs review
+review GetConsoleAlias HST: new? -- needs review
+review GetConsoleAliasesLength HST: new? -- needs review
+review GetConsoleAliasExesLength HST: new? -- needs review
+review GetConsoleAliases HST: new? -- needs review
+review GetConsoleAliasExes HST: new? -- needs review
+review GetConsoleOriginalTitle HST: new? -- needs review
 file WINREG.H
 
 yes RegConnectRegistry former error in Cygwin prototype, but no more (Cygwin 1.7, 1-30-10)
@@ -1079,6 +1109,20 @@
 yes InitiateSystemShutdown
 override BOOL AbortSystemShutdownW(LPWSTR); error arg 1, Cygwin prototype, extra const
 review RegDeleteKeyEx
+review RegConnectRegistryEx HST: new? -- needs review
+review RegGetValue HST: new? -- needs review
+review InitiateSystemShutdownEx HST: new? -- needs review
+review RegSaveKeyEx HST: new? -- needs review
+review RegCopyTree HST: new? -- needs review
+review RegCreateKeyTransacted HST: new? -- needs review
+review RegDeleteKeyTransacted HST: new? -- needs review
+review RegDeleteKeyValue HST: new? -- needs review
+review RegDeleteTree HST: new? -- needs review
+review RegDisablePredefinedCacheEx HST: new? -- needs review
+review RegLoadAppKey HST: new? -- needs review
+review RegLoadMUIString HST: new? -- needs review
+review RegOpenKeyTransacted HST: new? -- needs review
+review RegSetKeyValue HST: new? -- needs review
 
 file EXCPT.H
 
@@ -1168,6 +1212,135 @@
 CertOpenSystemStore
 CertAddEncodedCertificateToSystemStore
 
+begin-unicode-encapsulation-script
+
+file DBGENG.H
+
+split CreateProcess LPSTARTUPINFO
+
+file DEBUGAPI.H
+
+yes OutputDebugString
+
+file FILEAPI.H
+
+yes CreateDirectory
+yes CreateFile
+yes DefineDosDevice
+yes DeleteFile
+yes FindFirstChangeNotification
+yes GetDiskFreeSpace
+yes GetDiskFreeSpaceEx
+yes GetDriveType
+yes GetFileAttributes
+yes GetFileAttributesEx
+yes GetFullPathName
+yes GetLogicalDriveStrings
+yes GetShortPathName
+yes GetTempFileName
+yes GetTempPath
+yes GetVolumeInformation
+yes QueryDosDevice
+yes RemoveDirectory
+yes SetFileAttributes
+review DeleteVolumeMountPoint HST: new? -- needs review
+review FindFirstFile HST: new? -- needs review
+review FindFirstVolume HST: new? -- needs review
+review FindNextVolume HST: new? -- needs review
+review GetLongPathName HST: new? -- needs review
+review GetVolumePathName HST: new? -- needs review
+review GetVolumeNameForVolumeMountPoint HST: new? -- needs review
+review GetVolumePathNamesForVolumeName HST: new? -- needs review
+review GetFinalPathNameByHandle HST: new? -- needs review
+review GetVolumeInformationByHandle HST: new? -- needs review
+review FindFirstFileEx HST: new? -- needs review
+review FindNextFile HST: new? -- needs review
+
+file LIBLOADERAPI.H
+
+yes FindResourceEx
+yes GetModuleFileName
+yes GetModuleHandle
+yes LoadLibraryEx
+yes LoadString
+review GetModuleHandleEx HST: new? -- needs review
+review EnumResourceLanguages HST: new? -- needs review
+review EnumResourceLanguagesEx HST: new? -- needs review
+review EnumResourceNamesEx HST: new? -- needs review
+review EnumResourceTypesEx HST: new? -- needs review
+
+file MEMORYAPI.H
+
+yes CreateFileMapping
+yes OpenFileMapping
+review CreateFileMappingNuma HST: new? -- needs review
+
+file NAMEDPIPEAPI.H
+
+yes CreateNamedPipe
+yes WaitNamedPipe
+review GetNamedPipeClientComputerName HST: new? -- needs review
+
+file PROCESSENV.H
+
+yes ExpandEnvironmentStrings
+yes FreeEnvironmentStrings
+yes GetCommandLine
+yes GetCurrentDirectory
+yes GetEnvironmentVariable
+yes SearchPath
+yes SetCurrentDirectory
+yes SetEnvironmentVariable
+review GetEnvironmentStrings HST: new? -- needs review
+review SetEnvironmentStrings HST: new? -- needs review
+review NeedCurrentDirectoryForExePath HST: new? -- needs review
+
+file PROCESSTHREADSAPI.H
+
+split CreateProcessAsUser LPSTARTUPINFO
+split GetStartupInfo LPSTARTUPINFO
+review CreateProcess HST: new? -- needs review
+
+file SECURITYBASEAPI.H
+
+yes AccessCheckAndAuditAlarm
+yes GetFileSecurity
+yes ObjectCloseAuditAlarm
+yes ObjectDeleteAuditAlarm
+yes ObjectOpenAuditAlarm
+yes ObjectPrivilegeAuditAlarm
+yes PrivilegedServiceAuditAlarm
+yes SetFileSecurity
+review AccessCheckByTypeAndAuditAlarm HST: new? -- needs review
+review AccessCheckByTypeResultListAndAuditAlarm HST: new? -- needs review
+review AccessCheckByTypeResultListAndAuditAlarmByHandle HST: new? -- needs review
+
+file SYNCHAPI.H
+
+yes CreateEvent
+yes CreateMutex
+yes OpenEvent
+yes OpenMutex
+yes OpenSemaphore
+yes OpenWaitableTimer
+review SleepConditionVariableSR HST: new? -- needs review
+review CreateMutexEx HST: new? -- needs review
+review CreateEventEx HST: new? -- needs review
+review CreateSemaphoreEx HST: new? -- needs review
+review CreateWaitableTimerEx HST: new? -- needs review
+
+file SYSINFOAPI.H
+
+yes GetSystemDirectory
+yes GetWindowsDirectory
+review GetSystemWindowsDirectory HST: new? -- needs review
+review GetComputerNameEx HST: new? -- needs review
+review SetComputerNameEx HST: new? -- needs review
+review GetVersionEx HST: new? -- needs review
+
+end-unicode-encapsulation-script
+
+
 */
 
 /* the functions below are examples of hand-written Unicode-splitting
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/x86_64.h	Mon Apr 21 11:42:50 2014 +0100
@@ -0,0 +1,105 @@
+/* Machine description file for intel 386.
+   Copyright (C) 1987 Free Software Foundation, Inc.
+
+This file is part of XEmacs.
+
+XEmacs is free software: you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation, either version 3 of the License, or (at your
+option) any later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs.  If not, see <http://www.gnu.org/licenses/>. */
+
+/* Synched up with: FSF 19.31. */
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Intel 386 (-machine=intel386 or -machine=is386.h)
+
+  The possibilities for -opsystem are: bsd4-2, usg5-4, usg5-4-2, and linux.
+
+  18.58 should support a wide variety of operating systems.
+  Use linux for Linux.
+  It isn't clear what to do on an SCO system.
+
+Cubix QBx/386 (-machine=intel386 -opsystem=usg5-3)
+
+  Changes merged in 19.1.  Systems before 2/A/0 may fail to compile etags.c
+  due to a compiler bug.
+NOTE-END */
+
+/* Now define a symbol for the cpu type, if your compiler
+   does not define it automatically:
+   Ones defined so far include vax, m68000, ns16000, pyramid,
+   orion, tahoe, APOLLO and many others */
+
+#define INTEL386
+
+/* crt0.c, if it is used, should use the i386-bsd style of entry.
+   with no extra dummy args.  On USG, NO_REMAP says this isn't used. */
+
+/* Mly 16-Jan-96 16:38:32: this is part of a prototype -- same bug present in 
+   other m*.h files */
+#define CRT0_DUMMIES int bogus_fp,
+
+/* crt0.c should define a symbol `start' and do .globl with a dot.  */
+
+#define DOT_GLOBAL_START
+
+#ifdef SOLARIS2
+
+#ifdef ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF
+
+/* Data type of load average, as read out of kmem.  */
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+/* This is totally uncalibrated. */
+#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
+
+#endif /* ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF */
+
+/* configure thinks solaris X86 has gethostname, but it does not work,
+   so undefine it.  */
+#undef HAVE_GETHOSTNAME
+
+#else /* not SOLARIS2 */
+#ifdef USG5_4 /* Older USG systems do not support the load average.  */
+/* Data type of load average, as read out of kmem.  */
+
+#ifdef ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+/* This is totally uncalibrated. */
+
+#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
+#define FSCALE 256.0
+
+#endif /* ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF */
+
+#endif
+#endif /* not SOLARIS2 */
+
+#ifdef USG
+#define NO_REMAP 
+#define TEXT_START 0
+#endif /* USG */
+
+#ifdef linux
+/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
+/* we cannot get the maximum address for brk */
+#define ULIMIT_BREAK_VALUE (32*1024*1024)
+
+#define SEGMENT_MASK ((SEGMENT_SIZE)-1)
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/cygwin64.h	Mon Apr 21 11:42:50 2014 +0100
@@ -0,0 +1,96 @@
+/* system description file for cygwin32.
+   Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
+   Copyright (C) 2001 Ben Wing.
+
+This file is part of XEmacs.
+
+XEmacs is free software: you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation, either version 3 of the License, or (at your
+option) any later version.
+
+XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with XEmacs.  If not, see <http://www.gnu.org/licenses/>. */
+
+/* Building under cygwin
+ *
+ * The approach I have taken with this port is to use primarily the
+ * UNIX code base adding stuff that is MS-Windows specific. This works
+ * quite well, and is in keeping with my perception of the cygwin
+ * philosophy.  Note that if you make changes to this file you do NOT
+ * want to define WIN32_NATIVE (formerly "WINDOWSNT"), I repeat - do
+ * not define this, it will break everything horribly. What does get
+ * defined is HAVE_MS_WINDOWS, but this is done by configure and only
+ * applies to the window system.
+ *
+ * When building make sure your HOME path is unix style - i.e. without
+ * a drive letter.
+ *
+ * once you have done this, configure and make.
+ *
+ * windows '95 - I haven't tested this under '95, it will probably
+ * build but I know there are some limitations with cygwin under 95 so
+ * YMMV. I build with NT4 SP3.
+ *
+ * Andy Piper <andy@xemacs.org> 8/1/98 
+ * http://www.xemacs.freeserve.co.uk/ */
+
+#include "win32-common.h"
+
+/* Identify ourselves */
+#define CYGWIN
+
+/* We are using Cygwin-style headers in /usr/include, also used by MinGW */
+#define CYGWIN_HEADERS
+
+/* cheesy way to determine cygwin version */
+#ifndef NOT_C_CODE
+# include <signal.h>
+# include <cygwin/version.h>
+
+/* Still left out of 1.1! */
+double logb (double);
+int killpg (int pgrp, int sig);
+
+#endif
+
+#ifndef ORDINARY_LINK
+#define ORDINARY_LINK
+#endif
+
+#if __GNUC__ >= 3
+#define C_SWITCH_SYSTEM -fno-caller-saves
+#else
+#define C_SWITCH_SYSTEM -fno-caller-saves -fvtable-thunks
+#endif
+
+#define LIBS_SYSTEM -lwinmm
+#define WIN32_LEAN_AND_MEAN
+
+#define TEXT_START -1
+#define HEAP_IN_DATA
+#define NO_LIM_DATA
+
+#define BROKEN_SIGIO
+
+#define CYGWIN_BROKEN_SIGNALS
+
+#define strnicmp strncasecmp
+
+#undef MAIL_USE_SYSTEM_LOCK
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "cygwin32"
+
+/* Cygwin bogusly forgets to copy mmap()ed regions into the child when
+   a fork is done; thus, any reference to anything in mmap()ed space
+   (under PDUMP, in particular, this bites, since all data loaded from
+   PDUMP is normally done using mmap()) will cause an immediate segfault. */
+#undef HAVE_MMAP
--- a/src/scrollbar-msw.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/scrollbar-msw.c	Mon Apr 21 11:42:50 2014 +0100
@@ -81,8 +81,8 @@
   ptr = make_opaque_ptr (SCROLLBAR_MSW_HANDLE (sb));
   Fputhash (ptr, wrap_scrollbar_instance (sb),
 	    Vmswindows_scrollbar_instance_table);
-  qxeSetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA,
-		 (LONG) STORE_LISP_IN_VOID (ptr));
+  qxeSetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA,
+		 (LONG_PTR) STORE_LISP_IN_VOID (ptr));
 }
 
 static void
@@ -90,8 +90,8 @@
 {
   if (sb->scrollbar_data)
     {
-      void *opaque =
-	(void *) qxeGetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA);
+      LONG_PTR opaque =
+	 qxeGetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA);
       Lisp_Object ptr;
 
       ptr = GET_LISP_FROM_VOID (opaque);
@@ -205,12 +205,12 @@
   struct frame *f;
   Lisp_Object win, frame;
   struct scrollbar_instance *sb = 0;
-  void *v;
+  LONG_PTR v;
   SCROLLINFO scrollinfo;
   int vert = qxeGetWindowLong (hwnd, GWL_STYLE) & SBS_VERT;
   int value;
 
-  v = (void *) qxeGetWindowLong (hwnd, GWL_USERDATA);
+  v = qxeGetWindowLongPtr (hwnd, GWLP_USERDATA);
   if (!v)
     {
       /* apparently this can happen, as it was definitely necessary
--- a/src/specifier.c	Thu Dec 16 11:20:17 2021 +0000
+++ b/src/specifier.c	Mon Apr 21 11:42:50 2014 +0100
@@ -951,7 +951,7 @@
   Lisp_Object devtype, devclass, rest;
   struct device *d = XDEVICE (device);
 
-  devtype = DEVICE_TYPE (d);
+  devtype = DEVICE_TYPE_X (d);
   devclass = DEVICE_CLASS (d);
 
   LIST_LOOP (rest, tag_set)
@@ -1343,7 +1343,7 @@
 
   list = Fnreverse (list);
   list = Fcons (DEVICE_CLASS (d), list);
-  list = Fcons (DEVICE_TYPE  (d), list);
+  list = Fcons (DEVICE_TYPE_X  (d), list);
 
   RETURN_UNGCPRO (list);
 }