2001-06-12 17:51:51 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS user32.dll
|
|
|
|
* FILE: include/user32.h
|
|
|
|
* PURPOSE: Global user32 definitions
|
|
|
|
*/
|
2005-06-19 18:06:53 +00:00
|
|
|
|
|
|
|
#ifndef USER32_H
|
|
|
|
#define USER32_H
|
|
|
|
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <limits.h>
|
2001-06-12 17:51:51 +00:00
|
|
|
#include <windows.h>
|
2005-06-19 18:06:53 +00:00
|
|
|
#include <windowsx.h>
|
2004-08-15 21:36:30 +00:00
|
|
|
#define NTOS_MODE_USER
|
|
|
|
#include <ntos.h>
|
2001-06-12 17:51:51 +00:00
|
|
|
#include <win32k/win32k.h>
|
2005-06-19 18:06:53 +00:00
|
|
|
#include <win32k/callback.h>
|
|
|
|
#include "accel.h"
|
|
|
|
#include "cursor.h"
|
|
|
|
#ifndef __WINE__
|
|
|
|
#include "debug.h"
|
|
|
|
#endif
|
|
|
|
#include "draw.h"
|
|
|
|
#include "menu.h"
|
|
|
|
#include "message.h"
|
2005-06-19 17:27:44 +00:00
|
|
|
#include "regcontrol.h"
|
2005-06-19 18:06:53 +00:00
|
|
|
#include "resource.h"
|
|
|
|
#include "scroll.h"
|
|
|
|
#include "strpool.h"
|
|
|
|
#include "window.h"
|
|
|
|
#include "winpos.h"
|
|
|
|
#include "winsta.h"
|
2005-06-19 17:27:44 +00:00
|
|
|
|
2004-05-16 19:31:09 +00:00
|
|
|
extern HINSTANCE User32Instance;
|
|
|
|
|
2003-08-01 18:45:35 +00:00
|
|
|
typedef struct _USER32_THREAD_DATA
|
|
|
|
{
|
|
|
|
MSG LastMessage;
|
2003-10-09 06:13:05 +00:00
|
|
|
HKL KeyboardLayoutHandle;
|
2003-08-01 18:45:35 +00:00
|
|
|
} USER32_THREAD_DATA, *PUSER32_THREAD_DATA;
|
|
|
|
|
2003-08-22 07:51:32 +00:00
|
|
|
PUSER32_THREAD_DATA User32GetThreadData();
|
|
|
|
|
2003-10-17 20:31:56 +00:00
|
|
|
/* a copy of this structure is in subsys/win32k/include/caret.h */
|
|
|
|
typedef struct _THRDCARETINFO
|
|
|
|
{
|
|
|
|
HWND hWnd;
|
|
|
|
HBITMAP Bitmap;
|
|
|
|
POINT Pos;
|
|
|
|
SIZE Size;
|
|
|
|
BYTE Visible;
|
|
|
|
BYTE Showing;
|
|
|
|
} THRDCARETINFO, *PTHRDCARETINFO;
|
|
|
|
|
2004-12-12 01:40:39 +00:00
|
|
|
void InitStockObjects(void);
|
2003-12-28 17:22:16 +00:00
|
|
|
VOID CreateFrameBrushes(VOID);
|
2003-08-22 07:51:32 +00:00
|
|
|
VOID DeleteFrameBrushes(VOID);
|
2003-10-17 20:31:56 +00:00
|
|
|
void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
|
2003-08-29 00:24:42 +00:00
|
|
|
|
2004-12-25 22:59:10 +00:00
|
|
|
#define NtUserMsqSetWakeMask(dwWaitMask) \
|
|
|
|
(HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_MSQSETWAKEMASK)
|
|
|
|
|
|
|
|
#define NtUserMsqClearWakeMask() \
|
|
|
|
NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK)
|
|
|
|
|
2004-12-12 01:40:39 +00:00
|
|
|
LONG WINAPI RegCloseKey(HKEY);
|
|
|
|
LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
|
|
|
|
LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
|
|
|
|
|
|
|
|
#ifdef __USE_W32API
|
|
|
|
NTSTATUS STDCALL ZwCallbackReturn(PVOID Result,
|
|
|
|
ULONG ResultLength,
|
|
|
|
NTSTATUS Status);
|
|
|
|
#endif
|
|
|
|
|
2004-05-01 18:06:59 +00:00
|
|
|
#define NtUserAnyPopup() \
|
|
|
|
(BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
|
2004-01-26 08:44:51 +00:00
|
|
|
|
|
|
|
#define NtUserValidateRgn(hWnd, hRgn) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)
|
|
|
|
|
|
|
|
#define NtUserSetWindowContextHelpId(hWnd, dwContextHelpId) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)hwnd, dwContextHelpId, TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID)
|
|
|
|
|
|
|
|
#define NtUserSetCaretPos(X, Y) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)X, (DWORD)Y, TWOPARAM_ROUTINE_SETCARETPOS)
|
|
|
|
|
|
|
|
#define NtUserSetGUIThreadHandle(field, hwnd) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)field, (DWORD)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE)
|
|
|
|
|
|
|
|
#define NtUserSetMenuItemRect(menu, mir) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)mir, TWOPARAM_ROUTINE_SETMENUITEMRECT)
|
|
|
|
|
2004-01-26 12:46:16 +00:00
|
|
|
#define NtUserSetMenuBarHeight(menu, height) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT)
|
|
|
|
|
2004-04-02 20:51:08 +00:00
|
|
|
#define NtUserGetWindowInfo(hwnd, pwi) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)hwnd, (DWORD)pwi, TWOPARAM_ROUTINE_GETWINDOWINFO)
|
|
|
|
|
2004-05-01 16:43:15 +00:00
|
|
|
#define NtUserRegisterLogonProcess(hproc, x) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)hproc, (DWORD)x, TWOPARAM_ROUTINE_REGISTERLOGONPROC)
|
|
|
|
|
2004-12-12 01:40:39 +00:00
|
|
|
#define NtUserGetSysColorBrushes(HBrushes, count) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)(HBrushes), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES)
|
|
|
|
|
|
|
|
#define NtUserGetSysColorPens(HPens, count) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)(HPens), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORPENS)
|
|
|
|
|
|
|
|
#define NtUserGetSysColors(ColorRefs, count) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORS)
|
|
|
|
|
|
|
|
#define NtUserSetSysColors(ColorRefs, count) \
|
|
|
|
(BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_SETSYSCOLORS)
|
|
|
|
|
2004-01-26 08:44:51 +00:00
|
|
|
#define NtUserSetCaretBlinkTime(uMSeconds) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME)
|
|
|
|
|
|
|
|
#define NtUserEnumClipboardFormats(format) \
|
|
|
|
(UINT)NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS)
|
|
|
|
|
|
|
|
#define NtUserWindowFromDC(hDC) \
|
|
|
|
(HWND)NtUserCallOneParam((DWORD)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC)
|
|
|
|
|
|
|
|
#define NtUserSwitchCaretShowing(CaretInfo) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING)
|
|
|
|
|
|
|
|
#define NtUserSwapMouseButton(fSwap) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON)
|
|
|
|
|
|
|
|
#define NtUserGetMenu(hWnd) \
|
|
|
|
(HMENU)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_GETMENU)
|
|
|
|
|
|
|
|
#define NtUserSetMessageExtraInfo(lParam) \
|
|
|
|
(LPARAM)NtUserCallOneParam((DWORD)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO)
|
|
|
|
|
|
|
|
#define NtUserIsWindowUnicode(hWnd) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWUNICODE)
|
|
|
|
|
|
|
|
#define NtUserGetWindowContextHelpId(hwnd) \
|
|
|
|
NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID)
|
|
|
|
|
2004-04-02 22:16:09 +00:00
|
|
|
#define NtUserGetWindowInstance(hwnd) \
|
|
|
|
(HINSTANCE)NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWINDOWINSTANCE)
|
|
|
|
|
2004-05-01 09:31:59 +00:00
|
|
|
#define NtUserGetCursorPos(lpPoint) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION)
|
|
|
|
|
2004-05-02 17:25:21 +00:00
|
|
|
#define NtUserIsWindowInDestroy(hWnd) \
|
|
|
|
(BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWINDESTROY)
|
|
|
|
|
2004-05-21 10:09:31 +00:00
|
|
|
#define NtUserEnableProcessWindowGhosting(bEnable) \
|
|
|
|
NtUserCallOneParam((DWORD)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING)
|
|
|
|
|
2005-06-19 18:06:53 +00:00
|
|
|
#endif /* USER32_H */
|