comparison src/intl-auto-encap-win32.c @ 3728:6765f2581182

[xemacs-hg @ 2006-12-08 02:21:53 by vins] Added Benson Margulies's patch to avoid the dreaded: "File not found and directory write-protected" message under Windows.
author vins
date Fri, 08 Dec 2006 02:22:02 +0000
parents 3d8143fc88e1
children 50861fea97f6
comparison
equal deleted inserted replaced
3727:3246cf3e564d 3728:6765f2581182
8 8
9 #include <config.h> 9 #include <config.h>
10 #include "lisp.h" 10 #include "lisp.h"
11 11
12 #include "syswindows.h" 12 #include "syswindows.h"
13
14
15 /*----------------------------------------------------------------------*/
16 /* Processing file SHELLAPI.H */
17 /*----------------------------------------------------------------------*/
18
19 UINT
20 qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4)
21 {
22 if (XEUNICODE_P)
23 return DragQueryFileW (arg1, arg2, (LPWSTR) arg3, arg4);
24 else
25 return DragQueryFileA (arg1, arg2, (LPSTR) arg3, arg4);
26 }
27
28 HINSTANCE
29 qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd)
30 {
31 if (XEUNICODE_P)
32 return ShellExecuteW (hwnd, (LPCWSTR) lpOperation, (LPCWSTR) lpFile, (LPCWSTR) lpParameters, (LPCWSTR) lpDirectory, nShowCmd);
33 else
34 return ShellExecuteA (hwnd, (LPCSTR) lpOperation, (LPCSTR) lpFile, (LPCSTR) lpParameters, (LPCSTR) lpDirectory, nShowCmd);
35 }
36
37 HINSTANCE
38 qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult)
39 {
40 if (XEUNICODE_P)
41 return FindExecutableW ((LPCWSTR) lpFile, (LPCWSTR) lpDirectory, (LPWSTR) lpResult);
42 else
43 return FindExecutableA ((LPCSTR) lpFile, (LPCSTR) lpDirectory, (LPSTR) lpResult);
44 }
45
46 /* Error if CommandLineToArgv used: Unicode-only */
47
48 INT
49 qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon)
50 {
51 if (XEUNICODE_P)
52 return ShellAboutW (hWnd, (LPCWSTR) szApp, (LPCWSTR) szOtherStuff, hIcon);
53 else
54 return ShellAboutA (hWnd, (LPCSTR) szApp, (LPCSTR) szOtherStuff, hIcon);
55 }
56
57 HICON
58 qxeExtractAssociatedIcon (HINSTANCE hInst, Extbyte * lpIconPath, LPWORD lpiIcon)
59 {
60 if (XEUNICODE_P)
61 return ExtractAssociatedIconW (hInst, (LPWSTR) lpIconPath, lpiIcon);
62 else
63 return ExtractAssociatedIconA (hInst, (LPSTR) lpIconPath, lpiIcon);
64 }
65
66 HICON
67 qxeExtractIcon (HINSTANCE hInst, const Extbyte * lpszExeFileName, UINT nIconIndex)
68 {
69 if (XEUNICODE_P)
70 return ExtractIconW (hInst, (LPCWSTR) lpszExeFileName, nIconIndex);
71 else
72 return ExtractIconA (hInst, (LPCSTR) lpszExeFileName, nIconIndex);
73 }
74
75 #if !defined (CYGWIN_HEADERS)
76
77 /* NOTE: NT 4.0+ only */
78 DWORD
79 qxeDoEnvironmentSubst (Extbyte * szString, UINT cbString)
80 {
81 if (XEUNICODE_P)
82 return DoEnvironmentSubstW ((LPWSTR) szString, cbString);
83 else
84 return DoEnvironmentSubstA ((LPSTR) szString, cbString);
85 }
86
87 #endif /* !defined (CYGWIN_HEADERS) */
88
89 /* Error if FindEnvironmentString used: causes link error; NT 4.0+ only */
90
91 /* Skipping ExtractIconEx because NT 4.0+ only, error in Cygwin prototype */
92
93 /* NOTE: NT 4.0+ only */
94 int
95 qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp)
96 {
97 if (XEUNICODE_P)
98 return SHFileOperationW (lpFileOp);
99 else
100 return SHFileOperationA ((LPSHFILEOPSTRUCTA) lpFileOp);
101 }
102
103 /* NOTE: NT 4.0+ only */
104 BOOL
105 qxeShellExecuteEx (LPSHELLEXECUTEINFOW lpExecInfo)
106 {
107 if (XEUNICODE_P)
108 return ShellExecuteExW (lpExecInfo);
109 else
110 return ShellExecuteExA ((LPSHELLEXECUTEINFOA) lpExecInfo);
111 }
112
113 /* Error if WinExecError used: causes link error; NT 4.0+ only */
114
115 #if !defined (CYGWIN_HEADERS)
116
117 /* NOTE: NT 4.0+ only */
118 HRESULT
119 qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
120 {
121 if (XEUNICODE_P)
122 return SHQueryRecycleBinW ((LPCWSTR) pszRootPath, pSHQueryRBInfo);
123 else
124 return SHQueryRecycleBinA ((LPCSTR) pszRootPath, pSHQueryRBInfo);
125 }
126
127 #endif /* !defined (CYGWIN_HEADERS) */
128
129 #if !defined (CYGWIN_HEADERS)
130
131 /* NOTE: NT 4.0+ only */
132 HRESULT
133 qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags)
134 {
135 if (XEUNICODE_P)
136 return SHEmptyRecycleBinW (hwnd, (LPCWSTR) pszRootPath, dwFlags);
137 else
138 return SHEmptyRecycleBinA (hwnd, (LPCSTR) pszRootPath, dwFlags);
139 }
140
141 #endif /* !defined (CYGWIN_HEADERS) */
142
143 /* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */
144
145 /* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
146
147 /* Error if SHGetDiskFreeSpace used: causes link error; NT 4.0+ only */
148
149 #if !defined (CYGWIN_HEADERS)
150
151 /* NOTE: NT 4.0+ only */
152 BOOL
153 qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, BOOL * pfMustCopy, UINT uFlags)
154 {
155 if (XEUNICODE_P)
156 return SHGetNewLinkInfoW ((LPCWSTR) pszLinkTo, (LPCWSTR) pszDir, (LPWSTR) pszName, pfMustCopy, uFlags);
157 else
158 return SHGetNewLinkInfoA ((LPCSTR) pszLinkTo, (LPCSTR) pszDir, (LPSTR) pszName, pfMustCopy, uFlags);
159 }
160
161 #endif /* !defined (CYGWIN_HEADERS) */
162
163 #if !defined (CYGWIN_HEADERS)
164
165 /* NOTE: NT 4.0+ only */
166 BOOL
167 qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, BOOL fModal)
168 {
169 if (XEUNICODE_P)
170 return SHInvokePrinterCommandW (hwnd, uAction, (LPCWSTR) lpBuf1, (LPCWSTR) lpBuf2, fModal);
171 else
172 return SHInvokePrinterCommandA (hwnd, uAction, (LPCSTR) lpBuf1, (LPCSTR) lpBuf2, fModal);
173 }
174
175 #endif /* !defined (CYGWIN_HEADERS) */
176
177
178 /*----------------------------------------------------------------------*/
179 /* Processing file WINSPOOL.H */
180 /*----------------------------------------------------------------------*/
181
182 #if defined (HAVE_MS_WINDOWS)
183
184 /* NOTE: #### problems with DEVMODE pointer in PRINTER_INFO_2 */
185 BOOL
186 qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
187 {
188 if (XEUNICODE_P)
189 return EnumPrintersW (Flags, (LPWSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
190 else
191 return EnumPrintersA (Flags, (LPSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
192 }
193
194 #endif /* defined (HAVE_MS_WINDOWS) */
195
196 #if defined (HAVE_MS_WINDOWS)
197
198 /* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
199
200 #endif /* defined (HAVE_MS_WINDOWS) */
201
202 #if defined (HAVE_MS_WINDOWS)
203
204 /* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
205
206 #endif /* defined (HAVE_MS_WINDOWS) */
207
208 #if defined (HAVE_MS_WINDOWS)
209
210 /* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
211
212 #endif /* defined (HAVE_MS_WINDOWS) */
213
214 #if defined (HAVE_MS_WINDOWS)
215
216 /* Error if GetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
217
218 #endif /* defined (HAVE_MS_WINDOWS) */
219
220 #if defined (HAVE_MS_WINDOWS)
221
222 /* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */
223
224 #endif /* defined (HAVE_MS_WINDOWS) */
225
226 #if defined (HAVE_MS_WINDOWS)
227
228 /* Error if AddPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
229
230 #endif /* defined (HAVE_MS_WINDOWS) */
231
232 #if defined (HAVE_MS_WINDOWS)
233
234 /* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
235
236 #endif /* defined (HAVE_MS_WINDOWS) */
237
238 #if defined (HAVE_MS_WINDOWS)
239
240 /* Error if GetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
241
242 #endif /* defined (HAVE_MS_WINDOWS) */
243
244 #if defined (HAVE_MS_WINDOWS)
245
246 /* Error if AddPrinterDriver used: not used, complicated interface with split structures */
247
248 #endif /* defined (HAVE_MS_WINDOWS) */
249
250 #if defined (HAVE_MS_WINDOWS)
251
252 /* Error if AddPrinterDriverEx used: not used, complicated interface with split structures */
253
254 #endif /* defined (HAVE_MS_WINDOWS) */
255
256 #if defined (HAVE_MS_WINDOWS)
257
258 /* Error if EnumPrinterDrivers used: not used, complicated interface with split structures */
259
260 #endif /* defined (HAVE_MS_WINDOWS) */
261
262 #if defined (HAVE_MS_WINDOWS)
263
264 /* Error if GetPrinterDriver used: not used, complicated interface with split structures */
265
266 #endif /* defined (HAVE_MS_WINDOWS) */
267
268 #if defined (HAVE_MS_WINDOWS)
269
270 /* Error if GetPrinterDriverDirectory used: not used, complicated interface with split structures */
271
272 #endif /* defined (HAVE_MS_WINDOWS) */
273
274 #if defined (HAVE_MS_WINDOWS)
275
276 /* Error if DeletePrinterDriver used: not used, complicated interface with split structures */
277
278 #endif /* defined (HAVE_MS_WINDOWS) */
279
280 #if defined (HAVE_MS_WINDOWS)
281
282 /* Error if DeletePrinterDriverEx used: not used, complicated interface with split structures */
283
284 #endif /* defined (HAVE_MS_WINDOWS) */
285
286 #if defined (HAVE_MS_WINDOWS)
287
288 /* Error if AddPerMachineConnection used: not used, complicated interface with split structures */
289
290 #endif /* defined (HAVE_MS_WINDOWS) */
291
292 #if defined (HAVE_MS_WINDOWS)
293
294 /* Error if DeletePerMachineConnection used: not used, complicated interface with split structures */
295
296 #endif /* defined (HAVE_MS_WINDOWS) */
297
298 #if defined (HAVE_MS_WINDOWS)
299
300 /* Error if EnumPerMachineConnections used: not used, complicated interface with split structures */
301
302 #endif /* defined (HAVE_MS_WINDOWS) */
303
304 #if defined (HAVE_MS_WINDOWS)
305
306 /* Error if AddPrintProcessor used: not used, complicated interface with split structures */
307
308 #endif /* defined (HAVE_MS_WINDOWS) */
309
310 #if defined (HAVE_MS_WINDOWS)
311
312 /* Error if EnumPrintProcessors used: not used, complicated interface with split structures */
313
314 #endif /* defined (HAVE_MS_WINDOWS) */
315
316 #if defined (HAVE_MS_WINDOWS)
317
318 /* Error if GetPrintProcessorDirectory used: not used, complicated interface with split structures */
319
320 #endif /* defined (HAVE_MS_WINDOWS) */
321
322 #if defined (HAVE_MS_WINDOWS)
323
324 /* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */
325
326 #endif /* defined (HAVE_MS_WINDOWS) */
327
328 #if defined (HAVE_MS_WINDOWS)
329
330 /* Error if DeletePrintProcessor used: not used, complicated interface with split structures */
331
332 #endif /* defined (HAVE_MS_WINDOWS) */
333
334 #if defined (HAVE_MS_WINDOWS)
335
336 /* Error if StartDocPrinter used: not used, complicated interface with split structures */
337
338 #endif /* defined (HAVE_MS_WINDOWS) */
339
340 #if defined (HAVE_MS_WINDOWS)
341
342 /* Error if AddJob used: not used, complicated interface with split structures */
343
344 #endif /* defined (HAVE_MS_WINDOWS) */
345
346 #if defined (HAVE_MS_WINDOWS)
347
348 /* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
349
350 #endif /* defined (HAVE_MS_WINDOWS) */
351
352 #if defined (HAVE_MS_WINDOWS)
353
354 /* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */
355
356 #endif /* defined (HAVE_MS_WINDOWS) */
357
358 #if defined (HAVE_MS_WINDOWS)
359
360 /* Error if GetPrinterData used: not used, complicated interface with split structures */
361
362 #endif /* defined (HAVE_MS_WINDOWS) */
363
364 #if defined (HAVE_MS_WINDOWS)
365
366 /* Error if GetPrinterDataEx used: not used, complicated interface with split structures */
367
368 #endif /* defined (HAVE_MS_WINDOWS) */
369
370 #if defined (HAVE_MS_WINDOWS)
371
372 /* Error if EnumPrinterData used: not used, complicated interface with split structures */
373
374 #endif /* defined (HAVE_MS_WINDOWS) */
375
376 #if defined (HAVE_MS_WINDOWS)
377
378 /* Error if EnumPrinterDataEx used: not used, complicated interface with split structures */
379
380 #endif /* defined (HAVE_MS_WINDOWS) */
381
382 #if defined (HAVE_MS_WINDOWS)
383
384 /* Error if EnumPrinterKey used: not used, complicated interface with split structures */
385
386 #endif /* defined (HAVE_MS_WINDOWS) */
387
388 #if defined (HAVE_MS_WINDOWS)
389
390 /* Error if SetPrinterData used: not used, complicated interface with split structures */
391
392 #endif /* defined (HAVE_MS_WINDOWS) */
393
394 #if defined (HAVE_MS_WINDOWS)
395
396 /* Error if SetPrinterDataEx used: not used, complicated interface with split structures */
397
398 #endif /* defined (HAVE_MS_WINDOWS) */
399
400 #if defined (HAVE_MS_WINDOWS)
401
402 /* Error if DeletePrinterData used: not used, complicated interface with split structures */
403
404 #endif /* defined (HAVE_MS_WINDOWS) */
405
406 #if defined (HAVE_MS_WINDOWS)
407
408 /* Error if DeletePrinterDataEx used: not used, complicated interface with split structures */
409
410 #endif /* defined (HAVE_MS_WINDOWS) */
411
412 #if defined (HAVE_MS_WINDOWS)
413
414 /* Error if DeletePrinterKey used: not used, complicated interface with split structures */
415
416 #endif /* defined (HAVE_MS_WINDOWS) */
417
418 #if defined (HAVE_MS_WINDOWS)
419
420 /* Error if PrinterMessageBox used: not used, complicated interface with split structures */
421
422 #endif /* defined (HAVE_MS_WINDOWS) */
423
424 #if defined (HAVE_MS_WINDOWS)
425
426 /* Error if AddForm used: not used, complicated interface with split structures */
427
428 #endif /* defined (HAVE_MS_WINDOWS) */
429
430 #if defined (HAVE_MS_WINDOWS)
431
432 /* Error if DeleteForm used: not used, complicated interface with split structures */
433
434 #endif /* defined (HAVE_MS_WINDOWS) */
435
436 #if defined (HAVE_MS_WINDOWS)
437
438 /* Error if GetForm used: not used, complicated interface with split structures */
439
440 #endif /* defined (HAVE_MS_WINDOWS) */
441
442 #if defined (HAVE_MS_WINDOWS)
443
444 /* Error if SetForm used: not used, complicated interface with split structures */
445
446 #endif /* defined (HAVE_MS_WINDOWS) */
447
448 #if defined (HAVE_MS_WINDOWS)
449
450 /* Error if EnumForms used: not used, complicated interface with split structures */
451
452 #endif /* defined (HAVE_MS_WINDOWS) */
453
454 #if defined (HAVE_MS_WINDOWS)
455
456 /* Error if EnumMonitors used: not used, complicated interface with split structures */
457
458 #endif /* defined (HAVE_MS_WINDOWS) */
459
460 #if defined (HAVE_MS_WINDOWS)
461
462 /* Error if AddMonitor used: not used, complicated interface with split structures */
463
464 #endif /* defined (HAVE_MS_WINDOWS) */
465
466 #if defined (HAVE_MS_WINDOWS)
467
468 /* Error if DeleteMonitor used: not used, complicated interface with split structures */
469
470 #endif /* defined (HAVE_MS_WINDOWS) */
471
472 #if defined (HAVE_MS_WINDOWS)
473
474 /* Error if EnumPorts used: not used, complicated interface with split structures */
475
476 #endif /* defined (HAVE_MS_WINDOWS) */
477
478 #if defined (HAVE_MS_WINDOWS)
479
480 /* Error if AddPort used: not used, complicated interface with split structures */
481
482 #endif /* defined (HAVE_MS_WINDOWS) */
483
484 #if defined (HAVE_MS_WINDOWS)
485
486 /* Error if ConfigurePort used: not used, complicated interface with split structures */
487
488 #endif /* defined (HAVE_MS_WINDOWS) */
489
490 #if defined (HAVE_MS_WINDOWS)
491
492 /* Error if DeletePort used: not used, complicated interface with split structures */
493
494 #endif /* defined (HAVE_MS_WINDOWS) */
495
496 #if defined (HAVE_MS_WINDOWS)
497
498 /* Error if XcvData used: not used, complicated interface with split structures */
499
500 #endif /* defined (HAVE_MS_WINDOWS) */
501
502 #if defined (HAVE_MS_WINDOWS)
503
504 /* Error if SetPort used: not used, complicated interface with split structures */
505
506 #endif /* defined (HAVE_MS_WINDOWS) */
507
508 #if defined (HAVE_MS_WINDOWS)
509
510 /* Error if AddPrinterConnection used: not used, complicated interface with split structures */
511
512 #endif /* defined (HAVE_MS_WINDOWS) */
513
514 #if defined (HAVE_MS_WINDOWS)
515
516 /* Error if DeletePrinterConnection used: not used, complicated interface with split structures */
517
518 #endif /* defined (HAVE_MS_WINDOWS) */
519
520 #if defined (HAVE_MS_WINDOWS)
521
522 /* Error if AddPrintProvidor used: not used, complicated interface with split structures */
523
524 #endif /* defined (HAVE_MS_WINDOWS) */
525
526 #if defined (HAVE_MS_WINDOWS)
527
528 /* Error if DeletePrintProvidor used: not used, complicated interface with split structures */
529
530 #endif /* defined (HAVE_MS_WINDOWS) */
531
532 #if defined (HAVE_MS_WINDOWS)
533
534 /* Error if SetPrinterHTMLView used: not used, complicated interface with split structures */
535
536 #endif /* defined (HAVE_MS_WINDOWS) */
537
538 #if defined (HAVE_MS_WINDOWS)
539
540 /* Error if GetPrinterHTMLView used: not used, complicated interface with split structures */
541
542 #endif /* defined (HAVE_MS_WINDOWS) */
543
544
545 /*----------------------------------------------------------------------*/
546 /* Processing file WINUSER.H */
547 /*----------------------------------------------------------------------*/
548
549 int
550 qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist)
551 {
552 if (XEUNICODE_P)
553 return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist);
554 else
555 return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist);
556 }
557
558 HKL
559 qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags)
560 {
561 if (XEUNICODE_P)
562 return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags);
563 else
564 return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags);
565 }
566
567 BOOL
568 qxeGetKeyboardLayoutName (Extbyte * pwszKLID)
569 {
570 if (XEUNICODE_P)
571 return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID);
572 else
573 return GetKeyboardLayoutNameA ((LPSTR) pwszKLID);
574 }
575
576 /* Error if CreateDesktop used: split-sized LPDEVMODE */
577
578 HDESK
579 qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
580 {
581 if (XEUNICODE_P)
582 return OpenDesktopW ((LPWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
583 else
584 return OpenDesktopA ((LPSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess);
585 }
586
587 /* NOTE: // callback fun differs only in string pointer type */
588 BOOL
589 qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam)
590 {
591 if (XEUNICODE_P)
592 return EnumDesktopsW (hwinsta, lpEnumFunc, lParam);
593 else
594 return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam);
595 }
596
597 HWINSTA
598 qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa)
599 {
600 if (XEUNICODE_P)
601 return CreateWindowStationW ((LPWSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
602 else
603 return CreateWindowStationA ((LPSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa);
604 }
605
606 HWINSTA
607 qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess)
608 {
609 if (XEUNICODE_P)
610 return OpenWindowStationW ((LPWSTR) lpszWinSta, fInherit, dwDesiredAccess);
611 else
612 return OpenWindowStationA ((LPSTR) lpszWinSta, fInherit, dwDesiredAccess);
613 }
614
615 /* NOTE: // callback fun differs only in string pointer type */
616 BOOL
617 qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam)
618 {
619 if (XEUNICODE_P)
620 return EnumWindowStationsW (lpEnumFunc, lParam);
621 else
622 return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam);
623 }
624
625 BOOL
626 qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded)
627 {
628 if (XEUNICODE_P)
629 return GetUserObjectInformationW (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
630 else
631 return GetUserObjectInformationA (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded);
632 }
633
634 BOOL
635 qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength)
636 {
637 if (XEUNICODE_P)
638 return SetUserObjectInformationW (hObj, nIndex, pvInfo, nLength);
639 else
640 return SetUserObjectInformationA (hObj, nIndex, pvInfo, nLength);
641 }
642
643 UINT
644 qxeRegisterWindowMessage (const Extbyte * lpString)
645 {
646 if (XEUNICODE_P)
647 return RegisterWindowMessageW ((LPCWSTR) lpString);
648 else
649 return RegisterWindowMessageA ((LPCSTR) lpString);
650 }
651
652 BOOL
653 qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)
654 {
655 if (XEUNICODE_P)
656 return GetMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
657 else
658 return GetMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
659 }
660
661 LONG
662 qxeDispatchMessage (CONST MSG * lpMsg)
663 {
664 if (XEUNICODE_P)
665 return DispatchMessageW (lpMsg);
666 else
667 return DispatchMessageA (lpMsg);
668 }
669
670 BOOL
671 qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg)
672 {
673 if (XEUNICODE_P)
674 return PeekMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
675 else
676 return PeekMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
677 }
678
679 /* Skipping SendMessage because split messages and structures */
680
681 LRESULT
682 qxeSendMessageTimeout (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult)
683 {
684 if (XEUNICODE_P)
685 return SendMessageTimeoutW (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult);
686 else
687 return SendMessageTimeoutA (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult);
688 }
689
690 BOOL
691 qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
692 {
693 if (XEUNICODE_P)
694 return SendNotifyMessageW (hWnd, Msg, wParam, lParam);
695 else
696 return SendNotifyMessageA (hWnd, Msg, wParam, lParam);
697 }
698
699 BOOL
700 qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData)
701 {
702 if (XEUNICODE_P)
703 return SendMessageCallbackW (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData);
704 else
705 return SendMessageCallbackA (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData);
706 }
707
708 /* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */
709
710 /* Error if RegisterDeviceNotification used: NT 5.0+ only */
711
712 BOOL
713 qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
714 {
715 if (XEUNICODE_P)
716 return PostMessageW (hWnd, Msg, wParam, lParam);
717 else
718 return PostMessageA (hWnd, Msg, wParam, lParam);
719 }
720
721 BOOL
722 qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam)
723 {
724 if (XEUNICODE_P)
725 return PostThreadMessageW (idThread, Msg, wParam, lParam);
726 else
727 return PostThreadMessageA (idThread, Msg, wParam, lParam);
728 }
729
730 /* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */
731
732 /* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
733
734 /* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
735
736 /* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
737
738 /* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
739
740 BOOL
741 qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass)
742 {
743 if (XEUNICODE_P)
744 return GetClassInfoW (hInstance, (LPCWSTR) lpClassName, lpWndClass);
745 else
746 return GetClassInfoA (hInstance, (LPCSTR) lpClassName, (LPWNDCLASSA) lpWndClass);
747 }
748
749 /* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
750
751 /* NOTE: NT 4.0+ only */
752 BOOL
753 qxeGetClassInfoEx (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSEXW arg3)
754 {
755 if (XEUNICODE_P)
756 return GetClassInfoExW (arg1, (LPCWSTR) arg2, arg3);
757 else
758 return GetClassInfoExA (arg1, (LPCSTR) arg2, (LPWNDCLASSEXA) arg3);
759 }
760
761 HWND
762 qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)
763 {
764 if (XEUNICODE_P)
765 return CreateWindowExW (dwExStyle, (LPCWSTR) lpClassName, (LPCWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
766 else
767 return CreateWindowExA (dwExStyle, (LPCSTR) lpClassName, (LPCSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
768 }
769
770 HWND
771 qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
772 {
773 if (XEUNICODE_P)
774 return CreateDialogParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
775 else
776 return CreateDialogParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
777 }
778
779 /* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
780 HWND
781 qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
782 {
783 if (XEUNICODE_P)
784 return CreateDialogIndirectParamW (hInstance, lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
785 else
786 return CreateDialogIndirectParamA (hInstance, (LPCDLGTEMPLATEA) lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
787 }
788
789 int
790 qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
791 {
792 if (XEUNICODE_P)
793 return DialogBoxParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
794 else
795 return DialogBoxParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
796 }
797
798 /* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
799 int
800 qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
801 {
802 if (XEUNICODE_P)
803 return DialogBoxIndirectParamW (hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
804 else
805 return DialogBoxIndirectParamA (hInstance, (LPCDLGTEMPLATEA) hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
806 }
807
808 BOOL
809 qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString)
810 {
811 if (XEUNICODE_P)
812 return SetDlgItemTextW (hDlg, nIDDlgItem, (LPCWSTR) lpString);
813 else
814 return SetDlgItemTextA (hDlg, nIDDlgItem, (LPCSTR) lpString);
815 }
816
817 UINT
818 qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int nMaxCount)
819 {
820 if (XEUNICODE_P)
821 return GetDlgItemTextW (hDlg, nIDDlgItem, (LPWSTR) lpString, nMaxCount);
822 else
823 return GetDlgItemTextA (hDlg, nIDDlgItem, (LPSTR) lpString, nMaxCount);
824 }
825
826 LONG
827 qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam)
828 {
829 if (XEUNICODE_P)
830 return SendDlgItemMessageW (hDlg, nIDDlgItem, Msg, wParam, lParam);
831 else
832 return SendDlgItemMessageA (hDlg, nIDDlgItem, Msg, wParam, lParam);
833 }
834
835 /* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */
836
837 #if !defined (CYGWIN_HEADERS)
838
839 BOOL
840 qxeCallMsgFilter (LPMSG lpMsg, int nCode)
841 {
842 if (XEUNICODE_P)
843 return CallMsgFilterW (lpMsg, nCode);
844 else
845 return CallMsgFilterA (lpMsg, nCode);
846 }
847
848 #endif /* !defined (CYGWIN_HEADERS) */
849
850 UINT
851 qxeRegisterClipboardFormat (const Extbyte * lpszFormat)
852 {
853 if (XEUNICODE_P)
854 return RegisterClipboardFormatW ((LPCWSTR) lpszFormat);
855 else
856 return RegisterClipboardFormatA ((LPCSTR) lpszFormat);
857 }
858
859 int
860 qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount)
861 {
862 if (XEUNICODE_P)
863 return GetClipboardFormatNameW (format, (LPWSTR) lpszFormatName, cchMaxCount);
864 else
865 return GetClipboardFormatNameA (format, (LPSTR) lpszFormatName, cchMaxCount);
866 }
867
868 BOOL
869 qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst)
870 {
871 if (XEUNICODE_P)
872 return CharToOemW ((LPCWSTR) lpszSrc, lpszDst);
873 else
874 return CharToOemA ((LPCSTR) lpszSrc, lpszDst);
875 }
876
877 BOOL
878 qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst)
879 {
880 if (XEUNICODE_P)
881 return OemToCharW (lpszSrc, (LPWSTR) lpszDst);
882 else
883 return OemToCharA (lpszSrc, (LPSTR) lpszDst);
884 }
885
886 BOOL
887 qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength)
888 {
889 if (XEUNICODE_P)
890 return CharToOemBuffW ((LPCWSTR) lpszSrc, lpszDst, cchDstLength);
891 else
892 return CharToOemBuffA ((LPCSTR) lpszSrc, lpszDst, cchDstLength);
893 }
894
895 BOOL
896 qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength)
897 {
898 if (XEUNICODE_P)
899 return OemToCharBuffW (lpszSrc, (LPWSTR) lpszDst, cchDstLength);
900 else
901 return OemToCharBuffA (lpszSrc, (LPSTR) lpszDst, cchDstLength);
902 }
903
904 Extbyte *
905 qxeCharUpper (Extbyte * lpsz)
906 {
907 if (XEUNICODE_P)
908 return (Extbyte *) CharUpperW ((LPWSTR) lpsz);
909 else
910 return (Extbyte *) CharUpperA ((LPSTR) lpsz);
911 }
912
913 DWORD
914 qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength)
915 {
916 if (XEUNICODE_P)
917 return CharUpperBuffW ((LPWSTR) lpsz, cchLength);
918 else
919 return CharUpperBuffA ((LPSTR) lpsz, cchLength);
920 }
921
922 Extbyte *
923 qxeCharLower (Extbyte * lpsz)
924 {
925 if (XEUNICODE_P)
926 return (Extbyte *) CharLowerW ((LPWSTR) lpsz);
927 else
928 return (Extbyte *) CharLowerA ((LPSTR) lpsz);
929 }
930
931 DWORD
932 qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength)
933 {
934 if (XEUNICODE_P)
935 return CharLowerBuffW ((LPWSTR) lpsz, cchLength);
936 else
937 return CharLowerBuffA ((LPSTR) lpsz, cchLength);
938 }
939
940 Extbyte *
941 qxeCharNext (const Extbyte * lpsz)
942 {
943 if (XEUNICODE_P)
944 return (Extbyte *) CharNextW ((LPCWSTR) lpsz);
945 else
946 return (Extbyte *) CharNextA ((LPCSTR) lpsz);
947 }
948
949 Extbyte *
950 qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent)
951 {
952 if (XEUNICODE_P)
953 return (Extbyte *) CharPrevW ((LPCWSTR) lpszStart, (LPCWSTR) lpszCurrent);
954 else
955 return (Extbyte *) CharPrevA ((LPCSTR) lpszStart, (LPCSTR) lpszCurrent);
956 }
957
958 /* Error if IsCharAlpha used: split CHAR */
959
960 /* Error if IsCharAlphaNumeric used: split CHAR */
961
962 /* Error if IsCharUpper used: split CHAR */
963
964 /* Error if IsCharLower used: split CHAR */
965
966 int
967 qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int nSize)
968 {
969 if (XEUNICODE_P)
970 return GetKeyNameTextW (lParam, (LPWSTR) lpString, nSize);
971 else
972 return GetKeyNameTextA (lParam, (LPSTR) lpString, nSize);
973 }
974
975 /* Skipping VkKeyScan because split CHAR */
976
977 /* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */
978
979 UINT
980 qxeMapVirtualKey (UINT uCode, UINT uMapType)
981 {
982 if (XEUNICODE_P)
983 return MapVirtualKeyW (uCode, uMapType);
984 else
985 return MapVirtualKeyA (uCode, uMapType);
986 }
987
988 /* NOTE: NT 4.0+ only */
989 UINT
990 qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl)
991 {
992 if (XEUNICODE_P)
993 return MapVirtualKeyExW (uCode, uMapType, dwhkl);
994 else
995 return MapVirtualKeyExA (uCode, uMapType, dwhkl);
996 }
997
998 HACCEL
999 qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName)
1000 {
1001 if (XEUNICODE_P)
1002 return LoadAcceleratorsW (hInstance, (LPCWSTR) lpTableName);
1003 else
1004 return LoadAcceleratorsA (hInstance, (LPCSTR) lpTableName);
1005 }
1006
1007 HACCEL
1008 qxeCreateAcceleratorTable (LPACCEL arg1, int arg2)
1009 {
1010 if (XEUNICODE_P)
1011 return CreateAcceleratorTableW (arg1, arg2);
1012 else
1013 return CreateAcceleratorTableA (arg1, arg2);
1014 }
1015
1016 int
1017 qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries)
1018 {
1019 if (XEUNICODE_P)
1020 return CopyAcceleratorTableW (hAccelSrc, lpAccelDst, cAccelEntries);
1021 else
1022 return CopyAcceleratorTableA (hAccelSrc, lpAccelDst, cAccelEntries);
1023 }
1024
1025 int
1026 qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg)
1027 {
1028 if (XEUNICODE_P)
1029 return TranslateAcceleratorW (hWnd, hAccTable, lpMsg);
1030 else
1031 return TranslateAcceleratorA (hWnd, hAccTable, lpMsg);
1032 }
1033
1034 HMENU
1035 qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName)
1036 {
1037 if (XEUNICODE_P)
1038 return LoadMenuW (hInstance, (LPCWSTR) lpMenuName);
1039 else
1040 return LoadMenuA (hInstance, (LPCSTR) lpMenuName);
1041 }
1042
1043 HMENU
1044 qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate)
1045 {
1046 if (XEUNICODE_P)
1047 return LoadMenuIndirectW (lpMenuTemplate);
1048 else
1049 return LoadMenuIndirectA ((CONST MENUTEMPLATEA *) lpMenuTemplate);
1050 }
1051
1052 BOOL
1053 qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags)
1054 {
1055 if (XEUNICODE_P)
1056 return ChangeMenuW (hMenu, cmd, (LPCWSTR) lpszNewItem, cmdInsert, flags);
1057 else
1058 return ChangeMenuA (hMenu, cmd, (LPCSTR) lpszNewItem, cmdInsert, flags);
1059 }
1060
1061 int
1062 qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int nMaxCount, UINT uFlag)
1063 {
1064 if (XEUNICODE_P)
1065 return GetMenuStringW (hMenu, uIDItem, (LPWSTR) lpString, nMaxCount, uFlag);
1066 else
1067 return GetMenuStringA (hMenu, uIDItem, (LPSTR) lpString, nMaxCount, uFlag);
1068 }
1069
1070 BOOL
1071 qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1072 {
1073 if (XEUNICODE_P)
1074 return InsertMenuW (hMenu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1075 else
1076 return InsertMenuA (hMenu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1077 }
1078
1079 BOOL
1080 qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1081 {
1082 if (XEUNICODE_P)
1083 return AppendMenuW (hMenu, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1084 else
1085 return AppendMenuA (hMenu, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1086 }
1087
1088 BOOL
1089 qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1090 {
1091 if (XEUNICODE_P)
1092 return ModifyMenuW (hMnu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1093 else
1094 return ModifyMenuA (hMnu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1095 }
1096
1097 /* NOTE: NT 4.0+ only */
1098 BOOL
1099 qxeInsertMenuItem (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
1100 {
1101 if (XEUNICODE_P)
1102 return InsertMenuItemW (arg1, arg2, arg3, arg4);
1103 else
1104 return InsertMenuItemA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
1105 }
1106
1107 /* NOTE: NT 4.0+ only */
1108 BOOL
1109 qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4)
1110 {
1111 if (XEUNICODE_P)
1112 return GetMenuItemInfoW (arg1, arg2, arg3, arg4);
1113 else
1114 return GetMenuItemInfoA (arg1, arg2, arg3, (LPMENUITEMINFOA) arg4);
1115 }
1116
1117 /* NOTE: NT 4.0+ only */
1118 BOOL
1119 qxeSetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
1120 {
1121 if (XEUNICODE_P)
1122 return SetMenuItemInfoW (arg1, arg2, arg3, arg4);
1123 else
1124 return SetMenuItemInfoA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
1125 }
1126
1127 int
1128 qxeDrawText (HDC hDC, const Extbyte * lpString, int nCount, LPRECT lpRect, UINT uFormat)
1129 {
1130 if (XEUNICODE_P)
1131 return DrawTextW (hDC, (LPCWSTR) lpString, nCount, lpRect, uFormat);
1132 else
1133 return DrawTextA (hDC, (LPCSTR) lpString, nCount, lpRect, uFormat);
1134 }
1135
1136 /* NOTE: NT 4.0+ only */
1137 int
1138 qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6)
1139 {
1140 if (XEUNICODE_P)
1141 return DrawTextExW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6);
1142 else
1143 return DrawTextExA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6);
1144 }
1145
1146 BOOL
1147 qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight)
1148 {
1149 if (XEUNICODE_P)
1150 return GrayStringW (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight);
1151 else
1152 return GrayStringA (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight);
1153 }
1154
1155 /* NOTE: NT 4.0+ only */
1156 BOOL
1157 qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10)
1158 {
1159 if (XEUNICODE_P)
1160 return DrawStateW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
1161 else
1162 return DrawStateA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
1163 }
1164
1165 LONG
1166 qxeTabbedTextOut (HDC hDC, int X, int Y, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin)
1167 {
1168 if (XEUNICODE_P)
1169 return TabbedTextOutW (hDC, X, Y, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
1170 else
1171 return TabbedTextOutA (hDC, X, Y, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
1172 }
1173
1174 DWORD
1175 qxeGetTabbedTextExtent (HDC hDC, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions)
1176 {
1177 if (XEUNICODE_P)
1178 return GetTabbedTextExtentW (hDC, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions);
1179 else
1180 return GetTabbedTextExtentA (hDC, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions);
1181 }
1182
1183 BOOL
1184 qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData)
1185 {
1186 if (XEUNICODE_P)
1187 return SetPropW (hWnd, (LPCWSTR) lpString, hData);
1188 else
1189 return SetPropA (hWnd, (LPCSTR) lpString, hData);
1190 }
1191
1192 HANDLE
1193 qxeGetProp (HWND hWnd, const Extbyte * lpString)
1194 {
1195 if (XEUNICODE_P)
1196 return GetPropW (hWnd, (LPCWSTR) lpString);
1197 else
1198 return GetPropA (hWnd, (LPCSTR) lpString);
1199 }
1200
1201 HANDLE
1202 qxeRemoveProp (HWND hWnd, const Extbyte * lpString)
1203 {
1204 if (XEUNICODE_P)
1205 return RemovePropW (hWnd, (LPCWSTR) lpString);
1206 else
1207 return RemovePropA (hWnd, (LPCSTR) lpString);
1208 }
1209
1210 /* NOTE: // callback fun differs only in string pointer type */
1211 int
1212 qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
1213 {
1214 if (XEUNICODE_P)
1215 return EnumPropsExW (hWnd, lpEnumFunc, lParam);
1216 else
1217 return EnumPropsExA (hWnd, (PROPENUMPROCEXA) lpEnumFunc, lParam);
1218 }
1219
1220 /* NOTE: // callback fun differs only in string pointer type */
1221 int
1222 qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc)
1223 {
1224 if (XEUNICODE_P)
1225 return EnumPropsW (hWnd, lpEnumFunc);
1226 else
1227 return EnumPropsA (hWnd, (PROPENUMPROCA) lpEnumFunc);
1228 }
1229
1230 BOOL
1231 qxeSetWindowText (HWND hWnd, const Extbyte * lpString)
1232 {
1233 if (XEUNICODE_P)
1234 return SetWindowTextW (hWnd, (LPCWSTR) lpString);
1235 else
1236 return SetWindowTextA (hWnd, (LPCSTR) lpString);
1237 }
1238
1239 int
1240 qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount)
1241 {
1242 if (XEUNICODE_P)
1243 return GetWindowTextW (hWnd, (LPWSTR) lpString, nMaxCount);
1244 else
1245 return GetWindowTextA (hWnd, (LPSTR) lpString, nMaxCount);
1246 }
1247
1248 int
1249 qxeGetWindowTextLength (HWND hWnd)
1250 {
1251 if (XEUNICODE_P)
1252 return GetWindowTextLengthW (hWnd);
1253 else
1254 return GetWindowTextLengthA (hWnd);
1255 }
1256
1257 int
1258 qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType)
1259 {
1260 if (XEUNICODE_P)
1261 return MessageBoxW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType);
1262 else
1263 return MessageBoxA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType);
1264 }
1265
1266 int
1267 qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId)
1268 {
1269 if (XEUNICODE_P)
1270 return MessageBoxExW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType, wLanguageId);
1271 else
1272 return MessageBoxExA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType, wLanguageId);
1273 }
1274
1275 /* NOTE: NT 4.0+ only */
1276 int
1277 qxeMessageBoxIndirect (LPMSGBOXPARAMSW arg1)
1278 {
1279 if (XEUNICODE_P)
1280 return MessageBoxIndirectW (arg1);
1281 else
1282 return MessageBoxIndirectA ((LPMSGBOXPARAMSA) arg1);
1283 }
1284
1285 LONG
1286 qxeGetWindowLong (HWND hWnd, int nIndex)
1287 {
1288 if (XEUNICODE_P)
1289 return GetWindowLongW (hWnd, nIndex);
1290 else
1291 return GetWindowLongA (hWnd, nIndex);
1292 }
1293
1294 LONG
1295 qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong)
1296 {
1297 if (XEUNICODE_P)
1298 return SetWindowLongW (hWnd, nIndex, dwNewLong);
1299 else
1300 return SetWindowLongA (hWnd, nIndex, dwNewLong);
1301 }
1302
1303 DWORD
1304 qxeGetClassLong (HWND hWnd, int nIndex)
1305 {
1306 if (XEUNICODE_P)
1307 return GetClassLongW (hWnd, nIndex);
1308 else
1309 return GetClassLongA (hWnd, nIndex);
1310 }
1311
1312 DWORD
1313 qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong)
1314 {
1315 if (XEUNICODE_P)
1316 return SetClassLongW (hWnd, nIndex, dwNewLong);
1317 else
1318 return SetClassLongA (hWnd, nIndex, dwNewLong);
1319 }
1320
1321 HWND
1322 qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName)
1323 {
1324 if (XEUNICODE_P)
1325 return FindWindowW ((LPCWSTR) lpClassName, (LPCWSTR) lpWindowName);
1326 else
1327 return FindWindowA ((LPCSTR) lpClassName, (LPCSTR) lpWindowName);
1328 }
1329
1330 /* NOTE: NT 4.0+ only */
1331 HWND
1332 qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4)
1333 {
1334 if (XEUNICODE_P)
1335 return FindWindowExW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
1336 else
1337 return FindWindowExA (arg1, arg2, (LPCSTR) arg3, (LPCSTR) arg4);
1338 }
1339
1340 int
1341 qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount)
1342 {
1343 if (XEUNICODE_P)
1344 return GetClassNameW (hWnd, (LPWSTR) lpClassName, nMaxCount);
1345 else
1346 return GetClassNameA (hWnd, (LPSTR) lpClassName, nMaxCount);
1347 }
1348
1349 /* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
1350
1351 /* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
1352
1353 HHOOK
1354 qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId)
1355 {
1356 if (XEUNICODE_P)
1357 return SetWindowsHookExW (idHook, lpfn, hmod, dwThreadId);
1358 else
1359 return SetWindowsHookExA (idHook, lpfn, hmod, dwThreadId);
1360 }
1361
1362 HBITMAP
1363 qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName)
1364 {
1365 if (XEUNICODE_P)
1366 return LoadBitmapW (hInstance, (LPCWSTR) lpBitmapName);
1367 else
1368 return LoadBitmapA (hInstance, (LPCSTR) lpBitmapName);
1369 }
1370
1371 HCURSOR
1372 qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName)
1373 {
1374 if (XEUNICODE_P)
1375 return LoadCursorW (hInstance, (LPCWSTR) lpCursorName);
1376 else
1377 return LoadCursorA (hInstance, (LPCSTR) lpCursorName);
1378 }
1379
1380 HCURSOR
1381 qxeLoadCursorFromFile (const Extbyte * lpFileName)
1382 {
1383 if (XEUNICODE_P)
1384 return LoadCursorFromFileW ((LPCWSTR) lpFileName);
1385 else
1386 return LoadCursorFromFileA ((LPCSTR) lpFileName);
1387 }
1388
1389 HICON
1390 qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName)
1391 {
1392 if (XEUNICODE_P)
1393 return LoadIconW (hInstance, (LPCWSTR) lpIconName);
1394 else
1395 return LoadIconA (hInstance, (LPCSTR) lpIconName);
1396 }
1397
1398 /* NOTE: NT 4.0+ only */
1399 HANDLE
1400 qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6)
1401 {
1402 if (XEUNICODE_P)
1403 return LoadImageW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
1404 else
1405 return LoadImageA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
1406 }
1407
1408 int
1409 qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int nBufferMax)
1410 {
1411 if (XEUNICODE_P)
1412 return LoadStringW (hInstance, uID, (LPWSTR) lpBuffer, nBufferMax);
1413 else
1414 return LoadStringA (hInstance, uID, (LPSTR) lpBuffer, nBufferMax);
1415 }
1416
1417 BOOL
1418 qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg)
1419 {
1420 if (XEUNICODE_P)
1421 return IsDialogMessageW (hDlg, lpMsg);
1422 else
1423 return IsDialogMessageA (hDlg, lpMsg);
1424 }
1425
1426 int
1427 qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType)
1428 {
1429 if (XEUNICODE_P)
1430 return DlgDirListW (hDlg, (LPWSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
1431 else
1432 return DlgDirListA (hDlg, (LPSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
1433 }
1434
1435 BOOL
1436 qxeDlgDirSelectEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDListBox)
1437 {
1438 if (XEUNICODE_P)
1439 return DlgDirSelectExW (hDlg, (LPWSTR) lpString, nCount, nIDListBox);
1440 else
1441 return DlgDirSelectExA (hDlg, (LPSTR) lpString, nCount, nIDListBox);
1442 }
1443
1444 int
1445 qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype)
1446 {
1447 if (XEUNICODE_P)
1448 return DlgDirListComboBoxW (hDlg, (LPWSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
1449 else
1450 return DlgDirListComboBoxA (hDlg, (LPSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
1451 }
1452
1453 BOOL
1454 qxeDlgDirSelectComboBoxEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDComboBox)
1455 {
1456 if (XEUNICODE_P)
1457 return DlgDirSelectComboBoxExW (hDlg, (LPWSTR) lpString, nCount, nIDComboBox);
1458 else
1459 return DlgDirSelectComboBoxExA (hDlg, (LPSTR) lpString, nCount, nIDComboBox);
1460 }
1461
1462 LRESULT
1463 qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam)
1464 {
1465 if (XEUNICODE_P)
1466 return DefFrameProcW (hWnd, hWndMDIClient, uMsg, wParam, lParam);
1467 else
1468 return DefFrameProcA (hWnd, hWndMDIClient, uMsg, wParam, lParam);
1469 }
1470
1471 /* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */
1472
1473 HWND
1474 qxeCreateMDIWindow (Extbyte * lpClassName, Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam)
1475 {
1476 if (XEUNICODE_P)
1477 return CreateMDIWindowW ((LPWSTR) lpClassName, (LPWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam);
1478 else
1479 return CreateMDIWindowA ((LPSTR) lpClassName, (LPSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam);
1480 }
1481
1482 BOOL
1483 qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, DWORD dwData)
1484 {
1485 if (XEUNICODE_P)
1486 return WinHelpW (hWndMain, (LPCWSTR) lpszHelp, uCommand, dwData);
1487 else
1488 return WinHelpA (hWndMain, (LPCSTR) lpszHelp, uCommand, dwData);
1489 }
1490
1491 /* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */
1492
1493 /* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */
1494
1495 /* Error if EnumDisplaySettings used: split-sized LPDEVMODE */
1496
1497 /* Error if EnumDisplayDevices used: split-sized PDISPLAY_DEVICE; NT 5.0+ only, no Win98 */
1498
1499 /* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */
1500 BOOL
1501 qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
1502 {
1503 if (XEUNICODE_P)
1504 return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
1505 else
1506 return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
1507 }
1508
1509 /* Error if GetMonitorInfo used: NT 5.0/Win98+ only */
1510
1511 /* Error if GetWindowModuleFileName used: NT 5.0+ only */
1512
1513 /* Error if RealGetWindowClass used: NT 5.0+ only */
1514
1515 /* Error if GetAltTabInfo used: NT 5.0+ only */
1516
1517
1518 /*----------------------------------------------------------------------*/
1519 /* Processing file IME.H */
1520 /*----------------------------------------------------------------------*/
1521
1522 /* Error if SendIMEMessageEx used: obsolete, no docs available */
1523
1524
1525 /*----------------------------------------------------------------------*/
1526 /* Processing file IMM.H */
1527 /*----------------------------------------------------------------------*/
1528
1529 #if defined (HAVE_MS_WINDOWS)
1530
1531 HKL
1532 qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText)
1533 {
1534 if (XEUNICODE_P)
1535 return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText);
1536 else
1537 return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText);
1538 }
1539
1540 #endif /* defined (HAVE_MS_WINDOWS) */
1541
1542 #if defined (HAVE_MS_WINDOWS)
1543
1544 UINT
1545 qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen)
1546 {
1547 if (XEUNICODE_P)
1548 return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen);
1549 else
1550 return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen);
1551 }
1552
1553 #endif /* defined (HAVE_MS_WINDOWS) */
1554
1555 #if defined (HAVE_MS_WINDOWS)
1556
1557 UINT
1558 qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen)
1559 {
1560 if (XEUNICODE_P)
1561 return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen);
1562 else
1563 return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen);
1564 }
1565
1566 #endif /* defined (HAVE_MS_WINDOWS) */
1567
1568 #if defined (HAVE_MS_WINDOWS)
1569
1570 LONG
1571 qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4)
1572 {
1573 if (XEUNICODE_P)
1574 return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
1575 else
1576 return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
1577 }
1578
1579 #endif /* defined (HAVE_MS_WINDOWS) */
1580
1581 #if defined (HAVE_MS_WINDOWS)
1582
1583 /* Skipping ImmSetCompositionString because different prototypes in VC6 and VC7 */
1584
1585 #endif /* defined (HAVE_MS_WINDOWS) */
1586
1587 #if defined (HAVE_MS_WINDOWS)
1588
1589 DWORD
1590 qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount)
1591 {
1592 if (XEUNICODE_P)
1593 return ImmGetCandidateListCountW (arg1, lpdwListCount);
1594 else
1595 return ImmGetCandidateListCountA (arg1, lpdwListCount);
1596 }
1597
1598 #endif /* defined (HAVE_MS_WINDOWS) */
1599
1600 #if defined (HAVE_MS_WINDOWS)
1601
1602 DWORD
1603 qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen)
1604 {
1605 if (XEUNICODE_P)
1606 return ImmGetCandidateListW (arg1, deIndex, arg3, dwBufLen);
1607 else
1608 return ImmGetCandidateListA (arg1, deIndex, arg3, dwBufLen);
1609 }
1610
1611 #endif /* defined (HAVE_MS_WINDOWS) */
1612
1613 #if defined (HAVE_MS_WINDOWS)
1614
1615 DWORD
1616 qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen)
1617 {
1618 if (XEUNICODE_P)
1619 return ImmGetGuideLineW (arg1, dwIndex, (LPWSTR) arg3, dwBufLen);
1620 else
1621 return ImmGetGuideLineA (arg1, dwIndex, (LPSTR) arg3, dwBufLen);
1622 }
1623
1624 #endif /* defined (HAVE_MS_WINDOWS) */
1625
1626 #if defined (HAVE_MS_WINDOWS)
1627
1628 /* Skipping ImmGetCompositionFont because split-sized LOGFONT */
1629
1630 #endif /* defined (HAVE_MS_WINDOWS) */
1631
1632 #if defined (HAVE_MS_WINDOWS)
1633
1634 /* Skipping ImmSetCompositionFont because split-sized LOGFONT */
1635
1636 #endif /* defined (HAVE_MS_WINDOWS) */
1637
1638 #if defined (HAVE_MS_WINDOWS)
1639
1640 /* NOTE: // split-simple REGISTERWORD */
1641 BOOL
1642 qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4)
1643 {
1644 if (XEUNICODE_P)
1645 return ImmConfigureIMEW (arg1, arg2, arg3, arg4);
1646 else
1647 return ImmConfigureIMEA (arg1, arg2, arg3, arg4);
1648 }
1649
1650 #endif /* defined (HAVE_MS_WINDOWS) */
1651
1652 #if defined (HAVE_MS_WINDOWS)
1653
1654 /* NOTE: // strings of various sorts */
1655 LRESULT
1656 qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4)
1657 {
1658 if (XEUNICODE_P)
1659 return ImmEscapeW (arg1, arg2, arg3, arg4);
1660 else
1661 return ImmEscapeA (arg1, arg2, arg3, arg4);
1662 }
1663
1664 #endif /* defined (HAVE_MS_WINDOWS) */
1665
1666 #if defined (HAVE_MS_WINDOWS)
1667
1668 DWORD
1669 qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag)
1670 {
1671 if (XEUNICODE_P)
1672 return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, dwBufLen, uFlag);
1673 else
1674 return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, dwBufLen, uFlag);
1675 }
1676
1677 #endif /* defined (HAVE_MS_WINDOWS) */
1678
1679 #if defined (HAVE_MS_WINDOWS)
1680
1681 BOOL
1682 qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
1683 {
1684 if (XEUNICODE_P)
1685 return ImmIsUIMessageW (arg1, arg2, arg3, arg4);
1686 else
1687 return ImmIsUIMessageA (arg1, arg2, arg3, arg4);
1688 }
1689
1690 #endif /* defined (HAVE_MS_WINDOWS) */
1691
1692 #if defined (HAVE_MS_WINDOWS)
1693
1694 BOOL
1695 qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister)
1696 {
1697 if (XEUNICODE_P)
1698 return ImmRegisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszRegister);
1699 else
1700 return ImmRegisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszRegister);
1701 }
1702
1703 #endif /* defined (HAVE_MS_WINDOWS) */
1704
1705 #if defined (HAVE_MS_WINDOWS)
1706
1707 BOOL
1708 qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister)
1709 {
1710 if (XEUNICODE_P)
1711 return ImmUnregisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszUnregister);
1712 else
1713 return ImmUnregisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszUnregister);
1714 }
1715
1716 #endif /* defined (HAVE_MS_WINDOWS) */
1717
1718 #if defined (HAVE_MS_WINDOWS)
1719
1720 /* Error if ImmGetRegisterWordStyle used: split-sized STYLEBUF */
1721
1722 #endif /* defined (HAVE_MS_WINDOWS) */
1723
1724 #if defined (HAVE_MS_WINDOWS)
1725
1726 UINT
1727 qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6)
1728 {
1729 if (XEUNICODE_P)
1730 return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) lpszReading, arg4, (LPCWSTR) lpszRegister, arg6);
1731 else
1732 return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) lpszReading, arg4, (LPCSTR) lpszRegister, arg6);
1733 }
1734
1735 #endif /* defined (HAVE_MS_WINDOWS) */
1736
1737 #if defined (HAVE_MS_WINDOWS)
1738
1739 /* Error if ImmGetImeMenuItems used: split-sized IMEMENUITEMINFO */
1740
1741 #endif /* defined (HAVE_MS_WINDOWS) */
1742
1743
1744 /*----------------------------------------------------------------------*/
1745 /* Processing file MMSYSTEM.H */
1746 /*----------------------------------------------------------------------*/
1747
1748 BOOL
1749 qxesndPlaySound (const Extbyte * pszSound, UINT fuSound)
1750 {
1751 if (XEUNICODE_P)
1752 return sndPlaySoundW ((LPCWSTR) pszSound, fuSound);
1753 else
1754 return sndPlaySoundA ((LPCSTR) pszSound, fuSound);
1755 }
1756
1757 BOOL
1758 qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound)
1759 {
1760 if (XEUNICODE_P)
1761 return PlaySoundW ((LPCWSTR) pszSound, hmod, fdwSound);
1762 else
1763 return PlaySoundA ((LPCSTR) pszSound, hmod, fdwSound);
1764 }
1765
1766 /* Error if waveOutGetDevCaps used: split-sized LPWAVEOUTCAPS */
1767
1768 MMRESULT
1769 qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
1770 {
1771 if (XEUNICODE_P)
1772 return waveOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
1773 else
1774 return waveOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
1775 }
1776
1777 /* Error if waveInGetDevCaps used: split-sized LPWAVEINCAPS */
1778
1779 MMRESULT
1780 qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
1781 {
1782 if (XEUNICODE_P)
1783 return waveInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
1784 else
1785 return waveInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
1786 }
1787
1788 /* Error if midiOutGetDevCaps used: split-sized LPMIDIOUTCAPS */
1789
1790 MMRESULT
1791 qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
1792 {
1793 if (XEUNICODE_P)
1794 return midiOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
1795 else
1796 return midiOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
1797 }
1798
1799 /* Error if midiInGetDevCaps used: split-sized LPMIDIOUTCAPS */
1800
1801 MMRESULT
1802 qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
1803 {
1804 if (XEUNICODE_P)
1805 return midiInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
1806 else
1807 return midiInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
1808 }
1809
1810 /* Error if auxGetDevCaps used: split-sized LPAUXCAPS */
1811
1812 /* Error if mixerGetDevCaps used: split-sized LPMIXERCAPS */
1813
1814 /* Error if mixerGetLineInfo used: split-sized LPMIXERLINE */
1815
1816 /* Error if mixerGetLineControls used: split-sized LPMIXERCONTROL */
1817
1818 /* Error if mixerGetControlDetails used: split-sized LPMIXERCONTROL in LPMIXERLINECONTROLS in LPMIXERCONTROLDETAILS */
1819
1820 /* Error if joyGetDevCaps used: split-sized LPJOYCAPS */
1821
1822 FOURCC
1823 qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags)
1824 {
1825 if (XEUNICODE_P)
1826 return mmioStringToFOURCCW ((LPCWSTR) sz, uFlags);
1827 else
1828 return mmioStringToFOURCCA ((LPCSTR) sz, uFlags);
1829 }
1830
1831 LPMMIOPROC
1832 qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags)
1833 {
1834 if (XEUNICODE_P)
1835 return mmioInstallIOProcW (fccIOProc, pIOProc, dwFlags);
1836 else
1837 return mmioInstallIOProcA (fccIOProc, pIOProc, dwFlags);
1838 }
1839
1840 HMMIO
1841 qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen)
1842 {
1843 if (XEUNICODE_P)
1844 return mmioOpenW ((LPWSTR) pszFileName, pmmioinfo, fdwOpen);
1845 else
1846 return mmioOpenA ((LPSTR) pszFileName, pmmioinfo, fdwOpen);
1847 }
1848
1849 MMRESULT
1850 qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename)
1851 {
1852 if (XEUNICODE_P)
1853 return mmioRenameW ((LPCWSTR) pszFileName, (LPCWSTR) pszNewFileName, pmmioinfo, fdwRename);
1854 else
1855 return mmioRenameA ((LPCSTR) pszFileName, (LPCSTR) pszNewFileName, pmmioinfo, fdwRename);
1856 }
1857
1858 MCIERROR
1859 qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2)
1860 {
1861 if (XEUNICODE_P)
1862 return mciSendCommandW (mciId, uMsg, dwParam1, dwParam2);
1863 else
1864 return mciSendCommandA (mciId, uMsg, dwParam1, dwParam2);
1865 }
1866
1867 MCIERROR
1868 qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback)
1869 {
1870 if (XEUNICODE_P)
1871 return mciSendStringW ((LPCWSTR) lpstrCommand, (LPWSTR) lpstrReturnString, uReturnLength, hwndCallback);
1872 else
1873 return mciSendStringA ((LPCSTR) lpstrCommand, (LPSTR) lpstrReturnString, uReturnLength, hwndCallback);
1874 }
1875
1876 MCIDEVICEID
1877 qxemciGetDeviceID (const Extbyte * pszDevice)
1878 {
1879 if (XEUNICODE_P)
1880 return mciGetDeviceIDW ((LPCWSTR) pszDevice);
1881 else
1882 return mciGetDeviceIDA ((LPCSTR) pszDevice);
1883 }
1884
1885 #if !defined (MINGW)
1886
1887 /* Error if mciGetDeviceIDFromElementID used: missing from Win98se version of ADVAPI32.dll */
1888
1889 #endif /* !defined (MINGW) */
1890
1891 BOOL
1892 qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText)
1893 {
1894 if (XEUNICODE_P)
1895 return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText);
1896 else
1897 return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText);
1898 }
13 1899
14 1900
15 /*----------------------------------------------------------------------*/ 1901 /*----------------------------------------------------------------------*/
16 /* Processing file WINCON.H */ 1902 /* Processing file WINCON.H */
17 /*----------------------------------------------------------------------*/ 1903 /*----------------------------------------------------------------------*/
126 return WriteConsoleA (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved); 2012 return WriteConsoleA (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
127 } 2013 }
128 2014
129 2015
130 /*----------------------------------------------------------------------*/ 2016 /*----------------------------------------------------------------------*/
131 /* Processing file SHELLAPI.H */
132 /*----------------------------------------------------------------------*/
133
134 UINT
135 qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4)
136 {
137 if (XEUNICODE_P)
138 return DragQueryFileW (arg1, arg2, (LPWSTR) arg3, arg4);
139 else
140 return DragQueryFileA (arg1, arg2, (LPSTR) arg3, arg4);
141 }
142
143 HINSTANCE
144 qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd)
145 {
146 if (XEUNICODE_P)
147 return ShellExecuteW (hwnd, (LPCWSTR) lpOperation, (LPCWSTR) lpFile, (LPCWSTR) lpParameters, (LPCWSTR) lpDirectory, nShowCmd);
148 else
149 return ShellExecuteA (hwnd, (LPCSTR) lpOperation, (LPCSTR) lpFile, (LPCSTR) lpParameters, (LPCSTR) lpDirectory, nShowCmd);
150 }
151
152 HINSTANCE
153 qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult)
154 {
155 if (XEUNICODE_P)
156 return FindExecutableW ((LPCWSTR) lpFile, (LPCWSTR) lpDirectory, (LPWSTR) lpResult);
157 else
158 return FindExecutableA ((LPCSTR) lpFile, (LPCSTR) lpDirectory, (LPSTR) lpResult);
159 }
160
161 /* Error if CommandLineToArgv used: Unicode-only */
162
163 INT
164 qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon)
165 {
166 if (XEUNICODE_P)
167 return ShellAboutW (hWnd, (LPCWSTR) szApp, (LPCWSTR) szOtherStuff, hIcon);
168 else
169 return ShellAboutA (hWnd, (LPCSTR) szApp, (LPCSTR) szOtherStuff, hIcon);
170 }
171
172 HICON
173 qxeExtractAssociatedIcon (HINSTANCE hInst, Extbyte * lpIconPath, LPWORD lpiIcon)
174 {
175 if (XEUNICODE_P)
176 return ExtractAssociatedIconW (hInst, (LPWSTR) lpIconPath, lpiIcon);
177 else
178 return ExtractAssociatedIconA (hInst, (LPSTR) lpIconPath, lpiIcon);
179 }
180
181 HICON
182 qxeExtractIcon (HINSTANCE hInst, const Extbyte * lpszExeFileName, UINT nIconIndex)
183 {
184 if (XEUNICODE_P)
185 return ExtractIconW (hInst, (LPCWSTR) lpszExeFileName, nIconIndex);
186 else
187 return ExtractIconA (hInst, (LPCSTR) lpszExeFileName, nIconIndex);
188 }
189
190 #if !defined (CYGWIN_HEADERS)
191
192 /* NOTE: NT 4.0+ only */
193 DWORD
194 qxeDoEnvironmentSubst (Extbyte * szString, UINT cbString)
195 {
196 if (XEUNICODE_P)
197 return DoEnvironmentSubstW ((LPWSTR) szString, cbString);
198 else
199 return DoEnvironmentSubstA ((LPSTR) szString, cbString);
200 }
201
202 #endif /* !defined (CYGWIN_HEADERS) */
203
204 /* Error if FindEnvironmentString used: causes link error; NT 4.0+ only */
205
206 /* Skipping ExtractIconEx because NT 4.0+ only, error in Cygwin prototype */
207
208 /* NOTE: NT 4.0+ only */
209 int
210 qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp)
211 {
212 if (XEUNICODE_P)
213 return SHFileOperationW (lpFileOp);
214 else
215 return SHFileOperationA ((LPSHFILEOPSTRUCTA) lpFileOp);
216 }
217
218 /* NOTE: NT 4.0+ only */
219 BOOL
220 qxeShellExecuteEx (LPSHELLEXECUTEINFOW lpExecInfo)
221 {
222 if (XEUNICODE_P)
223 return ShellExecuteExW (lpExecInfo);
224 else
225 return ShellExecuteExA ((LPSHELLEXECUTEINFOA) lpExecInfo);
226 }
227
228 /* Error if WinExecError used: causes link error; NT 4.0+ only */
229
230 #if !defined (CYGWIN_HEADERS)
231
232 /* NOTE: NT 4.0+ only */
233 HRESULT
234 qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
235 {
236 if (XEUNICODE_P)
237 return SHQueryRecycleBinW ((LPCWSTR) pszRootPath, pSHQueryRBInfo);
238 else
239 return SHQueryRecycleBinA ((LPCSTR) pszRootPath, pSHQueryRBInfo);
240 }
241
242 #endif /* !defined (CYGWIN_HEADERS) */
243
244 #if !defined (CYGWIN_HEADERS)
245
246 /* NOTE: NT 4.0+ only */
247 HRESULT
248 qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags)
249 {
250 if (XEUNICODE_P)
251 return SHEmptyRecycleBinW (hwnd, (LPCWSTR) pszRootPath, dwFlags);
252 else
253 return SHEmptyRecycleBinA (hwnd, (LPCSTR) pszRootPath, dwFlags);
254 }
255
256 #endif /* !defined (CYGWIN_HEADERS) */
257
258 /* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */
259
260 /* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */
261
262 /* Error if SHGetDiskFreeSpace used: causes link error; NT 4.0+ only */
263
264 #if !defined (CYGWIN_HEADERS)
265
266 /* NOTE: NT 4.0+ only */
267 BOOL
268 qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, BOOL * pfMustCopy, UINT uFlags)
269 {
270 if (XEUNICODE_P)
271 return SHGetNewLinkInfoW ((LPCWSTR) pszLinkTo, (LPCWSTR) pszDir, (LPWSTR) pszName, pfMustCopy, uFlags);
272 else
273 return SHGetNewLinkInfoA ((LPCSTR) pszLinkTo, (LPCSTR) pszDir, (LPSTR) pszName, pfMustCopy, uFlags);
274 }
275
276 #endif /* !defined (CYGWIN_HEADERS) */
277
278 #if !defined (CYGWIN_HEADERS)
279
280 /* NOTE: NT 4.0+ only */
281 BOOL
282 qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, BOOL fModal)
283 {
284 if (XEUNICODE_P)
285 return SHInvokePrinterCommandW (hwnd, uAction, (LPCWSTR) lpBuf1, (LPCWSTR) lpBuf2, fModal);
286 else
287 return SHInvokePrinterCommandA (hwnd, uAction, (LPCSTR) lpBuf1, (LPCSTR) lpBuf2, fModal);
288 }
289
290 #endif /* !defined (CYGWIN_HEADERS) */
291
292
293 /*----------------------------------------------------------------------*/
294 /* Processing file WINSPOOL.H */
295 /*----------------------------------------------------------------------*/
296
297 #if defined (HAVE_MS_WINDOWS)
298
299 /* NOTE: #### problems with DEVMODE pointer in PRINTER_INFO_2 */
300 BOOL
301 qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
302 {
303 if (XEUNICODE_P)
304 return EnumPrintersW (Flags, (LPWSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
305 else
306 return EnumPrintersA (Flags, (LPSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
307 }
308
309 #endif /* defined (HAVE_MS_WINDOWS) */
310
311 #if defined (HAVE_MS_WINDOWS)
312
313 /* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
314
315 #endif /* defined (HAVE_MS_WINDOWS) */
316
317 #if defined (HAVE_MS_WINDOWS)
318
319 /* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */
320
321 #endif /* defined (HAVE_MS_WINDOWS) */
322
323 #if defined (HAVE_MS_WINDOWS)
324
325 /* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
326
327 #endif /* defined (HAVE_MS_WINDOWS) */
328
329 #if defined (HAVE_MS_WINDOWS)
330
331 /* Error if GetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */
332
333 #endif /* defined (HAVE_MS_WINDOWS) */
334
335 #if defined (HAVE_MS_WINDOWS)
336
337 /* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */
338
339 #endif /* defined (HAVE_MS_WINDOWS) */
340
341 #if defined (HAVE_MS_WINDOWS)
342
343 /* Error if AddPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
344
345 #endif /* defined (HAVE_MS_WINDOWS) */
346
347 #if defined (HAVE_MS_WINDOWS)
348
349 /* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
350
351 #endif /* defined (HAVE_MS_WINDOWS) */
352
353 #if defined (HAVE_MS_WINDOWS)
354
355 /* Error if GetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */
356
357 #endif /* defined (HAVE_MS_WINDOWS) */
358
359 #if defined (HAVE_MS_WINDOWS)
360
361 /* Error if AddPrinterDriver used: not used, complicated interface with split structures */
362
363 #endif /* defined (HAVE_MS_WINDOWS) */
364
365 #if defined (HAVE_MS_WINDOWS)
366
367 /* Error if AddPrinterDriverEx used: not used, complicated interface with split structures */
368
369 #endif /* defined (HAVE_MS_WINDOWS) */
370
371 #if defined (HAVE_MS_WINDOWS)
372
373 /* Error if EnumPrinterDrivers used: not used, complicated interface with split structures */
374
375 #endif /* defined (HAVE_MS_WINDOWS) */
376
377 #if defined (HAVE_MS_WINDOWS)
378
379 /* Error if GetPrinterDriver used: not used, complicated interface with split structures */
380
381 #endif /* defined (HAVE_MS_WINDOWS) */
382
383 #if defined (HAVE_MS_WINDOWS)
384
385 /* Error if GetPrinterDriverDirectory used: not used, complicated interface with split structures */
386
387 #endif /* defined (HAVE_MS_WINDOWS) */
388
389 #if defined (HAVE_MS_WINDOWS)
390
391 /* Error if DeletePrinterDriver used: not used, complicated interface with split structures */
392
393 #endif /* defined (HAVE_MS_WINDOWS) */
394
395 #if defined (HAVE_MS_WINDOWS)
396
397 /* Error if DeletePrinterDriverEx used: not used, complicated interface with split structures */
398
399 #endif /* defined (HAVE_MS_WINDOWS) */
400
401 #if defined (HAVE_MS_WINDOWS)
402
403 /* Error if AddPerMachineConnection used: not used, complicated interface with split structures */
404
405 #endif /* defined (HAVE_MS_WINDOWS) */
406
407 #if defined (HAVE_MS_WINDOWS)
408
409 /* Error if DeletePerMachineConnection used: not used, complicated interface with split structures */
410
411 #endif /* defined (HAVE_MS_WINDOWS) */
412
413 #if defined (HAVE_MS_WINDOWS)
414
415 /* Error if EnumPerMachineConnections used: not used, complicated interface with split structures */
416
417 #endif /* defined (HAVE_MS_WINDOWS) */
418
419 #if defined (HAVE_MS_WINDOWS)
420
421 /* Error if AddPrintProcessor used: not used, complicated interface with split structures */
422
423 #endif /* defined (HAVE_MS_WINDOWS) */
424
425 #if defined (HAVE_MS_WINDOWS)
426
427 /* Error if EnumPrintProcessors used: not used, complicated interface with split structures */
428
429 #endif /* defined (HAVE_MS_WINDOWS) */
430
431 #if defined (HAVE_MS_WINDOWS)
432
433 /* Error if GetPrintProcessorDirectory used: not used, complicated interface with split structures */
434
435 #endif /* defined (HAVE_MS_WINDOWS) */
436
437 #if defined (HAVE_MS_WINDOWS)
438
439 /* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */
440
441 #endif /* defined (HAVE_MS_WINDOWS) */
442
443 #if defined (HAVE_MS_WINDOWS)
444
445 /* Error if DeletePrintProcessor used: not used, complicated interface with split structures */
446
447 #endif /* defined (HAVE_MS_WINDOWS) */
448
449 #if defined (HAVE_MS_WINDOWS)
450
451 /* Error if StartDocPrinter used: not used, complicated interface with split structures */
452
453 #endif /* defined (HAVE_MS_WINDOWS) */
454
455 #if defined (HAVE_MS_WINDOWS)
456
457 /* Error if AddJob used: not used, complicated interface with split structures */
458
459 #endif /* defined (HAVE_MS_WINDOWS) */
460
461 #if defined (HAVE_MS_WINDOWS)
462
463 /* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */
464
465 #endif /* defined (HAVE_MS_WINDOWS) */
466
467 #if defined (HAVE_MS_WINDOWS)
468
469 /* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */
470
471 #endif /* defined (HAVE_MS_WINDOWS) */
472
473 #if defined (HAVE_MS_WINDOWS)
474
475 /* Error if GetPrinterData used: not used, complicated interface with split structures */
476
477 #endif /* defined (HAVE_MS_WINDOWS) */
478
479 #if defined (HAVE_MS_WINDOWS)
480
481 /* Error if GetPrinterDataEx used: not used, complicated interface with split structures */
482
483 #endif /* defined (HAVE_MS_WINDOWS) */
484
485 #if defined (HAVE_MS_WINDOWS)
486
487 /* Error if EnumPrinterData used: not used, complicated interface with split structures */
488
489 #endif /* defined (HAVE_MS_WINDOWS) */
490
491 #if defined (HAVE_MS_WINDOWS)
492
493 /* Error if EnumPrinterDataEx used: not used, complicated interface with split structures */
494
495 #endif /* defined (HAVE_MS_WINDOWS) */
496
497 #if defined (HAVE_MS_WINDOWS)
498
499 /* Error if EnumPrinterKey used: not used, complicated interface with split structures */
500
501 #endif /* defined (HAVE_MS_WINDOWS) */
502
503 #if defined (HAVE_MS_WINDOWS)
504
505 /* Error if SetPrinterData used: not used, complicated interface with split structures */
506
507 #endif /* defined (HAVE_MS_WINDOWS) */
508
509 #if defined (HAVE_MS_WINDOWS)
510
511 /* Error if SetPrinterDataEx used: not used, complicated interface with split structures */
512
513 #endif /* defined (HAVE_MS_WINDOWS) */
514
515 #if defined (HAVE_MS_WINDOWS)
516
517 /* Error if DeletePrinterData used: not used, complicated interface with split structures */
518
519 #endif /* defined (HAVE_MS_WINDOWS) */
520
521 #if defined (HAVE_MS_WINDOWS)
522
523 /* Error if DeletePrinterDataEx used: not used, complicated interface with split structures */
524
525 #endif /* defined (HAVE_MS_WINDOWS) */
526
527 #if defined (HAVE_MS_WINDOWS)
528
529 /* Error if DeletePrinterKey used: not used, complicated interface with split structures */
530
531 #endif /* defined (HAVE_MS_WINDOWS) */
532
533 #if defined (HAVE_MS_WINDOWS)
534
535 /* Error if PrinterMessageBox used: not used, complicated interface with split structures */
536
537 #endif /* defined (HAVE_MS_WINDOWS) */
538
539 #if defined (HAVE_MS_WINDOWS)
540
541 /* Error if AddForm used: not used, complicated interface with split structures */
542
543 #endif /* defined (HAVE_MS_WINDOWS) */
544
545 #if defined (HAVE_MS_WINDOWS)
546
547 /* Error if DeleteForm used: not used, complicated interface with split structures */
548
549 #endif /* defined (HAVE_MS_WINDOWS) */
550
551 #if defined (HAVE_MS_WINDOWS)
552
553 /* Error if GetForm used: not used, complicated interface with split structures */
554
555 #endif /* defined (HAVE_MS_WINDOWS) */
556
557 #if defined (HAVE_MS_WINDOWS)
558
559 /* Error if SetForm used: not used, complicated interface with split structures */
560
561 #endif /* defined (HAVE_MS_WINDOWS) */
562
563 #if defined (HAVE_MS_WINDOWS)
564
565 /* Error if EnumForms used: not used, complicated interface with split structures */
566
567 #endif /* defined (HAVE_MS_WINDOWS) */
568
569 #if defined (HAVE_MS_WINDOWS)
570
571 /* Error if EnumMonitors used: not used, complicated interface with split structures */
572
573 #endif /* defined (HAVE_MS_WINDOWS) */
574
575 #if defined (HAVE_MS_WINDOWS)
576
577 /* Error if AddMonitor used: not used, complicated interface with split structures */
578
579 #endif /* defined (HAVE_MS_WINDOWS) */
580
581 #if defined (HAVE_MS_WINDOWS)
582
583 /* Error if DeleteMonitor used: not used, complicated interface with split structures */
584
585 #endif /* defined (HAVE_MS_WINDOWS) */
586
587 #if defined (HAVE_MS_WINDOWS)
588
589 /* Error if EnumPorts used: not used, complicated interface with split structures */
590
591 #endif /* defined (HAVE_MS_WINDOWS) */
592
593 #if defined (HAVE_MS_WINDOWS)
594
595 /* Error if AddPort used: not used, complicated interface with split structures */
596
597 #endif /* defined (HAVE_MS_WINDOWS) */
598
599 #if defined (HAVE_MS_WINDOWS)
600
601 /* Error if ConfigurePort used: not used, complicated interface with split structures */
602
603 #endif /* defined (HAVE_MS_WINDOWS) */
604
605 #if defined (HAVE_MS_WINDOWS)
606
607 /* Error if DeletePort used: not used, complicated interface with split structures */
608
609 #endif /* defined (HAVE_MS_WINDOWS) */
610
611 #if defined (HAVE_MS_WINDOWS)
612
613 /* Error if XcvData used: not used, complicated interface with split structures */
614
615 #endif /* defined (HAVE_MS_WINDOWS) */
616
617 #if defined (HAVE_MS_WINDOWS)
618
619 /* Error if SetPort used: not used, complicated interface with split structures */
620
621 #endif /* defined (HAVE_MS_WINDOWS) */
622
623 #if defined (HAVE_MS_WINDOWS)
624
625 /* Error if AddPrinterConnection used: not used, complicated interface with split structures */
626
627 #endif /* defined (HAVE_MS_WINDOWS) */
628
629 #if defined (HAVE_MS_WINDOWS)
630
631 /* Error if DeletePrinterConnection used: not used, complicated interface with split structures */
632
633 #endif /* defined (HAVE_MS_WINDOWS) */
634
635 #if defined (HAVE_MS_WINDOWS)
636
637 /* Error if AddPrintProvidor used: not used, complicated interface with split structures */
638
639 #endif /* defined (HAVE_MS_WINDOWS) */
640
641 #if defined (HAVE_MS_WINDOWS)
642
643 /* Error if DeletePrintProvidor used: not used, complicated interface with split structures */
644
645 #endif /* defined (HAVE_MS_WINDOWS) */
646
647 #if defined (HAVE_MS_WINDOWS)
648
649 /* Error if SetPrinterHTMLView used: not used, complicated interface with split structures */
650
651 #endif /* defined (HAVE_MS_WINDOWS) */
652
653 #if defined (HAVE_MS_WINDOWS)
654
655 /* Error if GetPrinterHTMLView used: not used, complicated interface with split structures */
656
657 #endif /* defined (HAVE_MS_WINDOWS) */
658
659
660 /*----------------------------------------------------------------------*/
661 /* Processing file WINNETWK.H */ 2017 /* Processing file WINNETWK.H */
662 /*----------------------------------------------------------------------*/ 2018 /*----------------------------------------------------------------------*/
663 2019
664 #if defined (HAVE_MS_WINDOWS) 2020 #if defined (HAVE_MS_WINDOWS)
665 2021
883 2239
884 #endif /* defined (HAVE_MS_WINDOWS) */ 2240 #endif /* defined (HAVE_MS_WINDOWS) */
885 2241
886 2242
887 /*----------------------------------------------------------------------*/ 2243 /*----------------------------------------------------------------------*/
888 /* Processing file WINUSER.H */ 2244 /* Processing file DDEML.H */
889 /*----------------------------------------------------------------------*/ 2245 /*----------------------------------------------------------------------*/
890 2246
2247 UINT
2248 qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes)
2249 {
2250 if (XEUNICODE_P)
2251 return DdeInitializeW (pidInst, pfnCallback, afCmd, ulRes);
2252 else
2253 return DdeInitializeA (pidInst, pfnCallback, afCmd, ulRes);
2254 }
2255
2256 /* Skipping DdeCreateStringHandle because error in Cygwin prototype */
2257
2258 DWORD
2259 qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage)
2260 {
2261 if (XEUNICODE_P)
2262 return DdeQueryStringW (idInst, hsz, (LPWSTR) psz, cchMax, iCodePage);
2263 else
2264 return DdeQueryStringA (idInst, hsz, (LPSTR) psz, cchMax, iCodePage);
2265 }
2266
2267
2268 /*----------------------------------------------------------------------*/
2269 /* Processing file WINGDI.H */
2270 /*----------------------------------------------------------------------*/
2271
891 int 2272 int
892 qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist) 2273 qxeAddFontResource (const Extbyte * arg1)
893 { 2274 {
894 if (XEUNICODE_P) 2275 if (XEUNICODE_P)
895 return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist); 2276 return AddFontResourceW ((LPCWSTR) arg1);
896 else 2277 else
897 return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist); 2278 return AddFontResourceA ((LPCSTR) arg1);
898 } 2279 }
899 2280
900 HKL 2281 HMETAFILE
901 qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags) 2282 qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2)
902 { 2283 {
903 if (XEUNICODE_P) 2284 if (XEUNICODE_P)
904 return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags); 2285 return CopyMetaFileW (arg1, (LPCWSTR) arg2);
905 else 2286 else
906 return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags); 2287 return CopyMetaFileA (arg1, (LPCSTR) arg2);
907 } 2288 }
908 2289
909 BOOL 2290 /* Skipping CreateDC because split-sized DEVMODE */
910 qxeGetKeyboardLayoutName (Extbyte * pwszKLID) 2291
911 { 2292 /* Skipping CreateFontIndirect because split-sized LOGFONT */
912 if (XEUNICODE_P) 2293
913 return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID); 2294 HFONT
914 else 2295 qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14)
915 return GetKeyboardLayoutNameA ((LPSTR) pwszKLID); 2296 {
916 } 2297 if (XEUNICODE_P)
917 2298 return CreateFontW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCWSTR) arg14);
918 /* Error if CreateDesktop used: split-sized LPDEVMODE */ 2299 else
919 2300 return CreateFontA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCSTR) arg14);
920 HDESK 2301 }
921 qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess) 2302
922 { 2303 /* Skipping CreateIC because split-sized DEVMODE */
923 if (XEUNICODE_P) 2304
924 return OpenDesktopW ((LPWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess); 2305 HDC
925 else 2306 qxeCreateMetaFile (const Extbyte * arg1)
926 return OpenDesktopA ((LPSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess); 2307 {
927 } 2308 if (XEUNICODE_P)
928 2309 return CreateMetaFileW ((LPCWSTR) arg1);
929 /* NOTE: // callback fun differs only in string pointer type */ 2310 else
930 BOOL 2311 return CreateMetaFileA ((LPCSTR) arg1);
931 qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam) 2312 }
932 { 2313
933 if (XEUNICODE_P) 2314 BOOL
934 return EnumDesktopsW (hwinsta, lpEnumFunc, lParam); 2315 qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4)
935 else 2316 {
936 return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam); 2317 if (XEUNICODE_P)
937 } 2318 return CreateScalableFontResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
938 2319 else
939 HWINSTA 2320 return CreateScalableFontResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4);
940 qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa) 2321 }
941 { 2322
942 if (XEUNICODE_P) 2323 /* Skipping DeviceCapabilities because split-sized DEVMODE */
943 return CreateWindowStationW ((LPWSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa); 2324
944 else 2325 /* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
945 return CreateWindowStationA ((LPSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa); 2326
946 } 2327 /* Error if EnumFontFamilies used: split-complex FONTENUMPROC */
947 2328
948 HWINSTA 2329 /* Error if EnumFonts used: split-complex FONTENUMPROC */
949 qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess) 2330
950 { 2331 BOOL
951 if (XEUNICODE_P) 2332 qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
952 return OpenWindowStationW ((LPWSTR) lpszWinSta, fInherit, dwDesiredAccess); 2333 {
953 else 2334 if (XEUNICODE_P)
954 return OpenWindowStationA ((LPSTR) lpszWinSta, fInherit, dwDesiredAccess); 2335 return GetCharWidthW (arg1, arg2, arg3, arg4);
955 } 2336 else
956 2337 return GetCharWidthA (arg1, arg2, arg3, arg4);
957 /* NOTE: // callback fun differs only in string pointer type */ 2338 }
958 BOOL 2339
959 qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam) 2340 BOOL
960 { 2341 qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
961 if (XEUNICODE_P) 2342 {
962 return EnumWindowStationsW (lpEnumFunc, lParam); 2343 if (XEUNICODE_P)
963 else 2344 return GetCharWidth32W (arg1, arg2, arg3, arg4);
964 return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam); 2345 else
965 } 2346 return GetCharWidth32A (arg1, arg2, arg3, arg4);
966 2347 }
967 BOOL 2348
968 qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded) 2349 BOOL
969 { 2350 qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4)
970 if (XEUNICODE_P) 2351 {
971 return GetUserObjectInformationW (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded); 2352 if (XEUNICODE_P)
972 else 2353 return GetCharWidthFloatW (arg1, arg2, arg3, arg4);
973 return GetUserObjectInformationA (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded); 2354 else
974 } 2355 return GetCharWidthFloatA (arg1, arg2, arg3, arg4);
975 2356 }
976 BOOL 2357
977 qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength) 2358 BOOL
978 { 2359 qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4)
979 if (XEUNICODE_P) 2360 {
980 return SetUserObjectInformationW (hObj, nIndex, pvInfo, nLength); 2361 if (XEUNICODE_P)
981 else 2362 return GetCharABCWidthsW (arg1, arg2, arg3, arg4);
982 return SetUserObjectInformationA (hObj, nIndex, pvInfo, nLength); 2363 else
2364 return GetCharABCWidthsA (arg1, arg2, arg3, arg4);
2365 }
2366
2367 BOOL
2368 qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4)
2369 {
2370 if (XEUNICODE_P)
2371 return GetCharABCWidthsFloatW (arg1, arg2, arg3, arg4);
2372 else
2373 return GetCharABCWidthsFloatA (arg1, arg2, arg3, arg4);
2374 }
2375
2376 DWORD
2377 qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, LPVOID arg6, CONST MAT2 * arg7)
2378 {
2379 if (XEUNICODE_P)
2380 return GetGlyphOutlineW (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2381 else
2382 return GetGlyphOutlineA (arg1, arg2, arg3, arg4, arg5, arg6, arg7);
2383 }
2384
2385 HMETAFILE
2386 qxeGetMetaFile (const Extbyte * arg1)
2387 {
2388 if (XEUNICODE_P)
2389 return GetMetaFileW ((LPCWSTR) arg1);
2390 else
2391 return GetMetaFileA ((LPCSTR) arg1);
2392 }
2393
2394 /* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */
2395
2396 BOOL
2397 qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4)
2398 {
2399 if (XEUNICODE_P)
2400 return GetTextExtentPointW (arg1, (LPCWSTR) arg2, arg3, arg4);
2401 else
2402 return GetTextExtentPointA (arg1, (LPCSTR) arg2, arg3, arg4);
2403 }
2404
2405 BOOL
2406 qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4)
2407 {
2408 if (XEUNICODE_P)
2409 return GetTextExtentPoint32W (arg1, (LPCWSTR) arg2, arg3, arg4);
2410 else
2411 return GetTextExtentPoint32A (arg1, (LPCSTR) arg2, arg3, arg4);
2412 }
2413
2414 BOOL
2415 qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7)
2416 {
2417 if (XEUNICODE_P)
2418 return GetTextExtentExPointW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7);
2419 else
2420 return GetTextExtentExPointA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7);
2421 }
2422
2423 /* NOTE: NT 4.0+ only */
2424 DWORD
2425 qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6)
2426 {
2427 if (XEUNICODE_P)
2428 return GetCharacterPlacementW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
2429 else
2430 return GetCharacterPlacementA (arg1, (LPCSTR) arg2, arg3, arg4, (LPGCP_RESULTSA) arg5, arg6);
2431 }
2432
2433 /* Error if GetGlyphIndices used: NT 5.0+ only */
2434
2435 /* Error if AddFontResourceEx used: NT 5.0+ only */
2436
2437 /* Error if RemoveFontResourceEx used: NT 5.0+ only */
2438
2439 /* Error if CreateFontIndirectEx used: split-sized ENUMLOGFONTEXDV; NT 5.0+ only */
2440
2441 /* Skipping ResetDC because split-sized DEVMODE */
2442
2443 BOOL
2444 qxeRemoveFontResource (const Extbyte * arg1)
2445 {
2446 if (XEUNICODE_P)
2447 return RemoveFontResourceW ((LPCWSTR) arg1);
2448 else
2449 return RemoveFontResourceA ((LPCSTR) arg1);
2450 }
2451
2452 HENHMETAFILE
2453 qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2)
2454 {
2455 if (XEUNICODE_P)
2456 return CopyEnhMetaFileW (arg1, (LPCWSTR) arg2);
2457 else
2458 return CopyEnhMetaFileA (arg1, (LPCSTR) arg2);
2459 }
2460
2461 HDC
2462 qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, CONST RECT * arg3, const Extbyte * arg4)
2463 {
2464 if (XEUNICODE_P)
2465 return CreateEnhMetaFileW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
2466 else
2467 return CreateEnhMetaFileA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
2468 }
2469
2470 HENHMETAFILE
2471 qxeGetEnhMetaFile (const Extbyte * arg1)
2472 {
2473 if (XEUNICODE_P)
2474 return GetEnhMetaFileW ((LPCWSTR) arg1);
2475 else
2476 return GetEnhMetaFileA ((LPCSTR) arg1);
983 } 2477 }
984 2478
985 UINT 2479 UINT
986 qxeRegisterWindowMessage (const Extbyte * lpString) 2480 qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3)
987 { 2481 {
988 if (XEUNICODE_P) 2482 if (XEUNICODE_P)
989 return RegisterWindowMessageW ((LPCWSTR) lpString); 2483 return GetEnhMetaFileDescriptionW (arg1, arg2, (LPWSTR) arg3);
990 else 2484 else
991 return RegisterWindowMessageA ((LPCSTR) lpString); 2485 return GetEnhMetaFileDescriptionA (arg1, arg2, (LPSTR) arg3);
992 } 2486 }
993 2487
994 BOOL 2488 /* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
995 qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax) 2489
996 { 2490 int
997 if (XEUNICODE_P) 2491 qxeStartDoc (HDC arg1, CONST DOCINFOW * arg2)
998 return GetMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); 2492 {
999 else 2493 if (XEUNICODE_P)
1000 return GetMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); 2494 return StartDocW (arg1, arg2);
1001 } 2495 else
1002 2496 return StartDocA (arg1, (CONST DOCINFOA *) arg2);
1003 LONG 2497 }
1004 qxeDispatchMessage (CONST MSG * lpMsg) 2498
1005 { 2499 /* Skipping GetObject because split-sized LOGFONT */
1006 if (XEUNICODE_P) 2500
1007 return DispatchMessageW (lpMsg); 2501 BOOL
1008 else 2502 qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5)
1009 return DispatchMessageA (lpMsg); 2503 {
1010 } 2504 if (XEUNICODE_P)
1011 2505 return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5);
1012 BOOL 2506 else
1013 qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg) 2507 return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5);
1014 { 2508 }
1015 if (XEUNICODE_P) 2509
1016 return PeekMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); 2510 BOOL
1017 else 2511 qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * arg5, const Extbyte * arg6, UINT arg7, CONST INT * arg8)
1018 return PeekMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); 2512 {
1019 } 2513 if (XEUNICODE_P)
1020 2514 return ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8);
1021 /* Skipping SendMessage because split messages and structures */ 2515 else
1022 2516 return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8);
1023 LRESULT 2517 }
1024 qxeSendMessageTimeout (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult) 2518
1025 { 2519 BOOL
1026 if (XEUNICODE_P) 2520 qxePolyTextOut (HDC arg1, CONST POLYTEXTW * arg2, int arg3)
1027 return SendMessageTimeoutW (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult); 2521 {
1028 else 2522 if (XEUNICODE_P)
1029 return SendMessageTimeoutA (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult); 2523 return PolyTextOutW (arg1, arg2, arg3);
1030 } 2524 else
1031 2525 return PolyTextOutA (arg1, (CONST POLYTEXTA *) arg2, arg3);
1032 BOOL 2526 }
1033 qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) 2527
1034 { 2528 int
1035 if (XEUNICODE_P) 2529 qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3)
1036 return SendNotifyMessageW (hWnd, Msg, wParam, lParam); 2530 {
1037 else 2531 if (XEUNICODE_P)
1038 return SendNotifyMessageA (hWnd, Msg, wParam, lParam); 2532 return GetTextFaceW (arg1, arg2, (LPWSTR) arg3);
1039 } 2533 else
1040 2534 return GetTextFaceA (arg1, arg2, (LPSTR) arg3);
1041 BOOL 2535 }
1042 qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData) 2536
1043 { 2537 DWORD
1044 if (XEUNICODE_P) 2538 qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3)
1045 return SendMessageCallbackW (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData); 2539 {
1046 else 2540 if (XEUNICODE_P)
1047 return SendMessageCallbackA (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData); 2541 return GetKerningPairsW (arg1, arg2, arg3);
1048 } 2542 else
1049 2543 return GetKerningPairsA (arg1, arg2, arg3);
1050 /* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */ 2544 }
1051 2545
1052 /* Error if RegisterDeviceNotification used: NT 5.0+ only */ 2546 /* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
1053 2547
1054 BOOL 2548 /* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
1055 qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) 2549
1056 { 2550 /* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */
1057 if (XEUNICODE_P)
1058 return PostMessageW (hWnd, Msg, wParam, lParam);
1059 else
1060 return PostMessageA (hWnd, Msg, wParam, lParam);
1061 }
1062
1063 BOOL
1064 qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam)
1065 {
1066 if (XEUNICODE_P)
1067 return PostThreadMessageW (idThread, Msg, wParam, lParam);
1068 else
1069 return PostThreadMessageA (idThread, Msg, wParam, lParam);
1070 }
1071
1072 /* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */
1073
1074 /* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
1075
1076 /* Error if CallWindowProc used: two versions, STRICT and non-STRICT */
1077
1078 /* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */
1079
1080 /* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */
1081
1082 BOOL
1083 qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass)
1084 {
1085 if (XEUNICODE_P)
1086 return GetClassInfoW (hInstance, (LPCWSTR) lpClassName, lpWndClass);
1087 else
1088 return GetClassInfoA (hInstance, (LPCSTR) lpClassName, (LPWNDCLASSA) lpWndClass);
1089 }
1090
1091 /* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */
1092 2551
1093 /* NOTE: NT 4.0+ only */ 2552 /* NOTE: NT 4.0+ only */
1094 BOOL 2553 BOOL
1095 qxeGetClassInfoEx (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSEXW arg3) 2554 qxeSetICMProfile (HDC arg1, Extbyte * arg2)
1096 { 2555 {
1097 if (XEUNICODE_P) 2556 if (XEUNICODE_P)
1098 return GetClassInfoExW (arg1, (LPCWSTR) arg2, arg3); 2557 return SetICMProfileW (arg1, (LPWSTR) arg2);
1099 else 2558 else
1100 return GetClassInfoExA (arg1, (LPCSTR) arg2, (LPWNDCLASSEXA) arg3); 2559 return SetICMProfileA (arg1, (LPSTR) arg2);
1101 }
1102
1103 HWND
1104 qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)
1105 {
1106 if (XEUNICODE_P)
1107 return CreateWindowExW (dwExStyle, (LPCWSTR) lpClassName, (LPCWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
1108 else
1109 return CreateWindowExA (dwExStyle, (LPCSTR) lpClassName, (LPCSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
1110 }
1111
1112 HWND
1113 qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
1114 {
1115 if (XEUNICODE_P)
1116 return CreateDialogParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
1117 else
1118 return CreateDialogParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
1119 }
1120
1121 /* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
1122 HWND
1123 qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
1124 {
1125 if (XEUNICODE_P)
1126 return CreateDialogIndirectParamW (hInstance, lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
1127 else
1128 return CreateDialogIndirectParamA (hInstance, (LPCDLGTEMPLATEA) lpTemplate, hWndParent, lpDialogFunc, dwInitParam);
1129 }
1130
1131 int
1132 qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
1133 {
1134 if (XEUNICODE_P)
1135 return DialogBoxParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
1136 else
1137 return DialogBoxParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam);
1138 }
1139
1140 /* NOTE: error in Cygwin prototype (no split) but fixable with typedef */
1141 int
1142 qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)
1143 {
1144 if (XEUNICODE_P)
1145 return DialogBoxIndirectParamW (hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
1146 else
1147 return DialogBoxIndirectParamA (hInstance, (LPCDLGTEMPLATEA) hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam);
1148 }
1149
1150 BOOL
1151 qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString)
1152 {
1153 if (XEUNICODE_P)
1154 return SetDlgItemTextW (hDlg, nIDDlgItem, (LPCWSTR) lpString);
1155 else
1156 return SetDlgItemTextA (hDlg, nIDDlgItem, (LPCSTR) lpString);
1157 }
1158
1159 UINT
1160 qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int nMaxCount)
1161 {
1162 if (XEUNICODE_P)
1163 return GetDlgItemTextW (hDlg, nIDDlgItem, (LPWSTR) lpString, nMaxCount);
1164 else
1165 return GetDlgItemTextA (hDlg, nIDDlgItem, (LPSTR) lpString, nMaxCount);
1166 }
1167
1168 LONG
1169 qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam)
1170 {
1171 if (XEUNICODE_P)
1172 return SendDlgItemMessageW (hDlg, nIDDlgItem, Msg, wParam, lParam);
1173 else
1174 return SendDlgItemMessageA (hDlg, nIDDlgItem, Msg, wParam, lParam);
1175 }
1176
1177 /* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */
1178
1179 #if !defined (CYGWIN_HEADERS)
1180
1181 BOOL
1182 qxeCallMsgFilter (LPMSG lpMsg, int nCode)
1183 {
1184 if (XEUNICODE_P)
1185 return CallMsgFilterW (lpMsg, nCode);
1186 else
1187 return CallMsgFilterA (lpMsg, nCode);
1188 }
1189
1190 #endif /* !defined (CYGWIN_HEADERS) */
1191
1192 UINT
1193 qxeRegisterClipboardFormat (const Extbyte * lpszFormat)
1194 {
1195 if (XEUNICODE_P)
1196 return RegisterClipboardFormatW ((LPCWSTR) lpszFormat);
1197 else
1198 return RegisterClipboardFormatA ((LPCSTR) lpszFormat);
1199 }
1200
1201 int
1202 qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount)
1203 {
1204 if (XEUNICODE_P)
1205 return GetClipboardFormatNameW (format, (LPWSTR) lpszFormatName, cchMaxCount);
1206 else
1207 return GetClipboardFormatNameA (format, (LPSTR) lpszFormatName, cchMaxCount);
1208 }
1209
1210 BOOL
1211 qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst)
1212 {
1213 if (XEUNICODE_P)
1214 return CharToOemW ((LPCWSTR) lpszSrc, lpszDst);
1215 else
1216 return CharToOemA ((LPCSTR) lpszSrc, lpszDst);
1217 }
1218
1219 BOOL
1220 qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst)
1221 {
1222 if (XEUNICODE_P)
1223 return OemToCharW (lpszSrc, (LPWSTR) lpszDst);
1224 else
1225 return OemToCharA (lpszSrc, (LPSTR) lpszDst);
1226 }
1227
1228 BOOL
1229 qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength)
1230 {
1231 if (XEUNICODE_P)
1232 return CharToOemBuffW ((LPCWSTR) lpszSrc, lpszDst, cchDstLength);
1233 else
1234 return CharToOemBuffA ((LPCSTR) lpszSrc, lpszDst, cchDstLength);
1235 }
1236
1237 BOOL
1238 qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength)
1239 {
1240 if (XEUNICODE_P)
1241 return OemToCharBuffW (lpszSrc, (LPWSTR) lpszDst, cchDstLength);
1242 else
1243 return OemToCharBuffA (lpszSrc, (LPSTR) lpszDst, cchDstLength);
1244 }
1245
1246 Extbyte *
1247 qxeCharUpper (Extbyte * lpsz)
1248 {
1249 if (XEUNICODE_P)
1250 return (Extbyte *) CharUpperW ((LPWSTR) lpsz);
1251 else
1252 return (Extbyte *) CharUpperA ((LPSTR) lpsz);
1253 }
1254
1255 DWORD
1256 qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength)
1257 {
1258 if (XEUNICODE_P)
1259 return CharUpperBuffW ((LPWSTR) lpsz, cchLength);
1260 else
1261 return CharUpperBuffA ((LPSTR) lpsz, cchLength);
1262 }
1263
1264 Extbyte *
1265 qxeCharLower (Extbyte * lpsz)
1266 {
1267 if (XEUNICODE_P)
1268 return (Extbyte *) CharLowerW ((LPWSTR) lpsz);
1269 else
1270 return (Extbyte *) CharLowerA ((LPSTR) lpsz);
1271 }
1272
1273 DWORD
1274 qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength)
1275 {
1276 if (XEUNICODE_P)
1277 return CharLowerBuffW ((LPWSTR) lpsz, cchLength);
1278 else
1279 return CharLowerBuffA ((LPSTR) lpsz, cchLength);
1280 }
1281
1282 Extbyte *
1283 qxeCharNext (const Extbyte * lpsz)
1284 {
1285 if (XEUNICODE_P)
1286 return (Extbyte *) CharNextW ((LPCWSTR) lpsz);
1287 else
1288 return (Extbyte *) CharNextA ((LPCSTR) lpsz);
1289 }
1290
1291 Extbyte *
1292 qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent)
1293 {
1294 if (XEUNICODE_P)
1295 return (Extbyte *) CharPrevW ((LPCWSTR) lpszStart, (LPCWSTR) lpszCurrent);
1296 else
1297 return (Extbyte *) CharPrevA ((LPCSTR) lpszStart, (LPCSTR) lpszCurrent);
1298 }
1299
1300 /* Error if IsCharAlpha used: split CHAR */
1301
1302 /* Error if IsCharAlphaNumeric used: split CHAR */
1303
1304 /* Error if IsCharUpper used: split CHAR */
1305
1306 /* Error if IsCharLower used: split CHAR */
1307
1308 int
1309 qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int nSize)
1310 {
1311 if (XEUNICODE_P)
1312 return GetKeyNameTextW (lParam, (LPWSTR) lpString, nSize);
1313 else
1314 return GetKeyNameTextA (lParam, (LPSTR) lpString, nSize);
1315 }
1316
1317 /* Skipping VkKeyScan because split CHAR */
1318
1319 /* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */
1320
1321 UINT
1322 qxeMapVirtualKey (UINT uCode, UINT uMapType)
1323 {
1324 if (XEUNICODE_P)
1325 return MapVirtualKeyW (uCode, uMapType);
1326 else
1327 return MapVirtualKeyA (uCode, uMapType);
1328 }
1329
1330 /* NOTE: NT 4.0+ only */
1331 UINT
1332 qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl)
1333 {
1334 if (XEUNICODE_P)
1335 return MapVirtualKeyExW (uCode, uMapType, dwhkl);
1336 else
1337 return MapVirtualKeyExA (uCode, uMapType, dwhkl);
1338 }
1339
1340 HACCEL
1341 qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName)
1342 {
1343 if (XEUNICODE_P)
1344 return LoadAcceleratorsW (hInstance, (LPCWSTR) lpTableName);
1345 else
1346 return LoadAcceleratorsA (hInstance, (LPCSTR) lpTableName);
1347 }
1348
1349 HACCEL
1350 qxeCreateAcceleratorTable (LPACCEL arg1, int arg2)
1351 {
1352 if (XEUNICODE_P)
1353 return CreateAcceleratorTableW (arg1, arg2);
1354 else
1355 return CreateAcceleratorTableA (arg1, arg2);
1356 }
1357
1358 int
1359 qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries)
1360 {
1361 if (XEUNICODE_P)
1362 return CopyAcceleratorTableW (hAccelSrc, lpAccelDst, cAccelEntries);
1363 else
1364 return CopyAcceleratorTableA (hAccelSrc, lpAccelDst, cAccelEntries);
1365 }
1366
1367 int
1368 qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg)
1369 {
1370 if (XEUNICODE_P)
1371 return TranslateAcceleratorW (hWnd, hAccTable, lpMsg);
1372 else
1373 return TranslateAcceleratorA (hWnd, hAccTable, lpMsg);
1374 }
1375
1376 HMENU
1377 qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName)
1378 {
1379 if (XEUNICODE_P)
1380 return LoadMenuW (hInstance, (LPCWSTR) lpMenuName);
1381 else
1382 return LoadMenuA (hInstance, (LPCSTR) lpMenuName);
1383 }
1384
1385 HMENU
1386 qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate)
1387 {
1388 if (XEUNICODE_P)
1389 return LoadMenuIndirectW (lpMenuTemplate);
1390 else
1391 return LoadMenuIndirectA ((CONST MENUTEMPLATEA *) lpMenuTemplate);
1392 }
1393
1394 BOOL
1395 qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags)
1396 {
1397 if (XEUNICODE_P)
1398 return ChangeMenuW (hMenu, cmd, (LPCWSTR) lpszNewItem, cmdInsert, flags);
1399 else
1400 return ChangeMenuA (hMenu, cmd, (LPCSTR) lpszNewItem, cmdInsert, flags);
1401 }
1402
1403 int
1404 qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int nMaxCount, UINT uFlag)
1405 {
1406 if (XEUNICODE_P)
1407 return GetMenuStringW (hMenu, uIDItem, (LPWSTR) lpString, nMaxCount, uFlag);
1408 else
1409 return GetMenuStringA (hMenu, uIDItem, (LPSTR) lpString, nMaxCount, uFlag);
1410 }
1411
1412 BOOL
1413 qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1414 {
1415 if (XEUNICODE_P)
1416 return InsertMenuW (hMenu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1417 else
1418 return InsertMenuA (hMenu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1419 }
1420
1421 BOOL
1422 qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1423 {
1424 if (XEUNICODE_P)
1425 return AppendMenuW (hMenu, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1426 else
1427 return AppendMenuA (hMenu, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1428 }
1429
1430 BOOL
1431 qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem)
1432 {
1433 if (XEUNICODE_P)
1434 return ModifyMenuW (hMnu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem);
1435 else
1436 return ModifyMenuA (hMnu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem);
1437 }
1438
1439 /* NOTE: NT 4.0+ only */
1440 BOOL
1441 qxeInsertMenuItem (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
1442 {
1443 if (XEUNICODE_P)
1444 return InsertMenuItemW (arg1, arg2, arg3, arg4);
1445 else
1446 return InsertMenuItemA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
1447 }
1448
1449 /* NOTE: NT 4.0+ only */
1450 BOOL
1451 qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4)
1452 {
1453 if (XEUNICODE_P)
1454 return GetMenuItemInfoW (arg1, arg2, arg3, arg4);
1455 else
1456 return GetMenuItemInfoA (arg1, arg2, arg3, (LPMENUITEMINFOA) arg4);
1457 }
1458
1459 /* NOTE: NT 4.0+ only */
1460 BOOL
1461 qxeSetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4)
1462 {
1463 if (XEUNICODE_P)
1464 return SetMenuItemInfoW (arg1, arg2, arg3, arg4);
1465 else
1466 return SetMenuItemInfoA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4);
1467 }
1468
1469 int
1470 qxeDrawText (HDC hDC, const Extbyte * lpString, int nCount, LPRECT lpRect, UINT uFormat)
1471 {
1472 if (XEUNICODE_P)
1473 return DrawTextW (hDC, (LPCWSTR) lpString, nCount, lpRect, uFormat);
1474 else
1475 return DrawTextA (hDC, (LPCSTR) lpString, nCount, lpRect, uFormat);
1476 } 2560 }
1477 2561
1478 /* NOTE: NT 4.0+ only */ 2562 /* NOTE: NT 4.0+ only */
1479 int 2563 int
1480 qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6) 2564 qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3)
1481 { 2565 {
1482 if (XEUNICODE_P) 2566 if (XEUNICODE_P)
1483 return DrawTextExW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6); 2567 return EnumICMProfilesW (arg1, arg2, arg3);
1484 else 2568 else
1485 return DrawTextExA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6); 2569 return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3);
1486 } 2570 }
1487 2571
1488 BOOL 2572 /* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
1489 qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight) 2573
1490 { 2574 /* Error if wglUseFontBitmaps used: causes link error */
1491 if (XEUNICODE_P) 2575
1492 return GrayStringW (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight); 2576 /* Error if wglUseFontOutlines used: causes link error */
1493 else 2577
1494 return GrayStringA (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight); 2578
1495 } 2579 /*----------------------------------------------------------------------*/
1496 2580 /* Processing file WINNLS.H */
1497 /* NOTE: NT 4.0+ only */ 2581 /*----------------------------------------------------------------------*/
1498 BOOL 2582
1499 qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10) 2583 /* Error if GetCPInfoEx used: not used, not examined yet */
1500 { 2584
1501 if (XEUNICODE_P) 2585 /* Error if CompareString used: not used, not examined yet */
1502 return DrawStateW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); 2586
1503 else 2587 /* Error if LCMapString used: not used, not examined yet */
1504 return DrawStateA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); 2588
1505 }
1506
1507 LONG
1508 qxeTabbedTextOut (HDC hDC, int X, int Y, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin)
1509 {
1510 if (XEUNICODE_P)
1511 return TabbedTextOutW (hDC, X, Y, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
1512 else
1513 return TabbedTextOutA (hDC, X, Y, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin);
1514 }
1515
1516 DWORD
1517 qxeGetTabbedTextExtent (HDC hDC, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions)
1518 {
1519 if (XEUNICODE_P)
1520 return GetTabbedTextExtentW (hDC, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions);
1521 else
1522 return GetTabbedTextExtentA (hDC, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions);
1523 }
1524
1525 BOOL
1526 qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData)
1527 {
1528 if (XEUNICODE_P)
1529 return SetPropW (hWnd, (LPCWSTR) lpString, hData);
1530 else
1531 return SetPropA (hWnd, (LPCSTR) lpString, hData);
1532 }
1533
1534 HANDLE
1535 qxeGetProp (HWND hWnd, const Extbyte * lpString)
1536 {
1537 if (XEUNICODE_P)
1538 return GetPropW (hWnd, (LPCWSTR) lpString);
1539 else
1540 return GetPropA (hWnd, (LPCSTR) lpString);
1541 }
1542
1543 HANDLE
1544 qxeRemoveProp (HWND hWnd, const Extbyte * lpString)
1545 {
1546 if (XEUNICODE_P)
1547 return RemovePropW (hWnd, (LPCWSTR) lpString);
1548 else
1549 return RemovePropA (hWnd, (LPCSTR) lpString);
1550 }
1551
1552 /* NOTE: // callback fun differs only in string pointer type */
1553 int 2589 int
1554 qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam) 2590 qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData)
1555 { 2591 {
1556 if (XEUNICODE_P) 2592 if (XEUNICODE_P)
1557 return EnumPropsExW (hWnd, lpEnumFunc, lParam); 2593 return GetLocaleInfoW (Locale, LCType, (LPWSTR) lpLCData, cchData);
1558 else 2594 else
1559 return EnumPropsExA (hWnd, (PROPENUMPROCEXA) lpEnumFunc, lParam); 2595 return GetLocaleInfoA (Locale, LCType, (LPSTR) lpLCData, cchData);
1560 } 2596 }
1561 2597
1562 /* NOTE: // callback fun differs only in string pointer type */ 2598 BOOL
1563 int 2599 qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData)
1564 qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc) 2600 {
1565 { 2601 if (XEUNICODE_P)
1566 if (XEUNICODE_P) 2602 return SetLocaleInfoW (Locale, LCType, (LPCWSTR) lpLCData);
1567 return EnumPropsW (hWnd, lpEnumFunc); 2603 else
1568 else 2604 return SetLocaleInfoA (Locale, LCType, (LPCSTR) lpLCData);
1569 return EnumPropsA (hWnd, (PROPENUMPROCA) lpEnumFunc); 2605 }
1570 } 2606
1571 2607 /* Error if GetTimeFormat used: not used, not examined yet */
1572 BOOL 2608
1573 qxeSetWindowText (HWND hWnd, const Extbyte * lpString) 2609 /* Error if GetDateFormat used: not used, not examined yet */
1574 { 2610
1575 if (XEUNICODE_P) 2611 /* Error if GetNumberFormat used: not used, not examined yet */
1576 return SetWindowTextW (hWnd, (LPCWSTR) lpString); 2612
1577 else 2613 /* Error if GetCurrencyFormat used: not used, not examined yet */
1578 return SetWindowTextA (hWnd, (LPCSTR) lpString); 2614
1579 } 2615 /* Error if EnumCalendarInfo used: not used, not examined yet */
1580 2616
1581 int 2617 /* Error if EnumCalendarInfoEx used: not used, not examined yet */
1582 qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount) 2618
1583 { 2619 /* Error if EnumTimeFormats used: not used, not examined yet */
1584 if (XEUNICODE_P) 2620
1585 return GetWindowTextW (hWnd, (LPWSTR) lpString, nMaxCount); 2621 /* Error if EnumDateFormats used: not used, not examined yet */
1586 else 2622
1587 return GetWindowTextA (hWnd, (LPSTR) lpString, nMaxCount); 2623 /* Error if EnumDateFormatsEx used: not used, not examined yet */
1588 } 2624
1589 2625 /* Error if GetStringTypeEx used: not used, not examined yet */
1590 int 2626
1591 qxeGetWindowTextLength (HWND hWnd) 2627 /* Error if GetStringType used: no such fun; A and W versions have different nos. of args */
1592 { 2628
1593 if (XEUNICODE_P) 2629 /* Error if FoldString used: not used, not examined yet */
1594 return GetWindowTextLengthW (hWnd); 2630
1595 else 2631 /* Error if EnumSystemLocales used: not used, not examined yet */
1596 return GetWindowTextLengthA (hWnd); 2632
1597 } 2633 /* Error if EnumSystemCodePages used: not used, not examined yet */
1598
1599 int
1600 qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType)
1601 {
1602 if (XEUNICODE_P)
1603 return MessageBoxW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType);
1604 else
1605 return MessageBoxA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType);
1606 }
1607
1608 int
1609 qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId)
1610 {
1611 if (XEUNICODE_P)
1612 return MessageBoxExW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType, wLanguageId);
1613 else
1614 return MessageBoxExA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType, wLanguageId);
1615 }
1616
1617 /* NOTE: NT 4.0+ only */
1618 int
1619 qxeMessageBoxIndirect (LPMSGBOXPARAMSW arg1)
1620 {
1621 if (XEUNICODE_P)
1622 return MessageBoxIndirectW (arg1);
1623 else
1624 return MessageBoxIndirectA ((LPMSGBOXPARAMSA) arg1);
1625 }
1626
1627 LONG
1628 qxeGetWindowLong (HWND hWnd, int nIndex)
1629 {
1630 if (XEUNICODE_P)
1631 return GetWindowLongW (hWnd, nIndex);
1632 else
1633 return GetWindowLongA (hWnd, nIndex);
1634 }
1635
1636 LONG
1637 qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong)
1638 {
1639 if (XEUNICODE_P)
1640 return SetWindowLongW (hWnd, nIndex, dwNewLong);
1641 else
1642 return SetWindowLongA (hWnd, nIndex, dwNewLong);
1643 }
1644
1645 DWORD
1646 qxeGetClassLong (HWND hWnd, int nIndex)
1647 {
1648 if (XEUNICODE_P)
1649 return GetClassLongW (hWnd, nIndex);
1650 else
1651 return GetClassLongA (hWnd, nIndex);
1652 }
1653
1654 DWORD
1655 qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong)
1656 {
1657 if (XEUNICODE_P)
1658 return SetClassLongW (hWnd, nIndex, dwNewLong);
1659 else
1660 return SetClassLongA (hWnd, nIndex, dwNewLong);
1661 }
1662
1663 HWND
1664 qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName)
1665 {
1666 if (XEUNICODE_P)
1667 return FindWindowW ((LPCWSTR) lpClassName, (LPCWSTR) lpWindowName);
1668 else
1669 return FindWindowA ((LPCSTR) lpClassName, (LPCSTR) lpWindowName);
1670 }
1671
1672 /* NOTE: NT 4.0+ only */
1673 HWND
1674 qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4)
1675 {
1676 if (XEUNICODE_P)
1677 return FindWindowExW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
1678 else
1679 return FindWindowExA (arg1, arg2, (LPCSTR) arg3, (LPCSTR) arg4);
1680 }
1681
1682 int
1683 qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount)
1684 {
1685 if (XEUNICODE_P)
1686 return GetClassNameW (hWnd, (LPWSTR) lpClassName, nMaxCount);
1687 else
1688 return GetClassNameA (hWnd, (LPSTR) lpClassName, nMaxCount);
1689 }
1690
1691 /* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
1692
1693 /* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */
1694
1695 HHOOK
1696 qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId)
1697 {
1698 if (XEUNICODE_P)
1699 return SetWindowsHookExW (idHook, lpfn, hmod, dwThreadId);
1700 else
1701 return SetWindowsHookExA (idHook, lpfn, hmod, dwThreadId);
1702 }
1703
1704 HBITMAP
1705 qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName)
1706 {
1707 if (XEUNICODE_P)
1708 return LoadBitmapW (hInstance, (LPCWSTR) lpBitmapName);
1709 else
1710 return LoadBitmapA (hInstance, (LPCSTR) lpBitmapName);
1711 }
1712
1713 HCURSOR
1714 qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName)
1715 {
1716 if (XEUNICODE_P)
1717 return LoadCursorW (hInstance, (LPCWSTR) lpCursorName);
1718 else
1719 return LoadCursorA (hInstance, (LPCSTR) lpCursorName);
1720 }
1721
1722 HCURSOR
1723 qxeLoadCursorFromFile (const Extbyte * lpFileName)
1724 {
1725 if (XEUNICODE_P)
1726 return LoadCursorFromFileW ((LPCWSTR) lpFileName);
1727 else
1728 return LoadCursorFromFileA ((LPCSTR) lpFileName);
1729 }
1730
1731 HICON
1732 qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName)
1733 {
1734 if (XEUNICODE_P)
1735 return LoadIconW (hInstance, (LPCWSTR) lpIconName);
1736 else
1737 return LoadIconA (hInstance, (LPCSTR) lpIconName);
1738 }
1739
1740 /* NOTE: NT 4.0+ only */
1741 HANDLE
1742 qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6)
1743 {
1744 if (XEUNICODE_P)
1745 return LoadImageW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
1746 else
1747 return LoadImageA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6);
1748 }
1749
1750 int
1751 qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int nBufferMax)
1752 {
1753 if (XEUNICODE_P)
1754 return LoadStringW (hInstance, uID, (LPWSTR) lpBuffer, nBufferMax);
1755 else
1756 return LoadStringA (hInstance, uID, (LPSTR) lpBuffer, nBufferMax);
1757 }
1758
1759 BOOL
1760 qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg)
1761 {
1762 if (XEUNICODE_P)
1763 return IsDialogMessageW (hDlg, lpMsg);
1764 else
1765 return IsDialogMessageA (hDlg, lpMsg);
1766 }
1767
1768 int
1769 qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType)
1770 {
1771 if (XEUNICODE_P)
1772 return DlgDirListW (hDlg, (LPWSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
1773 else
1774 return DlgDirListA (hDlg, (LPSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType);
1775 }
1776
1777 BOOL
1778 qxeDlgDirSelectEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDListBox)
1779 {
1780 if (XEUNICODE_P)
1781 return DlgDirSelectExW (hDlg, (LPWSTR) lpString, nCount, nIDListBox);
1782 else
1783 return DlgDirSelectExA (hDlg, (LPSTR) lpString, nCount, nIDListBox);
1784 }
1785
1786 int
1787 qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype)
1788 {
1789 if (XEUNICODE_P)
1790 return DlgDirListComboBoxW (hDlg, (LPWSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
1791 else
1792 return DlgDirListComboBoxA (hDlg, (LPSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype);
1793 }
1794
1795 BOOL
1796 qxeDlgDirSelectComboBoxEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDComboBox)
1797 {
1798 if (XEUNICODE_P)
1799 return DlgDirSelectComboBoxExW (hDlg, (LPWSTR) lpString, nCount, nIDComboBox);
1800 else
1801 return DlgDirSelectComboBoxExA (hDlg, (LPSTR) lpString, nCount, nIDComboBox);
1802 }
1803
1804 LRESULT
1805 qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam)
1806 {
1807 if (XEUNICODE_P)
1808 return DefFrameProcW (hWnd, hWndMDIClient, uMsg, wParam, lParam);
1809 else
1810 return DefFrameProcA (hWnd, hWndMDIClient, uMsg, wParam, lParam);
1811 }
1812
1813 /* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */
1814
1815 HWND
1816 qxeCreateMDIWindow (Extbyte * lpClassName, Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam)
1817 {
1818 if (XEUNICODE_P)
1819 return CreateMDIWindowW ((LPWSTR) lpClassName, (LPWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam);
1820 else
1821 return CreateMDIWindowA ((LPSTR) lpClassName, (LPSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam);
1822 }
1823
1824 BOOL
1825 qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, DWORD dwData)
1826 {
1827 if (XEUNICODE_P)
1828 return WinHelpW (hWndMain, (LPCWSTR) lpszHelp, uCommand, dwData);
1829 else
1830 return WinHelpA (hWndMain, (LPCSTR) lpszHelp, uCommand, dwData);
1831 }
1832
1833 /* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */
1834
1835 /* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */
1836
1837 /* Error if EnumDisplaySettings used: split-sized LPDEVMODE */
1838
1839 /* Error if EnumDisplayDevices used: split-sized PDISPLAY_DEVICE; NT 5.0+ only, no Win98 */
1840
1841 /* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */
1842 BOOL
1843 qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
1844 {
1845 if (XEUNICODE_P)
1846 return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
1847 else
1848 return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
1849 }
1850
1851 /* Error if GetMonitorInfo used: NT 5.0/Win98+ only */
1852
1853 /* Error if GetWindowModuleFileName used: NT 5.0+ only */
1854
1855 /* Error if RealGetWindowClass used: NT 5.0+ only */
1856
1857 /* Error if GetAltTabInfo used: NT 5.0+ only */
1858
1859
1860 /*----------------------------------------------------------------------*/
1861 /* Processing file DDEML.H */
1862 /*----------------------------------------------------------------------*/
1863
1864 UINT
1865 qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes)
1866 {
1867 if (XEUNICODE_P)
1868 return DdeInitializeW (pidInst, pfnCallback, afCmd, ulRes);
1869 else
1870 return DdeInitializeA (pidInst, pfnCallback, afCmd, ulRes);
1871 }
1872
1873 /* Skipping DdeCreateStringHandle because error in Cygwin prototype */
1874
1875 DWORD
1876 qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage)
1877 {
1878 if (XEUNICODE_P)
1879 return DdeQueryStringW (idInst, hsz, (LPWSTR) psz, cchMax, iCodePage);
1880 else
1881 return DdeQueryStringA (idInst, hsz, (LPSTR) psz, cchMax, iCodePage);
1882 }
1883 2634
1884 2635
1885 /*----------------------------------------------------------------------*/ 2636 /*----------------------------------------------------------------------*/
1886 /* Processing file WINREG.H */ 2637 /* Processing file WINREG.H */
1887 /*----------------------------------------------------------------------*/ 2638 /*----------------------------------------------------------------------*/
2108 return AbortSystemShutdownA ((LPSTR) lpMachineName); 2859 return AbortSystemShutdownA ((LPSTR) lpMachineName);
2109 } 2860 }
2110 2861
2111 2862
2112 /*----------------------------------------------------------------------*/ 2863 /*----------------------------------------------------------------------*/
2113 /* Processing file WINNLS.H */ 2864 /* Processing file COMMDLG.H */
2114 /*----------------------------------------------------------------------*/ 2865 /*----------------------------------------------------------------------*/
2115 2866
2116 /* Error if GetCPInfoEx used: not used, not examined yet */
2117
2118 /* Error if CompareString used: not used, not examined yet */
2119
2120 /* Error if LCMapString used: not used, not examined yet */
2121
2122 int
2123 qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData)
2124 {
2125 if (XEUNICODE_P)
2126 return GetLocaleInfoW (Locale, LCType, (LPWSTR) lpLCData, cchData);
2127 else
2128 return GetLocaleInfoA (Locale, LCType, (LPSTR) lpLCData, cchData);
2129 }
2130
2131 BOOL
2132 qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData)
2133 {
2134 if (XEUNICODE_P)
2135 return SetLocaleInfoW (Locale, LCType, (LPCWSTR) lpLCData);
2136 else
2137 return SetLocaleInfoA (Locale, LCType, (LPCSTR) lpLCData);
2138 }
2139
2140 /* Error if GetTimeFormat used: not used, not examined yet */
2141
2142 /* Error if GetDateFormat used: not used, not examined yet */
2143
2144 /* Error if GetNumberFormat used: not used, not examined yet */
2145
2146 /* Error if GetCurrencyFormat used: not used, not examined yet */
2147
2148 /* Error if EnumCalendarInfo used: not used, not examined yet */
2149
2150 /* Error if EnumCalendarInfoEx used: not used, not examined yet */
2151
2152 /* Error if EnumTimeFormats used: not used, not examined yet */
2153
2154 /* Error if EnumDateFormats used: not used, not examined yet */
2155
2156 /* Error if EnumDateFormatsEx used: not used, not examined yet */
2157
2158 /* Error if GetStringTypeEx used: not used, not examined yet */
2159
2160 /* Error if GetStringType used: no such fun; A and W versions have different nos. of args */
2161
2162 /* Error if FoldString used: not used, not examined yet */
2163
2164 /* Error if EnumSystemLocales used: not used, not examined yet */
2165
2166 /* Error if EnumSystemCodePages used: not used, not examined yet */
2167
2168
2169 /*----------------------------------------------------------------------*/
2170 /* Processing file IME.H */
2171 /*----------------------------------------------------------------------*/
2172
2173 /* Error if SendIMEMessageEx used: obsolete, no docs available */
2174
2175
2176 /*----------------------------------------------------------------------*/
2177 /* Processing file WINGDI.H */
2178 /*----------------------------------------------------------------------*/
2179
2180 int
2181 qxeAddFontResource (const Extbyte * arg1)
2182 {
2183 if (XEUNICODE_P)
2184 return AddFontResourceW ((LPCWSTR) arg1);
2185 else
2186 return AddFontResourceA ((LPCSTR) arg1);
2187 }
2188
2189 HMETAFILE
2190 qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2)
2191 {
2192 if (XEUNICODE_P)
2193 return CopyMetaFileW (arg1, (LPCWSTR) arg2);
2194 else
2195 return CopyMetaFileA (arg1, (LPCSTR) arg2);
2196 }
2197
2198 /* Skipping CreateDC because split-sized DEVMODE */
2199
2200 /* Skipping CreateFontIndirect because split-sized LOGFONT */
2201
2202 HFONT
2203 qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14)
2204 {
2205 if (XEUNICODE_P)
2206 return CreateFontW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCWSTR) arg14);
2207 else
2208 return CreateFontA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCSTR) arg14);
2209 }
2210
2211 /* Skipping CreateIC because split-sized DEVMODE */
2212
2213 HDC
2214 qxeCreateMetaFile (const Extbyte * arg1)
2215 {
2216 if (XEUNICODE_P)
2217 return CreateMetaFileW ((LPCWSTR) arg1);
2218 else
2219 return CreateMetaFileA ((LPCSTR) arg1);
2220 }
2221
2222 BOOL
2223 qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4)
2224 {
2225 if (XEUNICODE_P)
2226 return CreateScalableFontResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4);
2227 else
2228 return CreateScalableFontResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4);
2229 }
2230
2231 /* Skipping DeviceCapabilities because split-sized DEVMODE */
2232
2233 /* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */
2234
2235 /* Error if EnumFontFamilies used: split-complex FONTENUMPROC */
2236
2237 /* Error if EnumFonts used: split-complex FONTENUMPROC */
2238
2239 BOOL
2240 qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
2241 {
2242 if (XEUNICODE_P)
2243 return GetCharWidthW (arg1, arg2, arg3, arg4);
2244 else
2245 return GetCharWidthA (arg1, arg2, arg3, arg4);
2246 }
2247
2248 BOOL
2249 qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4)
2250 {
2251 if (XEUNICODE_P)
2252 return GetCharWidth32W (arg1, arg2, arg3, arg4);
2253 else
2254 return GetCharWidth32A (arg1, arg2, arg3, arg4);
2255 }
2256
2257 BOOL 2867 BOOL
2258 qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4) 2868 qxeGetOpenFileName (LPOPENFILENAMEW arg1)
2259 { 2869 {
2260 if (XEUNICODE_P) 2870 if (XEUNICODE_P)
2261 return GetCharWidthFloatW (arg1, arg2, arg3, arg4); 2871 return GetOpenFileNameW (arg1);
2262 else 2872 else
2263 return GetCharWidthFloatA (arg1, arg2, arg3, arg4); 2873 return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
2264 } 2874 }
2265 2875
2266 BOOL 2876 BOOL
2267 qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4) 2877 qxeGetSaveFileName (LPOPENFILENAMEW arg1)
2268 { 2878 {
2269 if (XEUNICODE_P) 2879 if (XEUNICODE_P)
2270 return GetCharABCWidthsW (arg1, arg2, arg3, arg4); 2880 return GetSaveFileNameW (arg1);
2271 else 2881 else
2272 return GetCharABCWidthsA (arg1, arg2, arg3, arg4); 2882 return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
2883 }
2884
2885 short
2886 qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3)
2887 {
2888 if (XEUNICODE_P)
2889 return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
2890 else
2891 return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
2273 } 2892 }
2274 2893
2275 BOOL 2894 BOOL
2276 qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4) 2895 qxeChooseColor (LPCHOOSECOLORW arg1)
2277 { 2896 {
2278 if (XEUNICODE_P) 2897 if (XEUNICODE_P)
2279 return GetCharABCWidthsFloatW (arg1, arg2, arg3, arg4); 2898 return ChooseColorW (arg1);
2280 else 2899 else
2281 return GetCharABCWidthsFloatA (arg1, arg2, arg3, arg4); 2900 return ChooseColorA ((LPCHOOSECOLORA) arg1);
2282 } 2901 }
2283 2902
2284 DWORD 2903 HWND
2285 qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, LPVOID arg6, CONST MAT2 * arg7) 2904 qxeFindText (LPFINDREPLACEW arg1)
2286 { 2905 {
2287 if (XEUNICODE_P) 2906 if (XEUNICODE_P)
2288 return GetGlyphOutlineW (arg1, arg2, arg3, arg4, arg5, arg6, arg7); 2907 return FindTextW (arg1);
2289 else 2908 else
2290 return GetGlyphOutlineA (arg1, arg2, arg3, arg4, arg5, arg6, arg7); 2909 return FindTextA ((LPFINDREPLACEA) arg1);
2291 } 2910 }
2292 2911
2293 HMETAFILE 2912 HWND
2294 qxeGetMetaFile (const Extbyte * arg1) 2913 qxeReplaceText (LPFINDREPLACEW arg1)
2295 { 2914 {
2296 if (XEUNICODE_P) 2915 if (XEUNICODE_P)
2297 return GetMetaFileW ((LPCWSTR) arg1); 2916 return ReplaceTextW (arg1);
2298 else 2917 else
2299 return GetMetaFileA ((LPCSTR) arg1); 2918 return ReplaceTextA ((LPFINDREPLACEA) arg1);
2300 } 2919 }
2301 2920
2302 /* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */ 2921 /* Error if AfxReplaceText used: mac only */
2303 2922
2304 BOOL 2923 /* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
2305 qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4) 2924
2306 { 2925 /* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
2307 if (XEUNICODE_P) 2926
2308 return GetTextExtentPointW (arg1, (LPCWSTR) arg2, arg3, arg4); 2927 /* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
2309 else
2310 return GetTextExtentPointA (arg1, (LPCSTR) arg2, arg3, arg4);
2311 }
2312
2313 BOOL
2314 qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4)
2315 {
2316 if (XEUNICODE_P)
2317 return GetTextExtentPoint32W (arg1, (LPCWSTR) arg2, arg3, arg4);
2318 else
2319 return GetTextExtentPoint32A (arg1, (LPCSTR) arg2, arg3, arg4);
2320 }
2321
2322 BOOL
2323 qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7)
2324 {
2325 if (XEUNICODE_P)
2326 return GetTextExtentExPointW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7);
2327 else
2328 return GetTextExtentExPointA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7);
2329 }
2330
2331 /* NOTE: NT 4.0+ only */
2332 DWORD
2333 qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6)
2334 {
2335 if (XEUNICODE_P)
2336 return GetCharacterPlacementW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6);
2337 else
2338 return GetCharacterPlacementA (arg1, (LPCSTR) arg2, arg3, arg4, (LPGCP_RESULTSA) arg5, arg6);
2339 }
2340
2341 /* Error if GetGlyphIndices used: NT 5.0+ only */
2342
2343 /* Error if AddFontResourceEx used: NT 5.0+ only */
2344
2345 /* Error if RemoveFontResourceEx used: NT 5.0+ only */
2346
2347 /* Error if CreateFontIndirectEx used: split-sized ENUMLOGFONTEXDV; NT 5.0+ only */
2348
2349 /* Skipping ResetDC because split-sized DEVMODE */
2350
2351 BOOL
2352 qxeRemoveFontResource (const Extbyte * arg1)
2353 {
2354 if (XEUNICODE_P)
2355 return RemoveFontResourceW ((LPCWSTR) arg1);
2356 else
2357 return RemoveFontResourceA ((LPCSTR) arg1);
2358 }
2359
2360 HENHMETAFILE
2361 qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2)
2362 {
2363 if (XEUNICODE_P)
2364 return CopyEnhMetaFileW (arg1, (LPCWSTR) arg2);
2365 else
2366 return CopyEnhMetaFileA (arg1, (LPCSTR) arg2);
2367 }
2368
2369 HDC
2370 qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, CONST RECT * arg3, const Extbyte * arg4)
2371 {
2372 if (XEUNICODE_P)
2373 return CreateEnhMetaFileW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4);
2374 else
2375 return CreateEnhMetaFileA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4);
2376 }
2377
2378 HENHMETAFILE
2379 qxeGetEnhMetaFile (const Extbyte * arg1)
2380 {
2381 if (XEUNICODE_P)
2382 return GetEnhMetaFileW ((LPCWSTR) arg1);
2383 else
2384 return GetEnhMetaFileA ((LPCSTR) arg1);
2385 }
2386
2387 UINT
2388 qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3)
2389 {
2390 if (XEUNICODE_P)
2391 return GetEnhMetaFileDescriptionW (arg1, arg2, (LPWSTR) arg3);
2392 else
2393 return GetEnhMetaFileDescriptionA (arg1, arg2, (LPSTR) arg3);
2394 }
2395
2396 /* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */
2397
2398 int
2399 qxeStartDoc (HDC arg1, CONST DOCINFOW * arg2)
2400 {
2401 if (XEUNICODE_P)
2402 return StartDocW (arg1, arg2);
2403 else
2404 return StartDocA (arg1, (CONST DOCINFOA *) arg2);
2405 }
2406
2407 /* Skipping GetObject because split-sized LOGFONT */
2408
2409 BOOL
2410 qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5)
2411 {
2412 if (XEUNICODE_P)
2413 return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5);
2414 else
2415 return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5);
2416 }
2417
2418 BOOL
2419 qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * arg5, const Extbyte * arg6, UINT arg7, CONST INT * arg8)
2420 {
2421 if (XEUNICODE_P)
2422 return ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8);
2423 else
2424 return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8);
2425 }
2426
2427 BOOL
2428 qxePolyTextOut (HDC arg1, CONST POLYTEXTW * arg2, int arg3)
2429 {
2430 if (XEUNICODE_P)
2431 return PolyTextOutW (arg1, arg2, arg3);
2432 else
2433 return PolyTextOutA (arg1, (CONST POLYTEXTA *) arg2, arg3);
2434 }
2435
2436 int
2437 qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3)
2438 {
2439 if (XEUNICODE_P)
2440 return GetTextFaceW (arg1, arg2, (LPWSTR) arg3);
2441 else
2442 return GetTextFaceA (arg1, arg2, (LPSTR) arg3);
2443 }
2444
2445 DWORD
2446 qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3)
2447 {
2448 if (XEUNICODE_P)
2449 return GetKerningPairsW (arg1, arg2, arg3);
2450 else
2451 return GetKerningPairsA (arg1, arg2, arg3);
2452 }
2453
2454 /* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
2455
2456 /* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */
2457
2458 /* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */
2459
2460 /* NOTE: NT 4.0+ only */
2461 BOOL
2462 qxeSetICMProfile (HDC arg1, Extbyte * arg2)
2463 {
2464 if (XEUNICODE_P)
2465 return SetICMProfileW (arg1, (LPWSTR) arg2);
2466 else
2467 return SetICMProfileA (arg1, (LPSTR) arg2);
2468 }
2469
2470 /* NOTE: NT 4.0+ only */
2471 int
2472 qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3)
2473 {
2474 if (XEUNICODE_P)
2475 return EnumICMProfilesW (arg1, arg2, arg3);
2476 else
2477 return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3);
2478 }
2479
2480 /* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */
2481
2482 /* Error if wglUseFontBitmaps used: causes link error */
2483
2484 /* Error if wglUseFontOutlines used: causes link error */
2485 2928
2486 2929
2487 /*----------------------------------------------------------------------*/ 2930 /*----------------------------------------------------------------------*/
2488 /* Processing file SHLOBJ.H */ 2931 /* Processing file SHLOBJ.H */
2489 /*----------------------------------------------------------------------*/ 2932 /*----------------------------------------------------------------------*/
2503 2946
2504 /* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */ 2947 /* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */
2505 2948
2506 2949
2507 /*----------------------------------------------------------------------*/ 2950 /*----------------------------------------------------------------------*/
2508 /* Processing file COMMDLG.H */
2509 /*----------------------------------------------------------------------*/
2510
2511 BOOL
2512 qxeGetOpenFileName (LPOPENFILENAMEW arg1)
2513 {
2514 if (XEUNICODE_P)
2515 return GetOpenFileNameW (arg1);
2516 else
2517 return GetOpenFileNameA ((LPOPENFILENAMEA) arg1);
2518 }
2519
2520 BOOL
2521 qxeGetSaveFileName (LPOPENFILENAMEW arg1)
2522 {
2523 if (XEUNICODE_P)
2524 return GetSaveFileNameW (arg1);
2525 else
2526 return GetSaveFileNameA ((LPOPENFILENAMEA) arg1);
2527 }
2528
2529 short
2530 qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3)
2531 {
2532 if (XEUNICODE_P)
2533 return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3);
2534 else
2535 return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3);
2536 }
2537
2538 BOOL
2539 qxeChooseColor (LPCHOOSECOLORW arg1)
2540 {
2541 if (XEUNICODE_P)
2542 return ChooseColorW (arg1);
2543 else
2544 return ChooseColorA ((LPCHOOSECOLORA) arg1);
2545 }
2546
2547 HWND
2548 qxeFindText (LPFINDREPLACEW arg1)
2549 {
2550 if (XEUNICODE_P)
2551 return FindTextW (arg1);
2552 else
2553 return FindTextA ((LPFINDREPLACEA) arg1);
2554 }
2555
2556 HWND
2557 qxeReplaceText (LPFINDREPLACEW arg1)
2558 {
2559 if (XEUNICODE_P)
2560 return ReplaceTextW (arg1);
2561 else
2562 return ReplaceTextA ((LPFINDREPLACEA) arg1);
2563 }
2564
2565 /* Error if AfxReplaceText used: mac only */
2566
2567 /* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */
2568
2569 /* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */
2570
2571 /* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */
2572
2573
2574 /*----------------------------------------------------------------------*/
2575 /* Processing file IMM.H */
2576 /*----------------------------------------------------------------------*/
2577
2578 #if defined (HAVE_MS_WINDOWS)
2579
2580 HKL
2581 qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText)
2582 {
2583 if (XEUNICODE_P)
2584 return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText);
2585 else
2586 return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText);
2587 }
2588
2589 #endif /* defined (HAVE_MS_WINDOWS) */
2590
2591 #if defined (HAVE_MS_WINDOWS)
2592
2593 UINT
2594 qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen)
2595 {
2596 if (XEUNICODE_P)
2597 return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen);
2598 else
2599 return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen);
2600 }
2601
2602 #endif /* defined (HAVE_MS_WINDOWS) */
2603
2604 #if defined (HAVE_MS_WINDOWS)
2605
2606 UINT
2607 qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen)
2608 {
2609 if (XEUNICODE_P)
2610 return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen);
2611 else
2612 return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen);
2613 }
2614
2615 #endif /* defined (HAVE_MS_WINDOWS) */
2616
2617 #if defined (HAVE_MS_WINDOWS)
2618
2619 LONG
2620 qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4)
2621 {
2622 if (XEUNICODE_P)
2623 return ImmGetCompositionStringW (arg1, arg2, arg3, arg4);
2624 else
2625 return ImmGetCompositionStringA (arg1, arg2, arg3, arg4);
2626 }
2627
2628 #endif /* defined (HAVE_MS_WINDOWS) */
2629
2630 #if defined (HAVE_MS_WINDOWS)
2631
2632 DWORD
2633 qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount)
2634 {
2635 if (XEUNICODE_P)
2636 return ImmGetCandidateListCountW (arg1, lpdwListCount);
2637 else
2638 return ImmGetCandidateListCountA (arg1, lpdwListCount);
2639 }
2640
2641 #endif /* defined (HAVE_MS_WINDOWS) */
2642
2643 #if defined (HAVE_MS_WINDOWS)
2644
2645 DWORD
2646 qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen)
2647 {
2648 if (XEUNICODE_P)
2649 return ImmGetCandidateListW (arg1, deIndex, arg3, dwBufLen);
2650 else
2651 return ImmGetCandidateListA (arg1, deIndex, arg3, dwBufLen);
2652 }
2653
2654 #endif /* defined (HAVE_MS_WINDOWS) */
2655
2656 #if defined (HAVE_MS_WINDOWS)
2657
2658 DWORD
2659 qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen)
2660 {
2661 if (XEUNICODE_P)
2662 return ImmGetGuideLineW (arg1, dwIndex, (LPWSTR) arg3, dwBufLen);
2663 else
2664 return ImmGetGuideLineA (arg1, dwIndex, (LPSTR) arg3, dwBufLen);
2665 }
2666
2667 #endif /* defined (HAVE_MS_WINDOWS) */
2668
2669 #if defined (HAVE_MS_WINDOWS)
2670
2671 /* Skipping ImmGetCompositionFont because split-sized LOGFONT */
2672
2673 #endif /* defined (HAVE_MS_WINDOWS) */
2674
2675 #if defined (HAVE_MS_WINDOWS)
2676
2677 /* Skipping ImmSetCompositionFont because split-sized LOGFONT */
2678
2679 #endif /* defined (HAVE_MS_WINDOWS) */
2680
2681 #if defined (HAVE_MS_WINDOWS)
2682
2683 /* NOTE: // split-simple REGISTERWORD */
2684 BOOL
2685 qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4)
2686 {
2687 if (XEUNICODE_P)
2688 return ImmConfigureIMEW (arg1, arg2, arg3, arg4);
2689 else
2690 return ImmConfigureIMEA (arg1, arg2, arg3, arg4);
2691 }
2692
2693 #endif /* defined (HAVE_MS_WINDOWS) */
2694
2695 #if defined (HAVE_MS_WINDOWS)
2696
2697 /* NOTE: // strings of various sorts */
2698 LRESULT
2699 qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4)
2700 {
2701 if (XEUNICODE_P)
2702 return ImmEscapeW (arg1, arg2, arg3, arg4);
2703 else
2704 return ImmEscapeA (arg1, arg2, arg3, arg4);
2705 }
2706
2707 #endif /* defined (HAVE_MS_WINDOWS) */
2708
2709 #if defined (HAVE_MS_WINDOWS)
2710
2711 DWORD
2712 qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag)
2713 {
2714 if (XEUNICODE_P)
2715 return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, dwBufLen, uFlag);
2716 else
2717 return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, dwBufLen, uFlag);
2718 }
2719
2720 #endif /* defined (HAVE_MS_WINDOWS) */
2721
2722 #if defined (HAVE_MS_WINDOWS)
2723
2724 BOOL
2725 qxeImmIsUIMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4)
2726 {
2727 if (XEUNICODE_P)
2728 return ImmIsUIMessageW (arg1, arg2, arg3, arg4);
2729 else
2730 return ImmIsUIMessageA (arg1, arg2, arg3, arg4);
2731 }
2732
2733 #endif /* defined (HAVE_MS_WINDOWS) */
2734
2735 #if defined (HAVE_MS_WINDOWS)
2736
2737 BOOL
2738 qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister)
2739 {
2740 if (XEUNICODE_P)
2741 return ImmRegisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszRegister);
2742 else
2743 return ImmRegisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszRegister);
2744 }
2745
2746 #endif /* defined (HAVE_MS_WINDOWS) */
2747
2748 #if defined (HAVE_MS_WINDOWS)
2749
2750 BOOL
2751 qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister)
2752 {
2753 if (XEUNICODE_P)
2754 return ImmUnregisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszUnregister);
2755 else
2756 return ImmUnregisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszUnregister);
2757 }
2758
2759 #endif /* defined (HAVE_MS_WINDOWS) */
2760
2761 #if defined (HAVE_MS_WINDOWS)
2762
2763 /* Error if ImmGetRegisterWordStyle used: split-sized STYLEBUF */
2764
2765 #endif /* defined (HAVE_MS_WINDOWS) */
2766
2767 #if defined (HAVE_MS_WINDOWS)
2768
2769 UINT
2770 qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6)
2771 {
2772 if (XEUNICODE_P)
2773 return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) lpszReading, arg4, (LPCWSTR) lpszRegister, arg6);
2774 else
2775 return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) lpszReading, arg4, (LPCSTR) lpszRegister, arg6);
2776 }
2777
2778 #endif /* defined (HAVE_MS_WINDOWS) */
2779
2780 #if defined (HAVE_MS_WINDOWS)
2781
2782 /* Error if ImmGetImeMenuItems used: split-sized IMEMENUITEMINFO */
2783
2784 #endif /* defined (HAVE_MS_WINDOWS) */
2785
2786
2787 /*----------------------------------------------------------------------*/
2788 /* Processing file WINBASE.H */ 2951 /* Processing file WINBASE.H */
2789 /*----------------------------------------------------------------------*/ 2952 /*----------------------------------------------------------------------*/
2790 2953
2791 BOOL 2954 BOOL
2792 qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType) 2955 qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType)
3130 return FindResourceExW (hModule, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage); 3293 return FindResourceExW (hModule, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage);
3131 else 3294 else
3132 return FindResourceExA (hModule, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage); 3295 return FindResourceExA (hModule, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage);
3133 } 3296 }
3134 3297
3298 /* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */
3299
3300 /* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */
3301
3302 /* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */
3303
3135 HANDLE 3304 HANDLE
3136 qxeBeginUpdateResource (const Extbyte * pFileName, BOOL bDeleteExistingResources) 3305 qxeBeginUpdateResource (const Extbyte * pFileName, BOOL bDeleteExistingResources)
3137 { 3306 {
3138 if (XEUNICODE_P) 3307 if (XEUNICODE_P)
3139 return BeginUpdateResourceW ((LPCWSTR) pFileName, bDeleteExistingResources); 3308 return BeginUpdateResourceW ((LPCWSTR) pFileName, bDeleteExistingResources);
3931 4100
3932 /* Error if OpenJobObject used: NT 5.0+ only */ 4101 /* Error if OpenJobObject used: NT 5.0+ only */
3933 4102
3934 4103
3935 /*----------------------------------------------------------------------*/ 4104 /*----------------------------------------------------------------------*/
3936 /* Processing file MMSYSTEM.H */ 4105 /* Processing file ACLAPI.h */
3937 /*----------------------------------------------------------------------*/ 4106 /*----------------------------------------------------------------------*/
3938 4107
3939 BOOL 4108 DWORD
3940 qxesndPlaySound (const Extbyte * pszSound, UINT fuSound) 4109 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)
3941 { 4110 {
3942 if (XEUNICODE_P) 4111 if (XEUNICODE_P)
3943 return sndPlaySoundW ((LPCWSTR) pszSound, fuSound); 4112 return GetNamedSecurityInfoW ((IN LPWSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
3944 else 4113 else
3945 return sndPlaySoundA ((LPCSTR) pszSound, fuSound); 4114 return GetNamedSecurityInfoA ((IN LPSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
3946 } 4115 }
3947 4116
3948 BOOL
3949 qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound)
3950 {
3951 if (XEUNICODE_P)
3952 return PlaySoundW ((LPCWSTR) pszSound, hmod, fdwSound);
3953 else
3954 return PlaySoundA ((LPCSTR) pszSound, hmod, fdwSound);
3955 }
3956
3957 /* Error if waveOutGetDevCaps used: split-sized LPWAVEOUTCAPS */
3958
3959 MMRESULT
3960 qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
3961 {
3962 if (XEUNICODE_P)
3963 return waveOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
3964 else
3965 return waveOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
3966 }
3967
3968 /* Error if waveInGetDevCaps used: split-sized LPWAVEINCAPS */
3969
3970 MMRESULT
3971 qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
3972 {
3973 if (XEUNICODE_P)
3974 return waveInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
3975 else
3976 return waveInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
3977 }
3978
3979 /* Error if midiOutGetDevCaps used: split-sized LPMIDIOUTCAPS */
3980
3981 MMRESULT
3982 qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
3983 {
3984 if (XEUNICODE_P)
3985 return midiOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
3986 else
3987 return midiOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
3988 }
3989
3990 /* Error if midiInGetDevCaps used: split-sized LPMIDIOUTCAPS */
3991
3992 MMRESULT
3993 qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText)
3994 {
3995 if (XEUNICODE_P)
3996 return midiInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText);
3997 else
3998 return midiInGetErrorTextA (mmrError, (LPSTR) pszText, cchText);
3999 }
4000
4001 /* Error if auxGetDevCaps used: split-sized LPAUXCAPS */
4002
4003 /* Error if mixerGetDevCaps used: split-sized LPMIXERCAPS */
4004
4005 /* Error if mixerGetLineInfo used: split-sized LPMIXERLINE */
4006
4007 /* Error if mixerGetLineControls used: split-sized LPMIXERCONTROL */
4008
4009 /* Error if mixerGetControlDetails used: split-sized LPMIXERCONTROL in LPMIXERLINECONTROLS in LPMIXERCONTROLDETAILS */
4010
4011 /* Error if joyGetDevCaps used: split-sized LPJOYCAPS */
4012
4013 FOURCC
4014 qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags)
4015 {
4016 if (XEUNICODE_P)
4017 return mmioStringToFOURCCW ((LPCWSTR) sz, uFlags);
4018 else
4019 return mmioStringToFOURCCA ((LPCSTR) sz, uFlags);
4020 }
4021
4022 LPMMIOPROC
4023 qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags)
4024 {
4025 if (XEUNICODE_P)
4026 return mmioInstallIOProcW (fccIOProc, pIOProc, dwFlags);
4027 else
4028 return mmioInstallIOProcA (fccIOProc, pIOProc, dwFlags);
4029 }
4030
4031 HMMIO
4032 qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen)
4033 {
4034 if (XEUNICODE_P)
4035 return mmioOpenW ((LPWSTR) pszFileName, pmmioinfo, fdwOpen);
4036 else
4037 return mmioOpenA ((LPSTR) pszFileName, pmmioinfo, fdwOpen);
4038 }
4039
4040 MMRESULT
4041 qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename)
4042 {
4043 if (XEUNICODE_P)
4044 return mmioRenameW ((LPCWSTR) pszFileName, (LPCWSTR) pszNewFileName, pmmioinfo, fdwRename);
4045 else
4046 return mmioRenameA ((LPCSTR) pszFileName, (LPCSTR) pszNewFileName, pmmioinfo, fdwRename);
4047 }
4048
4049 MCIERROR
4050 qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2)
4051 {
4052 if (XEUNICODE_P)
4053 return mciSendCommandW (mciId, uMsg, dwParam1, dwParam2);
4054 else
4055 return mciSendCommandA (mciId, uMsg, dwParam1, dwParam2);
4056 }
4057
4058 MCIERROR
4059 qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback)
4060 {
4061 if (XEUNICODE_P)
4062 return mciSendStringW ((LPCWSTR) lpstrCommand, (LPWSTR) lpstrReturnString, uReturnLength, hwndCallback);
4063 else
4064 return mciSendStringA ((LPCSTR) lpstrCommand, (LPSTR) lpstrReturnString, uReturnLength, hwndCallback);
4065 }
4066
4067 MCIDEVICEID
4068 qxemciGetDeviceID (const Extbyte * pszDevice)
4069 {
4070 if (XEUNICODE_P)
4071 return mciGetDeviceIDW ((LPCWSTR) pszDevice);
4072 else
4073 return mciGetDeviceIDA ((LPCSTR) pszDevice);
4074 }
4075
4076 #if !defined (MINGW)
4077
4078 /* Error if mciGetDeviceIDFromElementID used: missing from Win98se version of ADVAPI32.dll */
4079
4080 #endif /* !defined (MINGW) */
4081
4082 BOOL
4083 qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText)
4084 {
4085 if (XEUNICODE_P)
4086 return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText);
4087 else
4088 return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText);
4089 }
4090