86 Status = RegReadUserSetting(
L"Keyboard Layout\\Toggle",
L"Layout Hotkey",
REG_SZ, &dwValue,
sizeof(dwValue));
89 dwValue =
atoi((
char *)&dwValue);
90 TRACE(
"Layout Hotkey %d\n",dwValue);
108 L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Nls\\Language");
140 TRACE(
"Language ID = %x\n",Ret);
154 if (!pwndParent) pwndParent = pwnd;
189 HBRUSH hBrush =
NULL;
214 HBRUSH hBrush =
NULL;
238 TRACE(
"Enter NtUserGetThreadState\n");
275 TRACE(
"THREADSTATE_INSENDMESSAGE\n");
284 if (
Message->CompletionCallback)
285 ret = ISMEX_CALLBACK;
343 TRACE(
"Leave NtUserGetThreadState, ret=%lu\n",
ret);
382 TRACE(
"Enter NtUserGetDoubleClickTime\n");
388 TRACE(
"Leave NtUserGetDoubleClickTime, ret=%u\n",
Result);
408 TRACE(
"Enter NtUserGetGUIThreadInfo\n");
450 MsgQueue =
Desktop->ActiveMessageQueue;
519 TRACE(
"Leave NtUserGetGUIThreadInfo, ret=%u\n",_ret_);
537 TRACE(
"Enter NtUserGetGuiResources\n");
565 Ret = (
DWORD)W32Process->GDIHandleCount;
570 Ret = (
DWORD)W32Process->UserHandleCount;
585 TRACE(
"Leave NtUserGetGuiResources, ret=%lu\n",_ret_);
596 TRACE(
"SWS %x\n",bit);
617 TRACE(
"CWS %x\n",bit);
654 if(Dest->
Length > 0 && Src)
700 if(Dest->
Length > 0 && Src)
LRESULT FASTCALL IntDefWindowProc(PWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi)
#define ERROR_INVALID_PARAMETER
PUSER_MESSAGE_QUEUE gpqForeground
HBRUSH APIENTRY NtUserGetControlColor(HWND hwndParent, HWND hwnd, HDC hdc, UINT CtlMsg)
VOID FASTCALL UserEnterShared(VOID)
PVOID NTAPI PsGetThreadWin32Thread(IN PETHREAD Thread)
HWND FASTCALL IntGetThreadFocusWindow(VOID)
BOOL NTAPI GreIsHandleValid(HGDIOBJ hobj)
struct tagIMC * spDefaultImc
#define OBJ_CASE_INSENSITIVE
#define PsGetCurrentThread()
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
#define PROCESS_QUERY_INFORMATION
PTHREADINFO GetW32ThreadInfo(VOID)
#define STATUS_INVALID_PARAMETER
HWND FASTCALL UserGetActiveWindow(VOID)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define EngGetTickCount32()
NTSTATUS NTAPI PsLookupThreadByThreadId(IN HANDLE ThreadId, OUT PETHREAD *Thread)
DWORD APIENTRY NtUserSetThreadState(DWORD Set, DWORD Flags)
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
LPARAM FASTCALL MsqGetMessageExtraInfo(VOID)
struct _PROCESSINFO * PPROCESSINFO
_Out_ PBOOLEAN CopyOnOpen
IN PVOID IN PVOID IN USHORT IN USHORT Size
_In_ BOOL _In_ HANDLE hProcess
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
#define MmCopyToCaller(x, y, z)
#define GetWin32ClientInfo()
#define GUI_CARETBLINKING
PPROCESSINFO GetW32ProcessInfo(VOID)
#define OBJ_KERNEL_HANDLE
PUSER_MESSAGE_QUEUE FASTCALL IntGetFocusMessageQueue(VOID)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
PCLIENTTHREADINFO pClientThreadInfo
PTHREADINFO FASTCALL IntTID2PTI(HANDLE id)
PEPROCESS __stdcall PsGetThreadProcess(_In_ PETHREAD Thread)
HBRUSH FASTCALL GetControlColor(PWND pwndParent, PWND pwnd, HDC hdc, UINT CtlMsg)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define ERROR_ACCESS_DENIED
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
DBG_DEFAULT_CHANNEL(UserMisc)
DWORD APIENTRY IntGetQueueStatus(DWORD Changes)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
#define WM_CTLCOLORMSGBOX
#define TIF_GUITHREADINITIALIZED
struct _WND * spwndDefaultIme
struct _CLIENTTHREADINFO * pcti
static CHAR Desktop[MAX_PATH]
PWND FASTCALL UserGetWindowObject(HWND hWnd)
void NTAPI UserDbgPreServiceHook(ULONG ulSyscallId, PULONG_PTR pulArguments)
VOID FASTCALL UserEnterExclusive(VOID)
#define UserHMGetHandle(obj)
struct _THREADINFO * PTHREADINFO
_Must_inspect_result_ _In_ ULONG Flags
VOID FASTCALL IntSetWindowState(PWND pWnd, UINT Flag)
#define NT_SUCCESS(StatCode)
#define EXCEPTION_EXECUTE_HANDLER
_Out_ PBOOLEAN _Out_ PBOOLEAN _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
#define ObDereferenceObject
#define DECLARE_RETURN(type)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
void UserDbgAssertThreadInfo(BOOL showCaller)
struct _CLIENTINFO * pClientInfo
UINT APIENTRY NtUserGetDoubleClickTime(VOID)
#define STATUS_UNSUCCESSFUL
#define ExAllocatePoolWithTag(hernya, size, tag)
ULONG_PTR NTAPI UserDbgPostServiceHook(ULONG ulSyscallId, ULONG_PTR ulResult)
LRESULT FASTCALL co_IntSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
int __cdecl _scwprintf(const wchar_t *format,...)
HANDLE NTAPI PsGetThreadId(IN PETHREAD Thread)
PACCESS_TOKEN NTAPI PsReferencePrimaryToken(PEPROCESS Process)
struct tagKL * KeyboardLayout
VOID FASTCALL SetLastNtError(NTSTATUS Status)
HWND APIENTRY IntGetCapture(VOID)
PACCESS_TOKEN NTAPI PsReferenceImpersonationToken(IN PETHREAD Thread, OUT PBOOLEAN CopyOnOpen, OUT PBOOLEAN EffectiveOnly, OUT PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
struct _USER_MESSAGE_QUEUE * MessageQueue
VOID FASTCALL UserLeave(VOID)
_Check_return_ _CRTIMP int __cdecl _vscwprintf(_In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList)
DWORD_PTR APIENTRY NtUserGetThreadState(DWORD Routine)
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
static __inline ULONG_PTR DesktopHeapGetUserDelta(VOID)
NTSTATUS GetProcessLuid(IN PETHREAD Thread OPTIONAL, IN PEPROCESS Process OPTIONAL, OUT PLUID Luid)
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
PWND FASTCALL IntGetParent(PWND Wnd)
NTSTATUS NTAPI SeQueryAuthenticationIdToken(_In_ PACCESS_TOKEN Token, _Out_ PLUID LogonId)
Queries the authentication ID of an access token.
HANDLE NTAPI PsGetCurrentProcessId(VOID)
PVOID NTAPI PsGetCurrentProcessWin32Process(VOID)
BOOL APIENTRY NtUserGetGUIThreadInfo(DWORD idThread, LPGUITHREADINFO lpgui)
HBRUSH APIENTRY NtUserGetControlBrush(HWND hwnd, HDC hdc, UINT ctlType)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToInteger(PUNICODE_STRING String, ULONG Base, PULONG Value)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define InitializeObjectAttributes(p, n, a, r, s)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
#define _SEH2_EXCEPT(...)
NTSTATUS FASTCALL IntSafeCopyUnicodeString(PUNICODE_STRING Dest, PUNICODE_STRING Source)
USHORT FASTCALL UserGetLanguageID(VOID)
VOID FASTCALL IntClearWindowState(PWND pWnd, UINT Flag)
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ BOOLEAN EffectiveOnly
BOOLEAN NTAPI PsIsThreadTerminating(IN PETHREAD Thread)
struct _DESKTOPINFO * pDeskInfo
struct _PROCESSINFO * ppi
#define ExFreePoolWithTag(_P, _T)
DWORD FASTCALL UserGetLanguageToggle(VOID)
HBRUSH FASTCALL GetControlBrush(PWND pwnd, HDC hdc, UINT ctlType)
NTSTATUS FASTCALL IntSafeCopyUnicodeStringTerminateNULL(PUNICODE_STRING Dest, PUNICODE_STRING Source)
#define QF_FMENUSTATUSBREAK
DWORD APIENTRY NtUserGetGuiResources(HANDLE hProcess, DWORD uiFlags)
POBJECT_TYPE PsProcessType
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
PULONG MinorVersion OPTIONAL