ReactOS 0.4.16-dev-816-g135a9a9
misc.c
Go to the documentation of this file.
1/*
2 * Misc USER functions
3 *
4 * Copyright 1995 Thomas Sandford
5 * Copyright 1997 Marcus Meissner
6 * Copyright 1998 Turchanov Sergey
7 * Copyright 2019 Micah N Gorrell for CodeWeavers
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
24#include <stdarg.h>
25
26#ifdef __REACTOS__
27#define WIN32_NO_STATUS
28#define _INC_WINDOWS
29#define COM_NO_WINDOWS_H
30#include <windef.h>
31#include <wingdi.h>
32#include <winuser.h>
33#include <winbase.h>
34
35#define POINTER_DEVICE_PRODUCT_STRING_MAX 520
36
37enum tagPOINTER_INPUT_TYPE {
38 PT_POINTER = 1,
39 PT_TOUCH,
40 PT_PEN,
41 PT_MOUSE,
42 PT_TOUCHPAD
43};
44
46typedef UINT32 POINTER_FLAGS;
47typedef DWORD POINTER_INPUT_TYPE;
48
49typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION
50{
51 UINT16 score;
52 POINT adjustedPoint;
53} TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, *PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION;
54
55typedef struct tagTOUCH_HIT_TESTING_INPUT
56{
57 UINT32 pointerId;
59 RECT boundingBox;
60 RECT nonOccludedBoundingBox;
61 UINT32 orientation;
62} TOUCH_HIT_TESTING_INPUT, *PTOUCH_HIT_TESTING_INPUT;
63
64typedef enum tagPOINTER_DEVICE_TYPE {
65 POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001,
66 POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002,
67 POINTER_DEVICE_TYPE_TOUCH = 0x00000003,
68 POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004,
69 POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF
70} POINTER_DEVICE_TYPE;
71
72typedef struct tagPOINTER_DEVICE_INFO {
73 DWORD displayOrientation;
75 POINTER_DEVICE_TYPE pointerDeviceType;
76 HMONITOR monitor;
77 ULONG startingCursorId;
78 USHORT maxActiveContacts;
79 WCHAR productString[POINTER_DEVICE_PRODUCT_STRING_MAX];
80} POINTER_DEVICE_INFO;
81
82
83typedef enum tagPOINTER_BUTTON_CHANGE_TYPE {
84 POINTER_CHANGE_NONE,
85 POINTER_CHANGE_FIRSTBUTTON_DOWN,
86 POINTER_CHANGE_FIRSTBUTTON_UP,
87 POINTER_CHANGE_SECONDBUTTON_DOWN,
88 POINTER_CHANGE_SECONDBUTTON_UP,
89 POINTER_CHANGE_THIRDBUTTON_DOWN,
90 POINTER_CHANGE_THIRDBUTTON_UP,
91 POINTER_CHANGE_FOURTHBUTTON_DOWN,
92 POINTER_CHANGE_FOURTHBUTTON_UP,
93 POINTER_CHANGE_FIFTHBUTTON_DOWN,
94 POINTER_CHANGE_FIFTHBUTTON_UP,
95} POINTER_BUTTON_CHANGE_TYPE;
96
97typedef struct tagPOINTER_INFO {
98 POINTER_INPUT_TYPE pointerType;
99 UINT32 pointerId;
100 UINT32 frameId;
101 POINTER_FLAGS pointerFlags;
102 HANDLE sourceDevice;
103 HWND hwndTarget;
104 POINT ptPixelLocation;
105 POINT ptHimetricLocation;
106 POINT ptPixelLocationRaw;
107 POINT ptHimetricLocationRaw;
109 UINT32 historyCount;
110 INT32 InputData;
111 DWORD dwKeyStates;
112 UINT64 PerformanceCount;
113 POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
114} POINTER_INFO;
115
116
117#else
118#include "windef.h"
119#include "wine/windef16.h"
120#include "winbase.h"
121#include "wingdi.h"
122#include "controls.h"
123#include "imm.h"
124#include "user_private.h"
125#endif
126#include "wine/debug.h"
127
129
130#ifndef __REACTOS__
131
133
134#define IMM_INIT_MAGIC 0x19650412
135static LRESULT (WINAPI *imm_ime_wnd_proc)( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, BOOL ansi);
136
137/* USER signal proc flags and codes */
138/* See UserSignalProc for comments */
139#define USIG_FLAGS_WIN32 0x0001
140#define USIG_FLAGS_GUI 0x0002
141#define USIG_FLAGS_FEEDBACK 0x0004
142#define USIG_FLAGS_FAULT 0x0008
143
144#define USIG_DLL_UNLOAD_WIN16 0x0001
145#define USIG_DLL_UNLOAD_WIN32 0x0002
146#define USIG_FAULT_DIALOG_PUSH 0x0003
147#define USIG_FAULT_DIALOG_POP 0x0004
148#define USIG_DLL_UNLOAD_ORPHANS 0x0005
149#define USIG_THREAD_INIT 0x0010
150#define USIG_THREAD_EXIT 0x0020
151#define USIG_PROCESS_CREATE 0x0100
152#define USIG_PROCESS_INIT 0x0200
153#define USIG_PROCESS_EXIT 0x0300
154#define USIG_PROCESS_DESTROY 0x0400
155#define USIG_PROCESS_RUNNING 0x0500
156#define USIG_PROCESS_LOADED 0x0600
157
158/***********************************************************************
159 * SignalProc32 (USER.391)
160 * UserSignalProc (USER32.@)
161 *
162 * The exact meaning of the USER signals is undocumented, but this
163 * should cover the basic idea:
164 *
165 * USIG_DLL_UNLOAD_WIN16
166 * This is sent when a 16-bit module is unloaded.
167 *
168 * USIG_DLL_UNLOAD_WIN32
169 * This is sent when a 32-bit module is unloaded.
170 *
171 * USIG_DLL_UNLOAD_ORPHANS
172 * This is sent after the last Win3.1 module is unloaded,
173 * to allow removal of orphaned menus.
174 *
175 * USIG_FAULT_DIALOG_PUSH
176 * USIG_FAULT_DIALOG_POP
177 * These are called to allow USER to prepare for displaying a
178 * fault dialog, even though the fault might have happened while
179 * inside a USER critical section.
180 *
181 * USIG_THREAD_INIT
182 * This is called from the context of a new thread, as soon as it
183 * has started to run.
184 *
185 * USIG_THREAD_EXIT
186 * This is called, still in its context, just before a thread is
187 * about to terminate.
188 *
189 * USIG_PROCESS_CREATE
190 * This is called, in the parent process context, after a new process
191 * has been created.
192 *
193 * USIG_PROCESS_INIT
194 * This is called in the new process context, just after the main thread
195 * has started execution (after the main thread's USIG_THREAD_INIT has
196 * been sent).
197 *
198 * USIG_PROCESS_LOADED
199 * This is called after the executable file has been loaded into the
200 * new process context.
201 *
202 * USIG_PROCESS_RUNNING
203 * This is called immediately before the main entry point is called.
204 *
205 * USIG_PROCESS_EXIT
206 * This is called in the context of a process that is about to
207 * terminate (but before the last thread's USIG_THREAD_EXIT has
208 * been sent).
209 *
210 * USIG_PROCESS_DESTROY
211 * This is called after a process has terminated.
212 *
213 *
214 * The meaning of the dwFlags bits is as follows:
215 *
216 * USIG_FLAGS_WIN32
217 * Current process is 32-bit.
218 *
219 * USIG_FLAGS_GUI
220 * Current process is a (Win32) GUI process.
221 *
222 * USIG_FLAGS_FEEDBACK
223 * Current process needs 'feedback' (determined from the STARTUPINFO
224 * flags STARTF_FORCEONFEEDBACK / STARTF_FORCEOFFFEEDBACK).
225 *
226 * USIG_FLAGS_FAULT
227 * The signal is being sent due to a fault.
228 */
229WORD WINAPI UserSignalProc( UINT uCode, DWORD dwThreadOrProcessID,
231{
232 FIXME("(%04x, %08lx, %04lx, %04x)\n",
233 uCode, dwThreadOrProcessID, dwFlags, hModule );
234 /* FIXME: Should chain to GdiSignalProc now. */
235 return 0;
236}
237
238
239/**********************************************************************
240 * SetLastErrorEx [USER32.@]
241 *
242 * Sets the last-error code.
243 *
244 * RETURNS
245 * None.
246 */
248 DWORD error, /* [in] Per-thread error code */
249 DWORD type) /* [in] Error type */
250{
251 TRACE("(0x%08lx, 0x%08lx)\n", error,type);
252 switch(type) {
253 case 0:
254 break;
255 case SLE_ERROR:
256 case SLE_MINORERROR:
257 case SLE_WARNING:
258 /* Fall through for now */
259 default:
260 FIXME("(error=%08lx, type=%08lx): Unhandled type\n", error,type);
261 break;
262 }
264}
265
266/******************************************************************************
267 * GetAltTabInfoA [USER32.@]
268 */
269BOOL WINAPI GetAltTabInfoA(HWND hwnd, int iItem, PALTTABINFO pati, LPSTR pszItemText, UINT cchItemText)
270{
271 FIXME("(%p, 0x%08x, %p, %p, 0x%08x)\n", hwnd, iItem, pati, pszItemText, cchItemText);
272 return FALSE;
273}
274
275/******************************************************************************
276 * GetAltTabInfoW [USER32.@]
277 */
278BOOL WINAPI GetAltTabInfoW(HWND hwnd, int iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText)
279{
280 FIXME("(%p, 0x%08x, %p, %p, 0x%08x)\n", hwnd, iItem, pati, pszItemText, cchItemText);
281 return FALSE;
282}
283
284/******************************************************************************
285 * SetDebugErrorLevel [USER32.@]
286 * Sets the minimum error level for generating debugging events
287 *
288 * PARAMS
289 * dwLevel [I] Debugging error level
290 *
291 * RETURNS
292 * Nothing.
293 */
295{
296 FIXME("(%ld): stub\n", dwLevel);
297}
298
299
300/***********************************************************************
301 * SetWindowStationUser (USER32.@)
302 */
304{
305 FIXME("(0x%08lx,0x%08lx),stub!\n",x1,x2);
306 return 1;
307}
308
309/***********************************************************************
310 * RegisterLogonProcess (USER32.@)
311 */
313{
314 FIXME("(%p,%d),stub!\n",hprocess,x);
315 return 1;
316}
317
318/***********************************************************************
319 * SetLogonNotifyWindow (USER32.@)
320 */
322{
323 FIXME("(%p,%p),stub!\n",hwinsta,hwnd);
324 return 1;
325}
326
327/***********************************************************************
328 * RegisterSystemThread (USER32.@)
329 */
331{
332 FIXME("(%08lx, %08lx)\n", flags, reserved);
333}
334
335/***********************************************************************
336 * RegisterShellHookWindow [USER32.@]
337 */
339{
340 FIXME("(%p): stub\n", hWnd);
341 return FALSE;
342}
343
344
345/***********************************************************************
346 * DeregisterShellHookWindow [USER32.@]
347 */
349{
350 FIXME("(%p): stub\n", hWnd);
351 return FALSE;
352}
353
354
355/***********************************************************************
356 * RegisterTasklist [USER32.@]
357 */
359{
360 FIXME("0x%08lx\n",x);
361 return TRUE;
362}
363
364/***********************************************************************
365 * GetAppCompatFlags (USER32.@)
366 */
368{
369 FIXME("(%p) stub\n", hTask);
370 return 0;
371}
372
373/***********************************************************************
374 * GetAppCompatFlags2 (USER32.@)
375 */
377{
378 FIXME("(%p) stub\n", hTask);
379 return 0;
380}
381
382
383/***********************************************************************
384 * AlignRects (USER32.@)
385 */
387{
388 FIXME("(%p, %ld, %ld, %ld): stub\n", rect, b, c, d);
389 if (rect)
390 FIXME("rect: %s\n", wine_dbgstr_rect(rect));
391 /* Calls OffsetRect */
392 return FALSE;
393}
394
395
396/***********************************************************************
397 * LoadLocalFonts (USER32.@)
398 */
400{
401 /* are loaded. */
402 return;
403}
404
405
406/***********************************************************************
407 * User32InitializeImmEntryTable
408 */
410{
411 HMODULE imm32 = GetModuleHandleW(L"imm32.dll");
412
413 TRACE("(%lx)\n", magic);
414
415 if (!imm32 || magic != IMM_INIT_MAGIC)
416 return FALSE;
417
418 if (imm_ime_wnd_proc)
419 return TRUE;
420
421 /* this part is not compatible with native imm32.dll */
422 imm_ime_wnd_proc = (void*)GetProcAddress(imm32, "__wine_ime_wnd_proc");
423 if (!imm_ime_wnd_proc)
424 FIXME("native imm32.dll not supported\n");
425 return TRUE;
426}
427
428/**********************************************************************
429 * WINNLSGetIMEHotkey [USER32.@]
430 *
431 */
433{
434 FIXME("hwnd %p: stub!\n", hwnd);
435 return 0; /* unknown */
436}
437
438/**********************************************************************
439 * WINNLSEnableIME [USER32.@]
440 *
441 */
443{
444 FIXME("hwnd %p enable %d: stub!\n", hwnd, enable);
445 return TRUE; /* success (?) */
446}
447
448/**********************************************************************
449 * WINNLSGetEnableStatus [USER32.@]
450 *
451 */
453{
454 FIXME("hwnd %p: stub!\n", hwnd);
455 return TRUE; /* success (?) */
456}
457
458/**********************************************************************
459 * SendIMEMessageExA [USER32.@]
460 *
461 */
463{
464 FIXME("(%p,%Ix): stub\n", hwnd, lparam);
466 return 0;
467}
468
469/**********************************************************************
470 * SendIMEMessageExW [USER32.@]
471 *
472 */
474{
475 FIXME("(%p,%Ix): stub\n", hwnd, lparam);
477 return 0;
478}
479
480/**********************************************************************
481 * DisableProcessWindowsGhosting [USER32.@]
482 *
483 */
485{
486 FIXME(": stub\n");
488 return;
489}
490
491/**********************************************************************
492 * UserHandleGrantAccess [USER32.@]
493 *
494 */
496{
497 FIXME("(%p,%p,%d): stub\n", handle, job, grant);
498 return TRUE;
499}
500#endif
501
502/**********************************************************************
503 * RegisterPowerSettingNotification [USER32.@]
504 */
506{
507 FIXME("(%p,%s,%lx): stub\n", recipient, debugstr_guid(guid), flags);
508 return (HPOWERNOTIFY)0xdeadbeef;
509}
510
511/**********************************************************************
512 * UnregisterPowerSettingNotification [USER32.@]
513 */
515{
516 FIXME("(%p): stub\n", handle);
517 return TRUE;
518}
519
520/**********************************************************************
521 * RegisterSuspendResumeNotification (USER32.@)
522 */
524{
525 FIXME("%p, %#lx: stub.\n", recipient, flags);
526 return (HPOWERNOTIFY)0xdeadbeef;
527}
528
529/**********************************************************************
530 * UnregisterSuspendResumeNotification (USER32.@)
531 */
533{
534 FIXME("%p: stub.\n", handle);
535 return TRUE;
536}
537
538/**********************************************************************
539 * IsWindowRedirectedForPrint [USER32.@]
540 */
542{
543 FIXME("(%p): stub\n", hwnd);
544 return FALSE;
545}
546
547/**********************************************************************
548 * RegisterPointerDeviceNotifications [USER32.@]
549 */
551{
552 FIXME("(%p %d): stub\n", hwnd, notifyrange);
553 return TRUE;
554}
555
556/**********************************************************************
557 * GetPointerDevices [USER32.@]
558 */
559BOOL WINAPI GetPointerDevices(UINT32 *device_count, POINTER_DEVICE_INFO *devices)
560{
561 FIXME("(%p %p): partial stub\n", device_count, devices);
562
563 if (!device_count)
564 return FALSE;
565
566 if (devices)
567 return FALSE;
568
569 *device_count = 0;
570 return TRUE;
571}
572
573/**********************************************************************
574 * RegisterTouchHitTestingWindow [USER32.@]
575 */
577{
578 FIXME("(%p %ld): stub\n", hwnd, value);
579 return TRUE;
580}
581
582/**********************************************************************
583 * EvaluateProximityToRect [USER32.@]
584 */
586 const TOUCH_HIT_TESTING_INPUT *input,
587 TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *proximity)
588{
589 FIXME("(%p,%p,%p): stub\n", box, input, proximity);
591 return FALSE;
592}
593
594/**********************************************************************
595 * PackTouchHitTestingProximityEvaluation [USER32.@]
596 */
598 const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *proximity)
599{
600 FIXME("(%p,%p): stub\n", input, proximity);
602 return 0;
603}
604
605/**********************************************************************
606 * GetPointerType [USER32.@]
607 */
608BOOL WINAPI GetPointerType(UINT32 id, POINTER_INPUT_TYPE *type)
609{
610 FIXME("(%d %p): stub\n", id, type);
611
612 if(!id || !type)
613 {
615 return FALSE;
616 }
617
618 *type = PT_MOUSE;
619 return TRUE;
620}
621
623{
624 FIXME("(%d %p): stub\n", id, info);
625
627 return FALSE;
628}
629
630#ifndef __REACTOS__
632{
633 if (!imm_ime_wnd_proc) return DefWindowProcA(hwnd, msg, wParam, lParam);
634 return imm_ime_wnd_proc( hwnd, msg, wParam, lParam, TRUE );
635}
636
638{
639 if (!imm_ime_wnd_proc) return DefWindowProcW(hwnd, msg, wParam, lParam);
640 return imm_ime_wnd_proc( hwnd, msg, wParam, lParam, FALSE );
641}
642#endif
643
644#ifdef __REACTOS__
645//wine/message.c stubs
646typedef struct tagCHANGEFILTERSTRUCT {
647 DWORD cbSize;
648 DWORD ExtStatus;
649} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;
650
651/******************************************************************
652 * ChangeWindowMessageFilter (USER32.@)
653 */
654BOOL WINAPI ChangeWindowMessageFilter( UINT message, DWORD flag )
655{
656 FIXME( "%x %08lx\n", message, flag );
657 return TRUE;
658}
659
660/******************************************************************
661 * ChangeWindowMessageFilterEx (USER32.@)
662 */
663BOOL WINAPI ChangeWindowMessageFilterEx( HWND hwnd, UINT message, DWORD action, CHANGEFILTERSTRUCT *changefilter )
664{
665 FIXME( "%p %x %ld %p\n", hwnd, message, action, changefilter );
666 return TRUE;
667}
668
669//wine/user_main.c
670/***********************************************************************
671 * ShutdownBlockReasonDestroy (USER32.@)
672 */
673
674BOOL WINAPI ShutdownBlockReasonDestroy(HWND hwnd)
675{
676 FIXME("(%p): stub\n", hwnd);
678 return FALSE;
679}
680
681/***********************************************************************
682 * ShutdownBlockReasonCreate (USER32.@)
683 */
684BOOL WINAPI ShutdownBlockReasonCreate(HWND hwnd, LPCWSTR reason)
685{
686 FIXME("(%p, %s): stub\n", hwnd, debugstr_w(reason));
688 return FALSE;
689}
690#endif
unsigned short UINT16
signed int INT32
unsigned long long UINT64
unsigned int UINT32
static const char * wine_dbgstr_rect(const RECT *prc)
Definition: atltest.h:160
#define msg(x)
Definition: auth_time.c:54
HWND hWnd
Definition: settings.c:17
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define FIXME(fmt,...)
Definition: precomp.h:53
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
DWORD HIMC
Definition: dimm.idl:75
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
HMODULE hModule
Definition: animate.c:44
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1904
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define SetLastError(x)
Definition: compat.h:752
#define GetProcAddress(x, y)
Definition: compat.h:753
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
const WCHAR * action
Definition: action.c:7509
r reserved
Definition: btrfs.c:3006
static struct all_devices * devices
Definition: dsm_ctrl.c:48
POINTL point
Definition: edittest.c:50
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
const GLubyte * c
Definition: glext.h:8905
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLbitfield flags
Definition: glext.h:7161
GLboolean enable
Definition: glext.h:11120
GLenum GLenum GLenum input
Definition: glext.h:9031
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
Definition: glfuncs.h:52
#define d
Definition: ke_i.h:81
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
static real win[4][36]
const GUID * guid
#define error(str)
Definition: mkdosfs.c:1605
static HANDLE job
Definition: process.c:77
unsigned int UINT
Definition: ndis.h:50
#define L(x)
Definition: ntvdm.h:50
#define LRESULT
Definition: ole.h:14
unsigned short USHORT
Definition: pedump.c:61
PVOID * PHPOWERNOTIFY
Definition: powrprof.h:154
PVOID HPOWERNOTIFY
Definition: powrprof.h:154
#define TRACE(s)
Definition: solgame.cpp:4
DWORD dwTime
Definition: solitaire.cpp:27
& rect
Definition: startmenu.cpp:1413
Definition: palette.c:466
Definition: devices.h:37
Definition: tftpd.h:60
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
VOID WINAPI SetDebugErrorLevel(DWORD dwLevel)
Definition: misc.c:294
BOOL WINAPI RegisterShellHookWindow(HWND hWnd)
Definition: misc.c:338
BOOL WINAPI AlignRects(LPRECT rect, DWORD b, DWORD c, DWORD d)
Definition: misc.c:386
void WINAPI RegisterSystemThread(DWORD flags, DWORD reserved)
Definition: misc.c:330
BOOL WINAPI UnregisterSuspendResumeNotification(HPOWERNOTIFY handle)
Definition: misc.c:532
UINT WINAPI WINNLSGetIMEHotkey(HWND hwnd)
Definition: misc.c:432
BOOL WINAPI GetPointerDevices(UINT32 *device_count, POINTER_DEVICE_INFO *devices)
Definition: misc.c:559
LRESULT WINAPI SendIMEMessageExA(HWND hwnd, LPARAM lparam)
Definition: misc.c:462
BOOL WINAPI GetPointerType(UINT32 id, POINTER_INPUT_TYPE *type)
Definition: misc.c:608
BOOL WINAPI GetAltTabInfoA(HWND hwnd, int iItem, PALTTABINFO pati, LPSTR pszItemText, UINT cchItemText)
Definition: misc.c:269
BOOL WINAPI RegisterTouchHitTestingWindow(HWND hwnd, ULONG value)
Definition: misc.c:576
DWORD WINAPI SetWindowStationUser(DWORD x1, DWORD x2)
Definition: misc.c:303
BOOL WINAPI GetPointerInfo(UINT32 id, POINTER_INFO *info)
Definition: misc.c:622
BOOL WINAPI IsWindowRedirectedForPrint(HWND hwnd)
Definition: misc.c:541
LRESULT WINAPI ImeWndProcA(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: misc.c:631
WORD WINAPI UserSignalProc(UINT uCode, DWORD dwThreadOrProcessID, DWORD dwFlags, HMODULE16 hModule)
Definition: misc.c:229
BOOL WINAPI User32InitializeImmEntryTable(DWORD magic)
Definition: misc.c:409
#define IMM_INIT_MAGIC
Definition: misc.c:134
DWORD WINAPI SetLogonNotifyWindow(HWINSTA hwinsta, HWND hwnd)
Definition: misc.c:321
static UINT WPARAM wparam
Definition: misc.c:135
BOOL WINAPI DeregisterShellHookWindow(HWND hWnd)
Definition: misc.c:348
DWORD WINAPI GetAppCompatFlags(HTASK hTask)
Definition: misc.c:367
VOID WINAPI LoadLocalFonts(VOID)
Definition: misc.c:399
static UINT WPARAM LPARAM lparam
Definition: misc.c:135
HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE recipient, const GUID *guid, DWORD flags)
Definition: misc.c:505
BOOL WINAPI EvaluateProximityToRect(const RECT *box, const TOUCH_HIT_TESTING_INPUT *input, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *proximity)
Definition: misc.c:585
BOOL WINAPI ImmSetActiveContext(HWND, HIMC, BOOL)
Definition: imm.c:1125
DWORD WINAPI RegisterTasklist(DWORD x)
Definition: misc.c:358
LRESULT WINAPI SendIMEMessageExW(HWND hwnd, LPARAM lparam)
Definition: misc.c:473
BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY handle)
Definition: misc.c:514
BOOL WINAPI WINNLSEnableIME(HWND hwnd, BOOL enable)
Definition: misc.c:442
BOOL WINAPI GetAltTabInfoW(HWND hwnd, int iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText)
Definition: misc.c:278
static UINT WPARAM LPARAM BOOL ansi
Definition: misc.c:135
DWORD WINAPI RegisterLogonProcess(HANDLE hprocess, BOOL x)
Definition: misc.c:312
LRESULT WINAPI PackTouchHitTestingProximityEvaluation(const TOUCH_HIT_TESTING_INPUT *input, const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *proximity)
Definition: misc.c:597
BOOL WINAPI UserHandleGrantAccess(HANDLE handle, HANDLE job, BOOL grant)
Definition: misc.c:495
VOID WINAPI DisableProcessWindowsGhosting(VOID)
Definition: misc.c:484
BOOL WINAPI RegisterPointerDeviceNotifications(HWND hwnd, BOOL notifyrange)
Definition: misc.c:550
HPOWERNOTIFY WINAPI RegisterSuspendResumeNotification(HANDLE recipient, DWORD flags)
Definition: misc.c:523
LRESULT WINAPI ImeWndProcW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: misc.c:637
BOOL WINAPI WINNLSGetEnableStatus(HWND hwnd)
Definition: misc.c:452
DWORD WINAPI GetAppCompatFlags2(HTASK hTask)
Definition: misc.c:376
void WINAPI SetLastErrorEx(DWORD error, DWORD type)
Definition: misc.c:247
#define SLE_ERROR
Definition: winbase.h:471
#define SLE_WARNING
Definition: winbase.h:473
#define SLE_MINORERROR
Definition: winbase.h:472
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3710
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3708
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
HINSTANCE16 HMODULE16
Definition: windef16.h:116
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define WINAPI
Definition: msvc.h:6
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185