? latest-benson.patch
Index: lib-src/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lib-src/ChangeLog,v
retrieving revision 1.214
diff -a -u -r1.214 ChangeLog
--- lib-src/ChangeLog	2006/11/01 21:16:17	1.214
+++ lib-src/ChangeLog	2006/12/07 17:43:23
@@ -1,3 +1,8 @@
+2006-11-24  Benson Margulies  <benson@dchbk.us>
+
+	* make-mswin-unicode.pl: allow for lower case header file names in
+	the current platform SDK.
+
 2006-08-11  Jerry James  <james@xemacs.org>
 
 	* pop.h: Sync with Emacs.
Index: lib-src/make-mswin-unicode.pl
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lib-src/make-mswin-unicode.pl,v
retrieving revision 1.5
diff -a -u -r1.5 make-mswin-unicode.pl
--- lib-src/make-mswin-unicode.pl	2004/11/04 23:05:48	1.5
+++ lib-src/make-mswin-unicode.pl	2006/12/07 17:43:24
@@ -107,7 +107,7 @@
     $dir=$ENV{"MSVCDIR"} or die "Environment variable MSVCDIR undefined - run vcvars32.bat from your MSVC installation";
     $dir.='/include';
   }
-die "Can't find MSVC include files in \"$dir\"" unless (-f $dir.'/WINDOWS.H');
+die "Can't find MSVC include files in \"$dir\"" unless ((-f $dir.'/WINDOWS.H') || (-f $dir.'/windows.h'));
 
 open (COUT, ">$cout") or die "Can't open C output file $cout: $!";
 open (HOUT, ">$hout") or die "Can't open C output file $hout: $!";
Index: lisp/startup.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/startup.el,v
retrieving revision 1.57
diff -a -u -r1.57 startup.el
--- lisp/startup.el	2006/10/30 11:17:46	1.57
+++ lisp/startup.el	2006/12/07 17:43:26
@@ -1365,6 +1365,8 @@
     (let* ((after-change-functions nil) ; no font-lock, thank you
 	   (elements (cond (tty (splash-screen-tty-body))
 			   (t (splash-screen-window-body)))))
+      (pop-to-buffer (current-buffer))
+      (delete-other-windows)
       (splash-screen-present elements)
       (set-buffer-modified-p nil))))
 
@@ -1375,8 +1377,6 @@
     (set-buffer buffer)
     (setq buffer-read-only nil)
     (erase-buffer buffer)
-    (pop-to-buffer buffer)
-    (delete-other-windows)
     (display-splash-screen)))
 
 ;;  (let ((present-file
Index: src/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.1028
diff -a -u -r1.1028 ChangeLog
--- src/ChangeLog	2006/12/06 21:28:52	1.1028
+++ src/ChangeLog	2006/12/07 17:43:38
@@ -1,3 +1,18 @@
+2006-12-07  Vin Shelton  <acs@xemacs.org>
+
+	* fileio.c: Added cast to qxeGetNamedSecurityInfofix call to fix
+	VC6 build.
+
+2006-11-24  Benson Margulies  <benson@dchbk.us>
+
+	* fileio.c: Change check_writable to use the full Win32 mechanism
+	to check access.
+	* intl-auto-encap-win32.c: Add GetNamedSecurityInfo
+	* intl-auto-encap-win32.h: Add GetNamedSecurityInfo
+	* intl-auto-encap-win32.h Add qxeGetNamedSecurityInfo.
+	* intl-encap-win32.c: Add aclapi.h : GetNamedSecurityInfo
+	* syswindows.h: Add aclapi.h
+
 2006-12-06  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* text.c (Fsplit_char):
Index: src/fileio.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/fileio.c,v
retrieving revision 1.108
diff -a -u -r1.108 fileio.c
--- src/fileio.c	2006/12/05 08:20:56	1.108
+++ src/fileio.c	2006/12/07 17:43:39
@@ -2291,6 +2291,75 @@
 static int
 check_writable (const Ibyte *filename)
 {
+#if defined(WIN32_NATIVE) || defined(CYGWIN)
+#ifdef CYGWIN
+    char filename_buffer[PATH_MAX];
+#endif
+	// Since this has to work for a directory, we can't just call 'CreateFile'
+	PSECURITY_DESCRIPTOR pDesc; /* Must be freed with LocalFree */
+	/* these need not be freed, they point into pDesc */
+	PSID psidOwner;
+	PSID psidGroup;
+	PACL pDacl;
+	PACL pSacl;
+	/* end of insides of descriptor */
+	DWORD error;
+	DWORD attributes;
+	HANDLE tokenHandle;
+	GENERIC_MAPPING genericMapping;
+	DWORD accessMask;
+	PRIVILEGE_SET PrivilegeSet;
+    DWORD dwPrivSetSize = sizeof( PRIVILEGE_SET );
+    BOOL fAccessGranted = FALSE;
+	DWORD dwAccessAllowed;
+  Extbyte *fnameext;
+
+#ifdef CYGWIN
+    cygwin_conv_to_full_win32_path(filename, filename_buffer);
+    filename = (Ibyte*)filename_buffer;
+#endif
+
+    C_STRING_TO_TSTR(filename, fnameext);
+	/* Win32 prototype lacks const. */
+	error = qxeGetNamedSecurityInfo(fnameext, SE_FILE_OBJECT, 
+		DACL_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION|OWNER_SECURITY_INFORMATION,
+		&psidOwner, &psidGroup, &pDacl, &pSacl, &pDesc);
+	if(error != ERROR_SUCCESS) { // FAT?
+		attributes = qxeGetFileAttributes((Extbyte *)filename);
+		return (attributes & FILE_ATTRIBUTE_DIRECTORY) || (0 == (attributes & FILE_ATTRIBUTE_READONLY));
+	}
+
+	genericMapping.GenericRead = FILE_GENERIC_READ;
+    genericMapping.GenericWrite = FILE_GENERIC_WRITE;
+    genericMapping.GenericExecute = FILE_GENERIC_EXECUTE;
+    genericMapping.GenericAll = FILE_ALL_ACCESS;
+
+	if(!ImpersonateSelf(SecurityDelegation)) {
+		return 0;
+	}
+	if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &tokenHandle)) {
+		return 0;
+	}
+
+	accessMask = GENERIC_WRITE;
+	MapGenericMask(&accessMask, &genericMapping);
+
+	if(!AccessCheck(pDesc, tokenHandle, accessMask, &genericMapping,
+					&PrivilegeSet,       // receives privileges used in check
+					&dwPrivSetSize,      // size of PrivilegeSet buffer
+					&dwAccessAllowed,    // receives mask of allowed access rights
+					&fAccessGranted)) 
+	{
+		CloseHandle(tokenHandle);
+		RevertToSelf();
+		LocalFree(pDesc);
+		return 0;
+	}
+	CloseHandle(tokenHandle);
+	RevertToSelf();
+	LocalFree(pDesc);
+	return fAccessGranted == TRUE;
+#else
 #ifdef HAVE_EACCESS
   return (qxe_eaccess (filename, W_OK) >= 0);
 #else
@@ -2300,6 +2369,7 @@
      Opening with O_WRONLY could work for an ordinary file,
      but would lose for directories.  */
   return (qxe_access (filename, W_OK) >= 0);
+#endif
 #endif
 }
 
Index: src/intl-auto-encap-win32.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-auto-encap-win32.c,v
retrieving revision 1.10
diff -a -u -r1.10 intl-auto-encap-win32.c
--- src/intl-auto-encap-win32.c	2005/01/24 23:34:00	1.10
+++ src/intl-auto-encap-win32.c	2006/12/07 17:43:40
@@ -13,121 +13,6 @@
 
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file WINCON.H                       */
-/*----------------------------------------------------------------------*/
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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 */
-
-BOOL
-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
-qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize)
-{
-  if (XEUNICODE_P)
-    return GetConsoleTitleW ((LPWSTR) lpConsoleTitle, nSize);
-  else
-    return GetConsoleTitleA ((LPSTR) lpConsoleTitle, nSize);
-}
-
-BOOL
-qxeSetConsoleTitle (const Extbyte * lpConsoleTitle)
-{
-  if (XEUNICODE_P)
-    return SetConsoleTitleW ((LPCWSTR) lpConsoleTitle);
-  else
-    return SetConsoleTitleA ((LPCSTR) lpConsoleTitle);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
-
-/*----------------------------------------------------------------------*/
 /*                      Processing file SHELLAPI.H                      */
 /*----------------------------------------------------------------------*/
 
@@ -658,339 +543,112 @@
 
 
 /*----------------------------------------------------------------------*/
-/*                      Processing file WINNETWK.H                      */
+/*                      Processing file WINUSER.H                       */
 /*----------------------------------------------------------------------*/
-
-#if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName)
+int
+qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist)
 {
   if (XEUNICODE_P)
-    return WNetAddConnectionW ((LPCWSTR) lpRemoteName, (LPCWSTR) lpPassword, (LPCWSTR) lpLocalName);
+    return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist);
   else
-    return WNetAddConnectionA ((LPCSTR) lpRemoteName, (LPCSTR) lpPassword, (LPCSTR) lpLocalName);
+    return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
+HKL
+qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags)
 {
   if (XEUNICODE_P)
-    return WNetAddConnection2W (lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
+    return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags);
   else
-    return WNetAddConnection2A ((LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
+    return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
+BOOL
+qxeGetKeyboardLayoutName (Extbyte * pwszKLID)
 {
   if (XEUNICODE_P)
-    return WNetAddConnection3W (hwndOwner, lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
+    return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID);
   else
-    return WNetAddConnection3A (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
+    return GetKeyboardLayoutNameA ((LPSTR) pwszKLID);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
+/* Error if CreateDesktop used: split-sized LPDEVMODE */
 
-DWORD 
-qxeWNetCancelConnection (const Extbyte * lpName, BOOL fForce)
+HDESK
+qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
 {
   if (XEUNICODE_P)
-    return WNetCancelConnectionW ((LPCWSTR) lpName, fForce);
+    return OpenDesktopW ((LPWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
   else
-    return WNetCancelConnectionA ((LPCSTR) lpName, fForce);
+    return OpenDesktopA ((LPSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, BOOL fForce)
+/* NOTE: // callback fun differs only in string pointer type */
+BOOL
+qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam)
 {
   if (XEUNICODE_P)
-    return WNetCancelConnection2W ((LPCWSTR) lpName, dwFlags, fForce);
+    return EnumDesktopsW (hwinsta, lpEnumFunc, lParam);
   else
-    return WNetCancelConnection2A ((LPCSTR) lpName, dwFlags, fForce);
+    return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD 
-qxeWNetGetConnection (const Extbyte * lpLocalName, Extbyte * lpRemoteName, LPDWORD lpnLength)
+HWINSTA
+qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa)
 {
   if (XEUNICODE_P)
-    return WNetGetConnectionW ((LPCWSTR) lpLocalName, (LPWSTR) lpRemoteName, lpnLength);
+    return CreateWindowStationW ((LPWSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
   else
-    return WNetGetConnectionA ((LPCSTR) lpLocalName, (LPSTR) lpRemoteName, lpnLength);
+    return CreateWindowStationA ((LPSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 
-DWORD 
-qxeWNetUseConnection (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult)
+HWINSTA
+qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
 {
   if (XEUNICODE_P)
-    return WNetUseConnectionW (hwndOwner, lpNetResource, (LPCWSTR) lpUserID, (LPCWSTR) lpPassword, dwFlags, (LPWSTR) lpAccessName, lpBufferSize, lpResult);
+    return OpenWindowStationW ((LPWSTR) lpszWinSta, fInherit, dwDesiredAccess);
   else
-    return WNetUseConnectionA (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpUserID, (LPCSTR) lpPassword, dwFlags, (LPSTR) lpAccessName, lpBufferSize, lpResult);
+    return OpenWindowStationA ((LPSTR) lpszWinSta, fInherit, dwDesiredAccess);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-/* NOTE: contains split-simple LPNETRESOURCE */
-DWORD 
-qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW lpConnDlgStruct)
+/* NOTE: // callback fun differs only in string pointer type */
+BOOL
+qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam)
 {
   if (XEUNICODE_P)
-    return WNetConnectionDialog1W (lpConnDlgStruct);
+    return EnumWindowStationsW (lpEnumFunc, lParam);
   else
-    return WNetConnectionDialog1A ((LPCONNECTDLGSTRUCTA) lpConnDlgStruct);
+    return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD 
-qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW lpConnDlgStruct)
+BOOL
+qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded)
 {
   if (XEUNICODE_P)
-    return WNetDisconnectDialog1W (lpConnDlgStruct);
+    return GetUserObjectInformationW (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
   else
-    return WNetDisconnectDialog1A ((LPDISCDLGSTRUCTA) lpConnDlgStruct);
+    return GetUserObjectInformationA (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD 
-qxeWNetOpenEnum (DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum)
+BOOL
+qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength)
 {
   if (XEUNICODE_P)
-    return WNetOpenEnumW (dwScope, dwType, dwUsage, lpNetResource, lphEnum);
+    return SetUserObjectInformationW (hObj, nIndex, pvInfo, nLength);
   else
-    return WNetOpenEnumA (dwScope, dwType, dwUsage, (LPNETRESOURCEA) lpNetResource, lphEnum);
+    return SetUserObjectInformationA (hObj, nIndex, pvInfo, nLength);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
-
-DWORD 
-qxeWNetEnumResource (HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize)
+UINT
+qxeRegisterWindowMessage (const Extbyte * lpString)
 {
   if (XEUNICODE_P)
-    return WNetEnumResourceW (hEnum, lpcCount, lpBuffer, lpBufferSize);
+    return RegisterWindowMessageW ((LPCWSTR) lpString);
   else
-    return WNetEnumResourceA (hEnum, lpcCount, lpBuffer, lpBufferSize);
+    return RegisterWindowMessageA ((LPCSTR) lpString);
 }
 
-#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 WINUSER.H                       */
-/*----------------------------------------------------------------------*/
-
-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);
-}
-
-HKL
-qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags)
-{
-  if (XEUNICODE_P)
-    return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags);
-  else
-    return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags);
-}
-
-BOOL
-qxeGetKeyboardLayoutName (Extbyte * pwszKLID)
-{
-  if (XEUNICODE_P)
-    return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID);
-  else
-    return GetKeyboardLayoutNameA ((LPSTR) pwszKLID);
-}
-
-/* Error if CreateDesktop used: split-sized LPDEVMODE */
-
-HDESK
-qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
-{
-  if (XEUNICODE_P)
-    return OpenDesktopW ((LPWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
-  else
-    return OpenDesktopA ((LPSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
-}
-
-/* NOTE: // callback fun differs only in string pointer type */
-BOOL
-qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam)
-{
-  if (XEUNICODE_P)
-    return EnumDesktopsW (hwinsta, lpEnumFunc, lParam);
-  else
-    return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam);
-}
-
-HWINSTA
-qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa)
-{
-  if (XEUNICODE_P)
-    return CreateWindowStationW ((LPWSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
-  else
-    return CreateWindowStationA ((LPSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
-}
-
-HWINSTA
-qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
-{
-  if (XEUNICODE_P)
-    return OpenWindowStationW ((LPWSTR) lpszWinSta, fInherit, dwDesiredAccess);
-  else
-    return OpenWindowStationA ((LPSTR) lpszWinSta, fInherit, dwDesiredAccess);
-}
-
-/* NOTE: // callback fun differs only in string pointer type */
-BOOL
-qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam)
-{
-  if (XEUNICODE_P)
-    return EnumWindowStationsW (lpEnumFunc, lParam);
-  else
-    return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam);
-}
-
-BOOL
-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);
-}
-
-BOOL
-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);
-}
-
 BOOL
 qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)
 {
@@ -1858,321 +1516,755 @@
 
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file DDEML.H                        */
+/*                        Processing file IME.H                         */
 /*----------------------------------------------------------------------*/
-
-UINT
-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);
-}
-
-/* Skipping DdeCreateStringHandle because error in Cygwin prototype */
 
-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);
-}
+/* Error if SendIMEMessageEx used: obsolete, no docs available */
 
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file WINREG.H                       */
+/*                        Processing file IMM.H                         */
 /*----------------------------------------------------------------------*/
-
-/* Skipping RegConnectRegistry because error in Cygwin prototype */
 
-LONG
+#if defined (HAVE_MS_WINDOWS)
 
-qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
+HKL
+qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText)
 {
   if (XEUNICODE_P)
-    return RegCreateKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
+    return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText);
   else
-    return RegCreateKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
+    return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
+#if defined (HAVE_MS_WINDOWS)
+
+UINT
+qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen)
 {
   if (XEUNICODE_P)
-    return RegCreateKeyExW (hKey, (LPCWSTR) lpSubKey, Reserved, (LPWSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
+    return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen);
   else
-    return RegCreateKeyExA (hKey, (LPCSTR) lpSubKey, Reserved, (LPSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
+    return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey)
+#if defined (HAVE_MS_WINDOWS)
+
+UINT
+qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen)
 {
   if (XEUNICODE_P)
-    return RegDeleteKeyW (hKey, (LPCWSTR) lpSubKey);
+    return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen);
   else
-    return RegDeleteKeyA (hKey, (LPCSTR) lpSubKey);
+    return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName)
-{
-  if (XEUNICODE_P)
-    return RegDeleteValueW (hKey, (LPCWSTR) lpValueName);
-  else
-    return RegDeleteValueA (hKey, (LPCSTR) lpValueName);
-}
+#if defined (HAVE_MS_WINDOWS)
 
 LONG
-
-qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cbName)
+qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4)
 {
   if (XEUNICODE_P)
-    return RegEnumKeyW (hKey, dwIndex, (LPWSTR) lpName, cbName);
+    return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
   else
-    return RegEnumKeyA (hKey, dwIndex, (LPSTR) lpName, cbName);
+    return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
 }
 
-LONG
+#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 */
+BOOL
+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)
+
+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 * 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)
+
+BOOL
+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
+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 MMSYSTEM.H                      */
+/*----------------------------------------------------------------------*/
+
+BOOL
+qxesndPlaySound (const Extbyte * pszSound, UINT fuSound)
+{
+  if (XEUNICODE_P)
+    return sndPlaySoundW ((LPCWSTR) pszSound, fuSound);
+  else
+    return sndPlaySoundA ((LPCSTR) pszSound, fuSound);
+}
+
+BOOL
+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 dwParam1, DWORD 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) */
+
+BOOL
+qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText)
+{
+  if (XEUNICODE_P)
+    return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText);
+  else
+    return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText);
+}
 
-qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime)
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file WINCON.H                       */
+/*----------------------------------------------------------------------*/
+
+BOOL
+qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead)
 {
   if (XEUNICODE_P)
-    return RegEnumKeyExW (hKey, dwIndex, (LPWSTR) lpName, lpcbName, lpReserved, (LPWSTR) lpClass, lpcbClass, lpftLastWriteTime);
+    return PeekConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
   else
-    return RegEnumKeyExA (hKey, dwIndex, (LPSTR) lpName, lpcbName, lpReserved, (LPSTR) lpClass, lpcbClass, lpftLastWriteTime);
+    return PeekConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead);
 }
 
-LONG
+BOOL
+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);
+}
 
-qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
+BOOL
+qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten)
 {
   if (XEUNICODE_P)
-    return RegEnumValueW (hKey, dwIndex, (LPWSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData);
+    return WriteConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten);
   else
-    return RegEnumValueA (hKey, dwIndex, (LPSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData);
+    return WriteConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten);
 }
 
-LONG
+BOOL
+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);
+}
 
-qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile)
+BOOL
+qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion)
 {
   if (XEUNICODE_P)
-    return RegLoadKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpFile);
+    return WriteConsoleOutputW (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion);
   else
-    return RegLoadKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpFile);
+    return WriteConsoleOutputA (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion);
 }
 
-LONG
+BOOL
+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);
+}
 
-qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
+BOOL
+qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten)
 {
   if (XEUNICODE_P)
-    return RegOpenKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
+    return WriteConsoleOutputCharacterW (hConsoleOutput, (LPCWSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten);
   else
-    return RegOpenKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
+    return WriteConsoleOutputCharacterA (hConsoleOutput, (LPCSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten);
 }
 
-LONG
+/* Error if FillConsoleOutputCharacter used: split CHAR */
 
-qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
+BOOL
+qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill)
 {
   if (XEUNICODE_P)
-    return RegOpenKeyExW (hKey, (LPCWSTR) lpSubKey, ulOptions, samDesired, phkResult);
+    return ScrollConsoleScreenBufferW (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill);
   else
-    return RegOpenKeyExA (hKey, (LPCSTR) lpSubKey, ulOptions, samDesired, phkResult);
+    return ScrollConsoleScreenBufferA (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill);
 }
 
-LONG
+DWORD
+qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize)
+{
+  if (XEUNICODE_P)
+    return GetConsoleTitleW ((LPWSTR) lpConsoleTitle, nSize);
+  else
+    return GetConsoleTitleA ((LPSTR) lpConsoleTitle, nSize);
+}
 
-qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
+BOOL
+qxeSetConsoleTitle (const Extbyte * lpConsoleTitle)
 {
   if (XEUNICODE_P)
-    return RegQueryInfoKeyW (hKey, (LPWSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
+    return SetConsoleTitleW ((LPCWSTR) lpConsoleTitle);
   else
-    return RegQueryInfoKeyA (hKey, (LPSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
+    return SetConsoleTitleA ((LPCSTR) lpConsoleTitle);
 }
 
-LONG
+BOOL
+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);
+}
 
-qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpValue, PLONG lpcbValue)
+BOOL
+qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved)
 {
   if (XEUNICODE_P)
-    return RegQueryValueW (hKey, (LPCWSTR) lpSubKey, (LPWSTR) lpValue, lpcbValue);
+    return WriteConsoleW (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
   else
-    return RegQueryValueA (hKey, (LPCSTR) lpSubKey, (LPSTR) lpValue, lpcbValue);
+    return WriteConsoleA (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
 }
 
-LONG
 
-qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize)
+/*----------------------------------------------------------------------*/
+/*                      Processing file WINNETWK.H                      */
+/*----------------------------------------------------------------------*/
+
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName)
 {
   if (XEUNICODE_P)
-    return RegQueryMultipleValuesW (hKey, val_list, num_vals, (LPWSTR) lpValueBuf, ldwTotsize);
+    return WNetAddConnectionW ((LPCWSTR) lpRemoteName, (LPCWSTR) lpPassword, (LPCWSTR) lpLocalName);
   else
-    return RegQueryMultipleValuesA (hKey, (PVALENTA) val_list, num_vals, (LPSTR) lpValueBuf, ldwTotsize);
+    return WNetAddConnectionA ((LPCSTR) lpRemoteName, (LPCSTR) lpPassword, (LPCSTR) lpLocalName);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
 {
   if (XEUNICODE_P)
-    return RegQueryValueExW (hKey, (LPCWSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
+    return WNetAddConnection2W (lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
   else
-    return RegQueryValueExA (hKey, (LPCSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
+    return WNetAddConnection2A ((LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags)
 {
   if (XEUNICODE_P)
-    return RegReplaceKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpNewFile, (LPCWSTR) lpOldFile);
+    return WNetAddConnection3W (hwndOwner, lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags);
   else
-    return RegReplaceKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpNewFile, (LPCSTR) lpOldFile);
+    return WNetAddConnection3A (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetCancelConnection (const Extbyte * lpName, BOOL fForce)
 {
   if (XEUNICODE_P)
-    return RegRestoreKeyW (hKey, (LPCWSTR) lpFile, dwFlags);
+    return WNetCancelConnectionW ((LPCWSTR) lpName, fForce);
   else
-    return RegRestoreKeyA (hKey, (LPCSTR) lpFile, dwFlags);
+    return WNetCancelConnectionA ((LPCSTR) lpName, fForce);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, BOOL fForce)
 {
   if (XEUNICODE_P)
-    return RegSaveKeyW (hKey, (LPCWSTR) lpFile, lpSecurityAttributes);
+    return WNetCancelConnection2W ((LPCWSTR) lpName, dwFlags, fForce);
   else
-    return RegSaveKeyA (hKey, (LPCSTR) lpFile, lpSecurityAttributes);
+    return WNetCancelConnection2A ((LPCSTR) lpName, dwFlags, fForce);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData)
+#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 * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult)
+{
+  if (XEUNICODE_P)
+    return WNetUseConnectionW (hwndOwner, lpNetResource, (LPCWSTR) lpUserID, (LPCWSTR) lpPassword, dwFlags, (LPWSTR) lpAccessName, lpBufferSize, lpResult);
+  else
+    return WNetUseConnectionA (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpUserID, (LPCSTR) lpPassword, dwFlags, (LPSTR) lpAccessName, lpBufferSize, lpResult);
+}
+
+#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)
+
+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 RegSetValueW (hKey, (LPCWSTR) lpSubKey, dwType, (LPCWSTR) lpData, cbData);
+    return WNetGetUserW ((LPCWSTR) lpName, (LPWSTR) lpUserName, lpnLength);
   else
-    return RegSetValueA (hKey, (LPCSTR) lpSubKey, dwType, (LPCSTR) lpData, cbData);
+    return WNetGetUserA ((LPCSTR) lpName, (LPSTR) lpUserName, lpnLength);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetGetProviderName (DWORD dwNetType, Extbyte * lpProviderName, LPDWORD lpBufferSize)
 {
   if (XEUNICODE_P)
-    return RegSetValueExW (hKey, (LPCWSTR) lpValueName, Reserved, dwType, lpData, cbData);
+    return WNetGetProviderNameW (dwNetType, (LPWSTR) lpProviderName, lpBufferSize);
   else
-    return RegSetValueExA (hKey, (LPCSTR) lpValueName, Reserved, dwType, lpData, cbData);
+    return WNetGetProviderNameA (dwNetType, (LPSTR) lpProviderName, lpBufferSize);
 }
 
-LONG
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetGetNetworkInformation (const Extbyte * lpProvider, LPNETINFOSTRUCT lpNetInfoStruct)
 {
   if (XEUNICODE_P)
-    return RegUnLoadKeyW (hKey, (LPCWSTR) lpSubKey);
+    return WNetGetNetworkInformationW ((LPCWSTR) lpProvider, lpNetInfoStruct);
   else
-    return RegUnLoadKeyA (hKey, (LPCSTR) lpSubKey);
+    return WNetGetNetworkInformationA ((LPCSTR) lpProvider, lpNetInfoStruct);
 }
 
-BOOL
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeWNetGetLastError (LPDWORD lpError, Extbyte * lpErrorBuf, DWORD nErrorBufSize, Extbyte * lpNameBuf, DWORD nNameBufSize)
 {
   if (XEUNICODE_P)
-    return InitiateSystemShutdownW ((LPWSTR) lpMachineName, (LPWSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
+    return WNetGetLastErrorW (lpError, (LPWSTR) lpErrorBuf, nErrorBufSize, (LPWSTR) lpNameBuf, nNameBufSize);
   else
-    return InitiateSystemShutdownA ((LPSTR) lpMachineName, (LPSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
+    return WNetGetLastErrorA (lpError, (LPSTR) lpErrorBuf, nErrorBufSize, (LPSTR) lpNameBuf, nNameBufSize);
 }
 
-BOOL
+#endif /* defined (HAVE_MS_WINDOWS) */
 
-qxeAbortSystemShutdown (Extbyte * lpMachineName)
+#if defined (HAVE_MS_WINDOWS)
+
+DWORD 
+qxeMultinetGetConnectionPerformance (LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct)
 {
   if (XEUNICODE_P)
-    return AbortSystemShutdownW ((LPWSTR) lpMachineName);
+    return MultinetGetConnectionPerformanceW (lpNetResource, lpNetConnectInfoStruct);
   else
-    return AbortSystemShutdownA ((LPSTR) lpMachineName);
+    return MultinetGetConnectionPerformanceA ((LPNETRESOURCEA) lpNetResource, lpNetConnectInfoStruct);
 }
 
+#endif /* defined (HAVE_MS_WINDOWS) */
+
 
 /*----------------------------------------------------------------------*/
-/*                       Processing file WINNLS.H                       */
+/*                       Processing file DDEML.H                        */
 /*----------------------------------------------------------------------*/
-
-/* Error if GetCPInfoEx used: not used, not examined yet */
 
-/* Error if CompareString used: not used, not examined yet */
-
-/* Error if LCMapString used: not used, not examined yet */
-
-int
-qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData)
+UINT
+qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes)
 {
   if (XEUNICODE_P)
-    return GetLocaleInfoW (Locale, LCType, (LPWSTR) lpLCData, cchData);
+    return DdeInitializeW (pidInst, pfnCallback, afCmd, ulRes);
   else
-    return GetLocaleInfoA (Locale, LCType, (LPSTR) lpLCData, cchData);
+    return DdeInitializeA (pidInst, pfnCallback, afCmd, ulRes);
 }
 
-BOOL
-qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData)
+/* Skipping DdeCreateStringHandle because error in Cygwin prototype */
+
+DWORD
+qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage)
 {
   if (XEUNICODE_P)
-    return SetLocaleInfoW (Locale, LCType, (LPCWSTR) lpLCData);
+    return DdeQueryStringW (idInst, hsz, (LPWSTR) psz, cchMax, iCodePage);
   else
-    return SetLocaleInfoA (Locale, LCType, (LPCSTR) lpLCData);
+    return DdeQueryStringA (idInst, hsz, (LPSTR) psz, cchMax, iCodePage);
 }
 
-/* Error if GetTimeFormat used: not used, not examined yet */
-
-/* Error if GetDateFormat used: not used, not examined yet */
-
-/* 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 */
-
-/* Error if GetStringTypeEx used: not used, not examined yet */
-
-/* Error if GetStringType used: no such fun; A and W versions have different nos. of args */
-
-/* Error if FoldString used: not used, not examined yet */
-
-/* Error if EnumSystemLocales used: not used, not examined yet */
-
-/* Error if EnumSystemCodePages used: not used, not examined yet */
-
-
-/*----------------------------------------------------------------------*/
-/*                        Processing file IME.H                         */
-/*----------------------------------------------------------------------*/
-
-/* Error if SendIMEMessageEx used: obsolete, no docs available */
 
-
 /*----------------------------------------------------------------------*/
 /*                       Processing file WINGDI.H                       */
 /*----------------------------------------------------------------------*/
@@ -2403,385 +2495,456 @@
   else
     return StartDocA (arg1, (CONST DOCINFOA *) arg2);
 }
+
+/* Skipping GetObject because split-sized LOGFONT */
+
+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);
+}
+
+BOOL
+qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * 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);
+}
+
+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);
+}
+
+int
+qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3)
+{
+  if (XEUNICODE_P)
+    return GetTextFaceW (arg1, arg2, (LPWSTR) arg3);
+  else
+    return GetTextFaceA (arg1, arg2, (LPSTR) arg3);
+}
+
+DWORD
+qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3)
+{
+  if (XEUNICODE_P)
+    return GetKerningPairsW (arg1, arg2, arg3);
+  else
+    return GetKerningPairsA (arg1, arg2, arg3);
+}
+
+/* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
+
+/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
+
+/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */
+
+/* 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);
+}
+
+/* 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);
+}
+
+/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
+
+/* Error if wglUseFontBitmaps used: causes link error */
+
+/* Error if wglUseFontOutlines used: causes link error */
+
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file WINNLS.H                       */
+/*----------------------------------------------------------------------*/
+
+/* Error if GetCPInfoEx used: not used, not examined yet */
+
+/* Error if CompareString used: not used, not examined yet */
+
+/* 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);
+}
+
+BOOL
+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 GetTimeFormat used: not used, not examined yet */
+
+/* Error if GetDateFormat used: not used, not examined yet */
+
+/* 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 */
+
+/* Error if GetStringTypeEx used: not used, not examined yet */
+
+/* Error if GetStringType used: no such fun; A and W versions have different nos. of args */
+
+/* Error if FoldString used: not used, not examined yet */
+
+/* Error if EnumSystemLocales used: not used, not examined yet */
+
+/* Error if EnumSystemCodePages used: not used, not examined yet */
+
+
+/*----------------------------------------------------------------------*/
+/*                       Processing file WINREG.H                       */
+/*----------------------------------------------------------------------*/
+
+/* Skipping RegConnectRegistry because error in Cygwin prototype */
 
-/* Skipping GetObject because split-sized LOGFONT */
+LONG
 
-BOOL
-qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5)
+qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
 {
   if (XEUNICODE_P)
-    return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5);
+    return RegCreateKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
   else
-    return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5);
+    return RegCreateKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
 }
 
-BOOL
-qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * arg5, const Extbyte * arg6, UINT arg7, CONST INT * arg8)
+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 ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8);
+    return RegCreateKeyExW (hKey, (LPCWSTR) lpSubKey, Reserved, (LPWSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
   else
-    return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8);
+    return RegCreateKeyExA (hKey, (LPCSTR) lpSubKey, Reserved, (LPSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
 }
 
-BOOL
-qxePolyTextOut (HDC arg1, CONST POLYTEXTW * arg2, int arg3)
+LONG
+
+qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey)
 {
   if (XEUNICODE_P)
-    return PolyTextOutW (arg1, arg2, arg3);
+    return RegDeleteKeyW (hKey, (LPCWSTR) lpSubKey);
   else
-    return PolyTextOutA (arg1, (CONST POLYTEXTA *) arg2, arg3);
+    return RegDeleteKeyA (hKey, (LPCSTR) lpSubKey);
 }
 
-int
-qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3)
+LONG
+
+qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName)
 {
   if (XEUNICODE_P)
-    return GetTextFaceW (arg1, arg2, (LPWSTR) arg3);
+    return RegDeleteValueW (hKey, (LPCWSTR) lpValueName);
   else
-    return GetTextFaceA (arg1, arg2, (LPSTR) arg3);
+    return RegDeleteValueA (hKey, (LPCSTR) lpValueName);
 }
 
-DWORD
-qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3)
+LONG
+
+qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cbName)
 {
   if (XEUNICODE_P)
-    return GetKerningPairsW (arg1, arg2, arg3);
+    return RegEnumKeyW (hKey, dwIndex, (LPWSTR) lpName, cbName);
   else
-    return GetKerningPairsA (arg1, arg2, arg3);
+    return RegEnumKeyA (hKey, dwIndex, (LPSTR) lpName, cbName);
 }
-
-/* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
-
-/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
 
-/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */
+LONG
 
-/* NOTE: NT 4.0+ only */
-BOOL
-qxeSetICMProfile (HDC arg1, Extbyte * arg2)
+qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime)
 {
   if (XEUNICODE_P)
-    return SetICMProfileW (arg1, (LPWSTR) arg2);
+    return RegEnumKeyExW (hKey, dwIndex, (LPWSTR) lpName, lpcbName, lpReserved, (LPWSTR) lpClass, lpcbClass, lpftLastWriteTime);
   else
-    return SetICMProfileA (arg1, (LPSTR) arg2);
+    return RegEnumKeyExA (hKey, dwIndex, (LPSTR) lpName, lpcbName, lpReserved, (LPSTR) lpClass, lpcbClass, lpftLastWriteTime);
 }
 
-/* NOTE: NT 4.0+ only */
-int
-qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3)
+LONG
+
+qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
 {
   if (XEUNICODE_P)
-    return EnumICMProfilesW (arg1, arg2, arg3);
+    return RegEnumValueW (hKey, dwIndex, (LPWSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData);
   else
-    return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3);
+    return RegEnumValueA (hKey, dwIndex, (LPSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData);
 }
-
-/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
-
-/* Error if wglUseFontBitmaps used: causes link error */
-
-/* Error if wglUseFontOutlines used: causes link error */
-
 
-/*----------------------------------------------------------------------*/
-/*                       Processing file SHLOBJ.H                       */
-/*----------------------------------------------------------------------*/
+LONG
 
-BOOL
-qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath)
+qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile)
 {
   if (XEUNICODE_P)
-    return SHGetPathFromIDListW (pidl, (LPWSTR) pszPath);
+    return RegLoadKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpFile);
   else
-    return SHGetPathFromIDListA (pidl, (LPSTR) pszPath);
+    return RegLoadKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpFile);
 }
-
-/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
-
-/* 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 */
-
 
-/*----------------------------------------------------------------------*/
-/*                      Processing file COMMDLG.H                       */
-/*----------------------------------------------------------------------*/
+LONG
 
-BOOL  
-qxeGetOpenFileName (LPOPENFILENAMEW arg1)
+qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult)
 {
   if (XEUNICODE_P)
-    return GetOpenFileNameW (arg1);
+    return RegOpenKeyW (hKey, (LPCWSTR) lpSubKey, phkResult);
   else
-    return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
+    return RegOpenKeyA (hKey, (LPCSTR) lpSubKey, phkResult);
 }
 
-BOOL  
-qxeGetSaveFileName (LPOPENFILENAMEW arg1)
+LONG
+
+qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
 {
   if (XEUNICODE_P)
-    return GetSaveFileNameW (arg1);
+    return RegOpenKeyExW (hKey, (LPCWSTR) lpSubKey, ulOptions, samDesired, phkResult);
   else
-    return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
+    return RegOpenKeyExA (hKey, (LPCSTR) lpSubKey, ulOptions, samDesired, phkResult);
 }
 
-short 
-qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3)
+LONG
+
+qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
 {
   if (XEUNICODE_P)
-    return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
+    return RegQueryInfoKeyW (hKey, (LPWSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
   else
-    return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
+    return RegQueryInfoKeyA (hKey, (LPSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
 }
 
-BOOL  
-qxeChooseColor (LPCHOOSECOLORW arg1)
+LONG
+
+qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpValue, PLONG lpcbValue)
 {
   if (XEUNICODE_P)
-    return ChooseColorW (arg1);
+    return RegQueryValueW (hKey, (LPCWSTR) lpSubKey, (LPWSTR) lpValue, lpcbValue);
   else
-    return ChooseColorA ((LPCHOOSECOLORA) arg1);
+    return RegQueryValueA (hKey, (LPCSTR) lpSubKey, (LPSTR) lpValue, lpcbValue);
 }
 
-HWND  
-qxeFindText (LPFINDREPLACEW arg1)
+LONG
+
+qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize)
 {
   if (XEUNICODE_P)
-    return FindTextW (arg1);
+    return RegQueryMultipleValuesW (hKey, val_list, num_vals, (LPWSTR) lpValueBuf, ldwTotsize);
   else
-    return FindTextA ((LPFINDREPLACEA) arg1);
+    return RegQueryMultipleValuesA (hKey, (PVALENTA) val_list, num_vals, (LPSTR) lpValueBuf, ldwTotsize);
 }
 
-HWND  
-qxeReplaceText (LPFINDREPLACEW arg1)
+LONG
+
+qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
 {
   if (XEUNICODE_P)
-    return ReplaceTextW (arg1);
+    return RegQueryValueExW (hKey, (LPCWSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
   else
-    return ReplaceTextA ((LPFINDREPLACEA) arg1);
+    return RegQueryValueExA (hKey, (LPCSTR) lpValueName, lpReserved, lpType, lpData, lpcbData);
 }
-
-/* Error if AfxReplaceText used: mac only */
-
-/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
-
-/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
-
-/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
-
-
-/*----------------------------------------------------------------------*/
-/*                        Processing file IMM.H                         */
-/*----------------------------------------------------------------------*/
 
-#if defined (HAVE_MS_WINDOWS)
+LONG
 
-HKL
-qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText)
+qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile)
 {
   if (XEUNICODE_P)
-    return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText);
+    return RegReplaceKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpNewFile, (LPCWSTR) lpOldFile);
   else
-    return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText);
+    return RegReplaceKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpNewFile, (LPCSTR) lpOldFile);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
+LONG
 
-UINT
-qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen)
+qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags)
 {
   if (XEUNICODE_P)
-    return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen);
+    return RegRestoreKeyW (hKey, (LPCWSTR) lpFile, dwFlags);
   else
-    return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen);
+    return RegRestoreKeyA (hKey, (LPCSTR) lpFile, dwFlags);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
+LONG
 
-UINT
-qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen)
+qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
 {
   if (XEUNICODE_P)
-    return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen);
+    return RegSaveKeyW (hKey, (LPCWSTR) lpFile, lpSecurityAttributes);
   else
-    return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen);
+    return RegSaveKeyA (hKey, (LPCSTR) lpFile, lpSecurityAttributes);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
 LONG
-qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4)
+
+qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData)
 {
   if (XEUNICODE_P)
-    return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
+    return RegSetValueW (hKey, (LPCWSTR) lpSubKey, dwType, (LPCWSTR) lpData, cbData);
   else
-    return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
+    return RegSetValueA (hKey, (LPCSTR) lpSubKey, dwType, (LPCSTR) lpData, cbData);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
+LONG
 
-DWORD
-qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount)
+qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData)
 {
   if (XEUNICODE_P)
-    return ImmGetCandidateListCountW (arg1, lpdwListCount);
+    return RegSetValueExW (hKey, (LPCWSTR) lpValueName, Reserved, dwType, lpData, cbData);
   else
-    return ImmGetCandidateListCountA (arg1, lpdwListCount);
+    return RegSetValueExA (hKey, (LPCSTR) lpValueName, Reserved, dwType, lpData, cbData);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
+LONG
 
-DWORD
-qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen)
+qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey)
 {
   if (XEUNICODE_P)
-    return ImmGetCandidateListW (arg1, deIndex, arg3, dwBufLen);
+    return RegUnLoadKeyW (hKey, (LPCWSTR) lpSubKey);
   else
-    return ImmGetCandidateListA (arg1, deIndex, arg3, dwBufLen);
+    return RegUnLoadKeyA (hKey, (LPCSTR) lpSubKey);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
+BOOL
 
-DWORD
-qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen)
+qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown)
 {
   if (XEUNICODE_P)
-    return ImmGetGuideLineW (arg1, dwIndex, (LPWSTR) arg3, dwBufLen);
+    return InitiateSystemShutdownW ((LPWSTR) lpMachineName, (LPWSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
   else
-    return ImmGetGuideLineA (arg1, dwIndex, (LPSTR) arg3, dwBufLen);
+    return InitiateSystemShutdownA ((LPSTR) lpMachineName, (LPSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown);
 }
 
-#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, LPVOID arg4)
+
+qxeAbortSystemShutdown (Extbyte * lpMachineName)
 {
   if (XEUNICODE_P)
-    return ImmConfigureIMEW (arg1, arg2, arg3, arg4);
+    return AbortSystemShutdownW ((LPWSTR) lpMachineName);
   else
-    return ImmConfigureIMEA (arg1, arg2, arg3, arg4);
+    return AbortSystemShutdownA ((LPSTR) lpMachineName);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
+/*----------------------------------------------------------------------*/
+/*                      Processing file COMMDLG.H                       */
+/*----------------------------------------------------------------------*/
 
-/* NOTE: // strings of various sorts */
-LRESULT
-qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4)
+BOOL  
+qxeGetOpenFileName (LPOPENFILENAMEW arg1)
 {
   if (XEUNICODE_P)
-    return ImmEscapeW (arg1, arg2, arg3, arg4);
+    return GetOpenFileNameW (arg1);
   else
-    return ImmEscapeA (arg1, arg2, arg3, arg4);
+    return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
 }
-
-#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)
+BOOL  
+qxeGetSaveFileName (LPOPENFILENAMEW arg1)
 {
   if (XEUNICODE_P)
-    return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, dwBufLen, uFlag);
+    return GetSaveFileNameW (arg1);
   else
-    return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, dwBufLen, uFlag);
+    return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-
-BOOL
-qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
+short 
+qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3)
 {
   if (XEUNICODE_P)
-    return ImmIsUIMessageW (arg1, arg2, arg3, arg4);
+    return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
   else
-    return ImmIsUIMessageA (arg1, arg2, arg3, arg4);
+    return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
 }
-
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
 
-BOOL
-qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister)
+BOOL  
+qxeChooseColor (LPCHOOSECOLORW arg1)
 {
   if (XEUNICODE_P)
-    return ImmRegisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszRegister);
+    return ChooseColorW (arg1);
   else
-    return ImmRegisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszRegister);
+    return ChooseColorA ((LPCHOOSECOLORA) arg1);
 }
 
-#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);
+}
 
-BOOL
-qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister)
+HWND  
+qxeReplaceText (LPFINDREPLACEW arg1)
 {
   if (XEUNICODE_P)
-    return ImmUnregisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszUnregister);
+    return ReplaceTextW (arg1);
   else
-    return ImmUnregisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszUnregister);
+    return ReplaceTextA ((LPFINDREPLACEA) arg1);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Error if AfxReplaceText used: mac only */
 
-#if defined (HAVE_MS_WINDOWS)
+/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
 
-/* Error if ImmGetRegisterWordStyle used: split-sized STYLEBUF */
+/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
 
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
 
-#if defined (HAVE_MS_WINDOWS)
 
-UINT
-qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6)
+/*----------------------------------------------------------------------*/
+/*                       Processing file SHLOBJ.H                       */
+/*----------------------------------------------------------------------*/
+
+BOOL
+qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath)
 {
   if (XEUNICODE_P)
-    return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) lpszReading, arg4, (LPCWSTR) lpszRegister, arg6);
+    return SHGetPathFromIDListW (pidl, (LPWSTR) pszPath);
   else
-    return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) lpszReading, arg4, (LPCSTR) lpszRegister, arg6);
+    return SHGetPathFromIDListA (pidl, (LPSTR) pszPath);
 }
 
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
+/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
 
-/* Error if ImmGetImeMenuItems used: split-sized IMEMENUITEMINFO */
+/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
 
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
 
 
 /*----------------------------------------------------------------------*/
@@ -3132,6 +3295,12 @@
     return FindResourceExA (hModule, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage);
 }
 
+/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */
+
 HANDLE
 qxeBeginUpdateResource (const Extbyte * pFileName, BOOL bDeleteExistingResources)
 {
@@ -3933,158 +4102,15 @@
 
 
 /*----------------------------------------------------------------------*/
-/*                      Processing file MMSYSTEM.H                      */
+/*                       Processing file ACLAPI.h                       */
 /*----------------------------------------------------------------------*/
-
-BOOL
-qxesndPlaySound (const Extbyte * pszSound, UINT fuSound)
-{
-  if (XEUNICODE_P)
-    return sndPlaySoundW ((LPCWSTR) pszSound, fuSound);
-  else
-    return sndPlaySoundA ((LPCSTR) pszSound, fuSound);
-}
-
-BOOL
-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 dwParam1, DWORD 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) */
-
-BOOL
-qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText)
+DWORD
+qxeGetNamedSecurityInfo (IN  Extbyte * pObjectName, IN  SE_OBJECT_TYPE ObjectType, IN  SECURITY_INFORMATION SecurityInfo, OUT PSID                 * ppsidOowner, OUT PSID                 * ppsidGroup, OUT PACL                 * ppDacl, OUT PACL                 * ppSacl, OUT PSECURITY_DESCRIPTOR * ppSecurityDescriptor)
 {
   if (XEUNICODE_P)
-    return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText);
+    return GetNamedSecurityInfoW ((IN  LPWSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
   else
-    return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText);
+    return GetNamedSecurityInfoA ((IN  LPSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
 }
 
Index: src/intl-auto-encap-win32.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-auto-encap-win32.h,v
retrieving revision 1.10
diff -a -u -r1.10 intl-auto-encap-win32.h
--- src/intl-auto-encap-win32.h	2005/01/24 23:34:00	1.10
+++ src/intl-auto-encap-win32.h	2006/12/07 17:43:40
@@ -3,84 +3,6 @@
 */
 
 
-/* Processing file WINCON.H */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef PeekConsoleInput
-#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW
-#endif
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL 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
-BOOL qxeSetConsoleTitle (const Extbyte * lpConsoleTitle);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ReadConsole
-#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW
-#endif
-BOOL 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
-BOOL qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved);
-
-
 /* Processing file SHELLAPI.H */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
@@ -490,145 +412,6 @@
 #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 * 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, BOOL 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, BOOL 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 * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult);
-#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)
-#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 WINUSER.H */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
@@ -1306,252 +1089,503 @@
 #define GetAltTabInfo error_NT_5_0__only
 
 
-/* Processing file DDEML.H */
+/* Processing file IME.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);
+#undef SendIMEMessageEx
+#define SendIMEMessageEx error_obsolete__no_docs_available
 
-/* Skipping DdeCreateStringHandle because error in Cygwin prototype */
 
+/* Processing file IMM.H */
+
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef DdeQueryString
-#define DdeQueryString error_use_qxeDdeQueryString_or_DdeQueryStringA_and_DdeQueryStringW
+#undef ImmInstallIME
+#define ImmInstallIME error_use_qxeImmInstallIME_or_ImmInstallIMEA_and_ImmInstallIMEW
 #endif
-DWORD qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage);
-
-
-/* Processing file WINREG.H */
-
-/* Skipping RegConnectRegistry because error in Cygwin prototype */
+HKL qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegCreateKey
-#define RegCreateKey error_use_qxeRegCreateKey_or_RegCreateKeyA_and_RegCreateKeyW
+#undef ImmGetDescription
+#define ImmGetDescription error_use_qxeImmGetDescription_or_ImmGetDescriptionA_and_ImmGetDescriptionW
 #endif
-LONG
- qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult);
+UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegCreateKeyEx
-#define RegCreateKeyEx error_use_qxeRegCreateKeyEx_or_RegCreateKeyExA_and_RegCreateKeyExW
+#undef ImmGetIMEFileName
+#define ImmGetIMEFileName error_use_qxeImmGetIMEFileName_or_ImmGetIMEFileNameA_and_ImmGetIMEFileNameW
 #endif
-LONG
- qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
+UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegDeleteKey
-#define RegDeleteKey error_use_qxeRegDeleteKey_or_RegDeleteKeyA_and_RegDeleteKeyW
+#undef ImmGetCompositionString
+#define ImmGetCompositionString error_use_qxeImmGetCompositionString_or_ImmGetCompositionStringA_and_ImmGetCompositionStringW
 #endif
-LONG
- qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey);
+LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD 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)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegDeleteValue
-#define RegDeleteValue error_use_qxeRegDeleteValue_or_RegDeleteValueA_and_RegDeleteValueW
+#undef ImmGetCandidateListCount
+#define ImmGetCandidateListCount error_use_qxeImmGetCandidateListCount_or_ImmGetCandidateListCountA_and_ImmGetCandidateListCountW
 #endif
-LONG
- qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName);
+DWORD qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumKey
-#define RegEnumKey error_use_qxeRegEnumKey_or_RegEnumKeyA_and_RegEnumKeyW
+#undef ImmGetCandidateList
+#define ImmGetCandidateList error_use_qxeImmGetCandidateList_or_ImmGetCandidateListA_and_ImmGetCandidateListW
 #endif
-LONG
- qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cbName);
+DWORD qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumKeyEx
-#define RegEnumKeyEx error_use_qxeRegEnumKeyEx_or_RegEnumKeyExA_and_RegEnumKeyExW
+#undef ImmGetGuideLine
+#define ImmGetGuideLine error_use_qxeImmGetGuideLine_or_ImmGetGuideLineA_and_ImmGetGuideLineW
 #endif
-LONG
- qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime);
+DWORD qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD 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)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegEnumValue
-#define RegEnumValue error_use_qxeRegEnumValue_or_RegEnumValueA_and_RegEnumValueW
+#undef ImmConfigureIME
+#define ImmConfigureIME error_use_qxeImmConfigureIME_or_ImmConfigureIMEA_and_ImmConfigureIMEW
 #endif
-LONG
- qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
+BOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegLoadKey
-#define RegLoadKey error_use_qxeRegLoadKey_or_RegLoadKeyA_and_RegLoadKeyW
+#undef ImmEscape
+#define ImmEscape error_use_qxeImmEscape_or_ImmEscapeA_and_ImmEscapeW
 #endif
-LONG
- qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile);
+LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegOpenKey
-#define RegOpenKey error_use_qxeRegOpenKey_or_RegOpenKeyA_and_RegOpenKeyW
+#undef ImmGetConversionList
+#define ImmGetConversionList error_use_qxeImmGetConversionList_or_ImmGetConversionListA_and_ImmGetConversionListW
 #endif
-LONG
- qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult);
+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)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegOpenKeyEx
-#define RegOpenKeyEx error_use_qxeRegOpenKeyEx_or_RegOpenKeyExA_and_RegOpenKeyExW
+#undef ImmIsUIMessage
+#define ImmIsUIMessage error_use_qxeImmIsUIMessage_or_ImmIsUIMessageA_and_ImmIsUIMessageW
 #endif
-LONG
- qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
+BOOL qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryInfoKey
-#define RegQueryInfoKey error_use_qxeRegQueryInfoKey_or_RegQueryInfoKeyA_and_RegQueryInfoKeyW
+#undef ImmRegisterWord
+#define ImmRegisterWord error_use_qxeImmRegisterWord_or_ImmRegisterWordA_and_ImmRegisterWordW
 #endif
-LONG
- qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime);
+BOOL qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryValue
-#define RegQueryValue error_use_qxeRegQueryValue_or_RegQueryValueA_and_RegQueryValueW
+#undef ImmUnregisterWord
+#define ImmUnregisterWord error_use_qxeImmUnregisterWord_or_ImmUnregisterWordA_and_ImmUnregisterWordW
 #endif
-LONG
- qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpValue, PLONG lpcbValue);
+BOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister);
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+#if defined (HAVE_MS_WINDOWS)
+#undef ImmGetRegisterWordStyle
+#define ImmGetRegisterWordStyle error_split_sized_STYLEBUF
+#endif /* defined (HAVE_MS_WINDOWS) */
+
+#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryMultipleValues
-#define RegQueryMultipleValues error_use_qxeRegQueryMultipleValues_or_RegQueryMultipleValuesA_and_RegQueryMultipleValuesW
+#undef ImmEnumRegisterWord
+#define ImmEnumRegisterWord error_use_qxeImmEnumRegisterWord_or_ImmEnumRegisterWordA_and_ImmEnumRegisterWordW
 #endif
-LONG
- qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize);
+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)
+#undef ImmGetImeMenuItems
+#define ImmGetImeMenuItems error_split_sized_IMEMENUITEMINFO
+#endif /* defined (HAVE_MS_WINDOWS) */
 
+
+/* Processing file MMSYSTEM.H */
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegQueryValueEx
-#define RegQueryValueEx error_use_qxeRegQueryValueEx_or_RegQueryValueExA_and_RegQueryValueExW
+#undef sndPlaySound
+#define sndPlaySound error_use_qxesndPlaySound_or_sndPlaySoundA_and_sndPlaySoundW
 #endif
-LONG
- qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
+BOOL qxesndPlaySound (const Extbyte * pszSound, UINT fuSound);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegReplaceKey
-#define RegReplaceKey error_use_qxeRegReplaceKey_or_RegReplaceKeyA_and_RegReplaceKeyW
+#undef PlaySound
+#define PlaySound error_use_qxePlaySound_or_PlaySoundA_and_PlaySoundW
 #endif
-LONG
- qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile);
+BOOL qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound);
 
+#undef waveOutGetDevCaps
+#define waveOutGetDevCaps error_split_sized_LPWAVEOUTCAPS
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegRestoreKey
-#define RegRestoreKey error_use_qxeRegRestoreKey_or_RegRestoreKeyA_and_RegRestoreKeyW
+#undef waveOutGetErrorText
+#define waveOutGetErrorText error_use_qxewaveOutGetErrorText_or_waveOutGetErrorTextA_and_waveOutGetErrorTextW
 #endif
-LONG
- qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags);
+MMRESULT qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
+
+#undef waveInGetDevCaps
+#define waveInGetDevCaps error_split_sized_LPWAVEINCAPS
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSaveKey
-#define RegSaveKey error_use_qxeRegSaveKey_or_RegSaveKeyA_and_RegSaveKeyW
+#undef waveInGetErrorText
+#define waveInGetErrorText error_use_qxewaveInGetErrorText_or_waveInGetErrorTextA_and_waveInGetErrorTextW
 #endif
-LONG
- qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+MMRESULT qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
+#undef midiOutGetDevCaps
+#define midiOutGetDevCaps error_split_sized_LPMIDIOUTCAPS
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSetValue
-#define RegSetValue error_use_qxeRegSetValue_or_RegSetValueA_and_RegSetValueW
+#undef midiOutGetErrorText
+#define midiOutGetErrorText error_use_qxemidiOutGetErrorText_or_midiOutGetErrorTextA_and_midiOutGetErrorTextW
 #endif
-LONG
- qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData);
+MMRESULT qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
+
+#undef midiInGetDevCaps
+#define midiInGetDevCaps error_split_sized_LPMIDIOUTCAPS
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegSetValueEx
-#define RegSetValueEx error_use_qxeRegSetValueEx_or_RegSetValueExA_and_RegSetValueExW
+#undef midiInGetErrorText
+#define midiInGetErrorText error_use_qxemidiInGetErrorText_or_midiInGetErrorTextA_and_midiInGetErrorTextW
 #endif
-LONG
- qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData);
+MMRESULT qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
 
+#undef auxGetDevCaps
+#define auxGetDevCaps error_split_sized_LPAUXCAPS
+
+#undef mixerGetDevCaps
+#define mixerGetDevCaps error_split_sized_LPMIXERCAPS
+
+#undef mixerGetLineInfo
+#define mixerGetLineInfo error_split_sized_LPMIXERLINE
+
+#undef mixerGetLineControls
+#define mixerGetLineControls error_split_sized_LPMIXERCONTROL
+
+#undef mixerGetControlDetails
+#define mixerGetControlDetails error_split_sized_LPMIXERCONTROL_in_LPMIXERLINECONTROLS_in_LPMIXERCONTROLDETAILS
+
+#undef joyGetDevCaps
+#define joyGetDevCaps error_split_sized_LPJOYCAPS
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef RegUnLoadKey
-#define RegUnLoadKey error_use_qxeRegUnLoadKey_or_RegUnLoadKeyA_and_RegUnLoadKeyW
+#undef mmioStringToFOURCC
+#define mmioStringToFOURCC error_use_qxemmioStringToFOURCC_or_mmioStringToFOURCCA_and_mmioStringToFOURCCW
 #endif
-LONG
- qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey);
+FOURCC qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef InitiateSystemShutdown
-#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW
+#undef mmioInstallIOProc
+#define mmioInstallIOProc error_use_qxemmioInstallIOProc_or_mmioInstallIOProcA_and_mmioInstallIOProcW
 #endif
-BOOL
- qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown);
+LPMMIOPROC qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags);
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef AbortSystemShutdown
-#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW
+#undef mmioOpen
+#define mmioOpen error_use_qxemmioOpen_or_mmioOpenA_and_mmioOpenW
 #endif
-BOOL
- qxeAbortSystemShutdown (Extbyte * lpMachineName);
+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 * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename);
 
-/* Processing file WINNLS.H */
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef mciSendCommand
+#define mciSendCommand error_use_qxemciSendCommand_or_mciSendCommandA_and_mciSendCommandW
+#endif
+MCIERROR qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2);
 
-#undef GetCPInfoEx
-#define GetCPInfoEx error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef mciSendString
+#define mciSendString error_use_qxemciSendString_or_mciSendStringA_and_mciSendStringW
+#endif
+MCIERROR qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback);
 
-#undef CompareString
-#define CompareString error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef mciGetDeviceID
+#define mciGetDeviceID error_use_qxemciGetDeviceID_or_mciGetDeviceIDA_and_mciGetDeviceIDW
+#endif
+MCIDEVICEID qxemciGetDeviceID (const Extbyte * pszDevice);
 
-#undef LCMapString
-#define LCMapString error_not_used__not_examined_yet
+#if !defined (MINGW)
+#undef mciGetDeviceIDFromElementID
+#define mciGetDeviceIDFromElementID error_missing_from_Win98se_version_of_ADVAPI32_dll
+#endif /* !defined (MINGW) */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef GetLocaleInfo
-#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW
+#undef mciGetErrorString
+#define mciGetErrorString error_use_qxemciGetErrorString_or_mciGetErrorStringA_and_mciGetErrorStringW
 #endif
-int qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData);
+BOOL qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText);
+
 
+/* Processing file WINCON.H */
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SetLocaleInfo
-#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW
+#undef PeekConsoleInput
+#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW
 #endif
-BOOL qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData);
+BOOL qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead);
 
-#undef GetTimeFormat
-#define GetTimeFormat error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleInput
+#define ReadConsoleInput error_use_qxeReadConsoleInput_or_ReadConsoleInputA_and_ReadConsoleInputW
+#endif
+BOOL qxeReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead);
 
-#undef GetDateFormat
-#define GetDateFormat error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleInput
+#define WriteConsoleInput error_use_qxeWriteConsoleInput_or_WriteConsoleInputA_and_WriteConsoleInputW
+#endif
+BOOL qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten);
 
-#undef GetNumberFormat
-#define GetNumberFormat error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleOutput
+#define ReadConsoleOutput error_use_qxeReadConsoleOutput_or_ReadConsoleOutputA_and_ReadConsoleOutputW
+#endif
+BOOL qxeReadConsoleOutput (HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion);
 
-#undef GetCurrencyFormat
-#define GetCurrencyFormat error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleOutput
+#define WriteConsoleOutput error_use_qxeWriteConsoleOutput_or_WriteConsoleOutputA_and_WriteConsoleOutputW
+#endif
+BOOL qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion);
 
-#undef EnumCalendarInfo
-#define EnumCalendarInfo error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsoleOutputCharacter
+#define ReadConsoleOutputCharacter error_use_qxeReadConsoleOutputCharacter_or_ReadConsoleOutputCharacterA_and_ReadConsoleOutputCharacterW
+#endif
+BOOL qxeReadConsoleOutputCharacter (HANDLE hConsoleOutput, Extbyte * lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead);
 
-#undef EnumCalendarInfoEx
-#define EnumCalendarInfoEx error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef WriteConsoleOutputCharacter
+#define WriteConsoleOutputCharacter error_use_qxeWriteConsoleOutputCharacter_or_WriteConsoleOutputCharacterA_and_WriteConsoleOutputCharacterW
+#endif
+BOOL qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten);
 
-#undef EnumTimeFormats
-#define EnumTimeFormats error_not_used__not_examined_yet
+#undef FillConsoleOutputCharacter
+#define FillConsoleOutputCharacter error_split_CHAR
 
-#undef EnumDateFormats
-#define EnumDateFormats error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ScrollConsoleScreenBuffer
+#define ScrollConsoleScreenBuffer error_use_qxeScrollConsoleScreenBuffer_or_ScrollConsoleScreenBufferA_and_ScrollConsoleScreenBufferW
+#endif
+BOOL qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill);
 
-#undef EnumDateFormatsEx
-#define EnumDateFormatsEx error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef GetConsoleTitle
+#define GetConsoleTitle error_use_qxeGetConsoleTitle_or_GetConsoleTitleA_and_GetConsoleTitleW
+#endif
+DWORD qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize);
 
-#undef GetStringTypeEx
-#define GetStringTypeEx error_not_used__not_examined_yet
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetConsoleTitle
+#define SetConsoleTitle error_use_qxeSetConsoleTitle_or_SetConsoleTitleA_and_SetConsoleTitleW
+#endif
+BOOL qxeSetConsoleTitle (const Extbyte * lpConsoleTitle);
 
-#undef GetStringType
-#define GetStringType error_no_such_fun__A_and_W_versions_have_different_nos__of_args
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef ReadConsole
+#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW
+#endif
+BOOL 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
+BOOL qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved);
+
+
+/* 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, BOOL 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, BOOL 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 * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult);
+#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)
+#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) */
 
-#undef FoldString
-#define FoldString error_not_used__not_examined_yet
+#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) */
 
-#undef EnumSystemLocales
-#define EnumSystemLocales error_not_used__not_examined_yet
+#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) */
 
-#undef EnumSystemCodePages
-#define EnumSystemCodePages error_not_used__not_examined_yet
 
+/* Processing file DDEML.H */
 
-/* Processing file IME.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);
 
-#undef SendIMEMessageEx
-#define SendIMEMessageEx error_obsolete__no_docs_available
+/* Skipping DdeCreateStringHandle because error in Cygwin prototype */
+
+#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 */
@@ -1784,19 +1818,229 @@
 #define wglUseFontOutlines error_causes_link_error
 
 
-/* Processing file SHLOBJ.H */
+/* Processing file WINNLS.H */
+
+#undef GetCPInfoEx
+#define GetCPInfoEx error_not_used__not_examined_yet
+
+#undef CompareString
+#define CompareString error_not_used__not_examined_yet
 
+#undef LCMapString
+#define LCMapString error_not_used__not_examined_yet
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef SHGetPathFromIDList
-#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW
+#undef GetLocaleInfo
+#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW
 #endif
-BOOL qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath);
+int qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData);
 
-/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef SetLocaleInfo
+#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW
+#endif
+BOOL qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData);
 
-/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
+#undef GetTimeFormat
+#define GetTimeFormat error_not_used__not_examined_yet
 
-/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
+#undef GetDateFormat
+#define GetDateFormat error_not_used__not_examined_yet
+
+#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
+
+#undef GetStringTypeEx
+#define GetStringTypeEx error_not_used__not_examined_yet
+
+#undef GetStringType
+#define GetStringType error_no_such_fun__A_and_W_versions_have_different_nos__of_args
+
+#undef FoldString
+#define FoldString error_not_used__not_examined_yet
+
+#undef EnumSystemLocales
+#define EnumSystemLocales error_not_used__not_examined_yet
+
+#undef EnumSystemCodePages
+#define EnumSystemCodePages error_not_used__not_examined_yet
+
+
+/* Processing file WINREG.H */
+
+/* Skipping RegConnectRegistry because error in Cygwin prototype */
+
+#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);
+
+#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 cbName);
+
+#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 lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, 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 lpcbValueName, 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 lpcbClass, 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 * lpValue, PLONG lpcbValue);
+
+#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);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef InitiateSystemShutdown
+#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW
+#endif
+BOOL
+ qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown);
+
+#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
+#undef AbortSystemShutdown
+#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW
+#endif
+BOOL
+ qxeAbortSystemShutdown (Extbyte * lpMachineName);
 
 
 /* Processing file COMMDLG.H */
@@ -1847,138 +2091,20 @@
 
 /* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
 
-
-/* Processing file IMM.H */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmInstallIME
-#define ImmInstallIME error_use_qxeImmInstallIME_or_ImmInstallIMEA_and_ImmInstallIMEW
-#endif
-HKL qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetDescription
-#define ImmGetDescription error_use_qxeImmGetDescription_or_ImmGetDescriptionA_and_ImmGetDescriptionW
-#endif
-UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetIMEFileName
-#define ImmGetIMEFileName error_use_qxeImmGetIMEFileName_or_ImmGetIMEFileNameA_and_ImmGetIMEFileNameW
-#endif
-UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetCompositionString
-#define ImmGetCompositionString error_use_qxeImmGetCompositionString_or_ImmGetCompositionStringA_and_ImmGetCompositionStringW
-#endif
-LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetCandidateListCount
-#define ImmGetCandidateListCount error_use_qxeImmGetCandidateListCount_or_ImmGetCandidateListCountA_and_ImmGetCandidateListCountW
-#endif
-DWORD qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetCandidateList
-#define ImmGetCandidateList error_use_qxeImmGetCandidateList_or_ImmGetCandidateListA_and_ImmGetCandidateListW
-#endif
-DWORD qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetGuideLine
-#define ImmGetGuideLine error_use_qxeImmGetGuideLine_or_ImmGetGuideLineA_and_ImmGetGuideLineW
-#endif
-DWORD qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD 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)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmConfigureIME
-#define ImmConfigureIME error_use_qxeImmConfigureIME_or_ImmConfigureIMEA_and_ImmConfigureIMEW
-#endif
-BOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmEscape
-#define ImmEscape error_use_qxeImmEscape_or_ImmEscapeA_and_ImmEscapeW
-#endif
-LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
-
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmGetConversionList
-#define ImmGetConversionList error_use_qxeImmGetConversionList_or_ImmGetConversionListA_and_ImmGetConversionListW
-#endif
-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)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmIsUIMessage
-#define ImmIsUIMessage error_use_qxeImmIsUIMessage_or_ImmIsUIMessageA_and_ImmIsUIMessageW
-#endif
-BOOL qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4);
-#endif /* defined (HAVE_MS_WINDOWS) */
 
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmRegisterWord
-#define ImmRegisterWord error_use_qxeImmRegisterWord_or_ImmRegisterWordA_and_ImmRegisterWordW
-#endif
-BOOL qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister);
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Processing file SHLOBJ.H */
 
-#if defined (HAVE_MS_WINDOWS)
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmUnregisterWord
-#define ImmUnregisterWord error_use_qxeImmUnregisterWord_or_ImmUnregisterWordA_and_ImmUnregisterWordW
+#undef SHGetPathFromIDList
+#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW
 #endif
-BOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister);
-#endif /* defined (HAVE_MS_WINDOWS) */
+BOOL qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath);
 
-#if defined (HAVE_MS_WINDOWS)
-#undef ImmGetRegisterWordStyle
-#define ImmGetRegisterWordStyle error_split_sized_STYLEBUF
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */
 
-#if defined (HAVE_MS_WINDOWS)
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef ImmEnumRegisterWord
-#define ImmEnumRegisterWord error_use_qxeImmEnumRegisterWord_or_ImmEnumRegisterWordA_and_ImmEnumRegisterWordW
-#endif
-UINT qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6);
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */
 
-#if defined (HAVE_MS_WINDOWS)
-#undef ImmGetImeMenuItems
-#define ImmGetImeMenuItems error_split_sized_IMEMENUITEMINFO
-#endif /* defined (HAVE_MS_WINDOWS) */
+/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
 
 
 /* Processing file WINBASE.H */
@@ -2220,6 +2346,12 @@
 #endif
 HRSRC qxeFindResourceEx (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage);
 
+/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
+
+/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */
+
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
 #undef BeginUpdateResource
 #define BeginUpdateResource error_use_qxeBeginUpdateResource_or_BeginUpdateResourceA_and_BeginUpdateResourceW
@@ -2770,125 +2902,12 @@
 #undef OpenJobObject
 #define OpenJobObject error_NT_5_0__only
 
-
-/* Processing file MMSYSTEM.H */
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef sndPlaySound
-#define sndPlaySound error_use_qxesndPlaySound_or_sndPlaySoundA_and_sndPlaySoundW
-#endif
-BOOL 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 * pszSound, HMODULE hmod, DWORD fdwSound);
-
-#undef waveOutGetDevCaps
-#define waveOutGetDevCaps error_split_sized_LPWAVEOUTCAPS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef waveOutGetErrorText
-#define waveOutGetErrorText error_use_qxewaveOutGetErrorText_or_waveOutGetErrorTextA_and_waveOutGetErrorTextW
-#endif
-MMRESULT qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
-
-#undef waveInGetDevCaps
-#define waveInGetDevCaps error_split_sized_LPWAVEINCAPS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef waveInGetErrorText
-#define waveInGetErrorText error_use_qxewaveInGetErrorText_or_waveInGetErrorTextA_and_waveInGetErrorTextW
-#endif
-MMRESULT qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
-
-#undef midiOutGetDevCaps
-#define midiOutGetDevCaps error_split_sized_LPMIDIOUTCAPS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef midiOutGetErrorText
-#define midiOutGetErrorText error_use_qxemidiOutGetErrorText_or_midiOutGetErrorTextA_and_midiOutGetErrorTextW
-#endif
-MMRESULT qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
-
-#undef midiInGetDevCaps
-#define midiInGetDevCaps error_split_sized_LPMIDIOUTCAPS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef midiInGetErrorText
-#define midiInGetErrorText error_use_qxemidiInGetErrorText_or_midiInGetErrorTextA_and_midiInGetErrorTextW
-#endif
-MMRESULT qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText);
-
-#undef auxGetDevCaps
-#define auxGetDevCaps error_split_sized_LPAUXCAPS
-
-#undef mixerGetDevCaps
-#define mixerGetDevCaps error_split_sized_LPMIXERCAPS
-
-#undef mixerGetLineInfo
-#define mixerGetLineInfo error_split_sized_LPMIXERLINE
-
-#undef mixerGetLineControls
-#define mixerGetLineControls error_split_sized_LPMIXERCONTROL
-
-#undef mixerGetControlDetails
-#define mixerGetControlDetails error_split_sized_LPMIXERCONTROL_in_LPMIXERLINECONTROLS_in_LPMIXERCONTROLDETAILS
-
-#undef joyGetDevCaps
-#define joyGetDevCaps error_split_sized_LPJOYCAPS
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef mmioStringToFOURCC
-#define mmioStringToFOURCC error_use_qxemmioStringToFOURCC_or_mmioStringToFOURCCA_and_mmioStringToFOURCCW
-#endif
-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 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 * 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 * 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 mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2);
-
-#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef mciSendString
-#define mciSendString error_use_qxemciSendString_or_mciSendStringA_and_mciSendStringW
-#endif
-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 * pszDevice);
 
-#if !defined (MINGW)
-#undef mciGetDeviceIDFromElementID
-#define mciGetDeviceIDFromElementID error_missing_from_Win98se_version_of_ADVAPI32_dll
-#endif /* !defined (MINGW) */
+/* Processing file ACLAPI.h */
 
 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
-#undef mciGetErrorString
-#define mciGetErrorString error_use_qxemciGetErrorString_or_mciGetErrorStringA_and_mciGetErrorStringW
+#undef GetNamedSecurityInfo
+#define GetNamedSecurityInfo error_use_qxeGetNamedSecurityInfo_or_GetNamedSecurityInfoA_and_GetNamedSecurityInfoW
 #endif
-BOOL qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText);
+DWORD qxeGetNamedSecurityInfo (IN  Extbyte * pObjectName, IN  SE_OBJECT_TYPE ObjectType, IN  SECURITY_INFORMATION SecurityInfo, OUT PSID                 * ppsidOowner, OUT PSID                 * ppsidGroup, OUT PACL                 * ppDacl, OUT PACL                 * ppSacl, OUT PSECURITY_DESCRIPTOR * ppSecurityDescriptor);
 
Index: src/intl-encap-win32.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-encap-win32.c,v
retrieving revision 1.13
diff -a -u -r1.13 intl-encap-win32.c
--- src/intl-encap-win32.c	2005/01/24 23:34:00	1.13
+++ src/intl-encap-win32.c	2006/12/07 17:43:41
@@ -100,6 +100,10 @@
 
 // dir c:\Program Files\Microsoft Visual Studio\VC98\Include\
 
+file ACLAPI.h
+
+yes GetNamedSecurityInfo
+
 file WINBASE.H
 
 yes GetBinaryType
Index: src/syswindows.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/syswindows.h,v
retrieving revision 1.27
diff -a -u -r1.27 syswindows.h
--- src/syswindows.h	2005/10/25 11:16:28	1.27
+++ src/syswindows.h	2006/12/07 17:43:41
@@ -88,6 +88,8 @@
 #define OEMRESOURCE /* Define OCR_ and friend constants */
 #include <windows.h>
 
+#include <aclapi.h>
+
 #if defined (WIN32_LEAN_AND_MEAN)
 # ifdef HAVE_X_WINDOWS
 /* Christ almighty.  The problems you get when combining two large code bases,
@@ -932,6 +934,7 @@
 int cygwin_win32_to_posix_path_list_buf_size (const char *);
 void cygwin_posix_to_win32_path_list (const char *, char *);
 int cygwin_posix_to_win32_path_list_buf_size (const char *);
+extern int cygwin_conv_to_full_win32_path (const char *, char *);
 
 END_C_DECLS
 
