ReactOS  0.4.15-dev-3440-g915569a
ntstubs.c File Reference
#include <win32k.h>
Include dependency graph for ntstubs.c:

Go to the source code of this file.

Macros

#define SERVER_TO_CLIENT(ptr)   ((PVOID)((ULONG_PTR)ptr - pUserConnect->siClient.ulSharedDelta))
 

Functions

 DBG_DEFAULT_CHANNEL (UserMisc)
 
DWORD APIENTRY NtUserAssociateInputContext (HWND hWnd, HIMC hIMC, DWORD dwFlags)
 
BOOL APIENTRY NtUserBitBltSysBmp (HDC hdc, INT nXDest, INT nYDest, INT nWidth, INT nHeight, INT nXSrc, INT nYSrc, DWORD dwRop)
 
NTSTATUS APIENTRY NtUserBuildHimcList (DWORD dwThreadId, DWORD dwCount, HIMC *phList, LPDWORD pdwCount)
 
DWORD APIENTRY NtUserDragObject (HWND hwnd1, HWND hwnd2, UINT u1, DWORD dw1, HCURSOR hc1)
 
BOOL APIENTRY NtUserDrawAnimatedRects (HWND hwnd, INT idAni, RECT *lprcFrom, RECT *lprcTo)
 
DWORD APIENTRY NtUserEvent (DWORD Unknown0)
 
BOOL APIENTRY NtUserGetAltTabInfo (HWND hwnd, INT iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText, BOOL Ansi)
 
NTSTATUS APIENTRY NtUserInitializeClientPfnArrays (PPFNCLIENT pfnClientA, PPFNCLIENT pfnClientW, PPFNCLIENTWORKER pfnClientWorker, HINSTANCE hmodUser)
 
DWORD APIENTRY NtUserInitTask (DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6, DWORD Unknown7, DWORD Unknown8, DWORD Unknown9, DWORD Unknown10, DWORD Unknown11)
 
DWORD APIENTRY NtUserMNDragLeave (VOID)
 
DWORD APIENTRY NtUserMNDragOver (DWORD Unknown0, DWORD Unknown1)
 
DWORD APIENTRY NtUserModifyUserStartupInfoFlags (DWORD Unknown0, DWORD Unknown1)
 
DWORD APIENTRY NtUserQueryUserCounters (DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
 
DWORD APIENTRY NtUserRegisterTasklist (DWORD Unknown0)
 
DWORD APIENTRY NtUserSetConsoleReserveKeys (DWORD Unknown0, DWORD Unknown1)
 
DWORD APIENTRY NtUserSetDbgTag (DWORD Unknown0, DWORD Unknown1)
 
DWORD APIENTRY NtUserSetDbgTagCount (DWORD Unknown0)
 
DWORD APIENTRY NtUserSetRipFlags (DWORD Unknown0)
 
DWORD APIENTRY NtUserDbgWin32HeapFail (DWORD Unknown0, DWORD Unknown1)
 
DWORD APIENTRY NtUserDbgWin32HeapStat (DWORD Unknown0, DWORD Unknown1)
 
BOOL APIENTRY NtUserSetSysColors (int cElements, IN CONST INT *lpaElements, IN CONST COLORREF *lpaRgbValues, FLONG Flags)
 
DWORD APIENTRY NtUserUpdateInputContext (HIMC hIMC, DWORD Unknown1, LPVOID pClientImc)
 
DWORD APIENTRY NtUserUpdateInstance (DWORD Unknown0, DWORD Unknown1, DWORD Unknown2)
 
BOOL APIENTRY NtUserUserHandleGrantAccess (IN HANDLE hUserHandle, IN HANDLE hJob, IN BOOL bGrant)
 
DWORD APIENTRY NtUserWaitForMsgAndEvent (DWORD Unknown0)
 
DWORD APIENTRY NtUserWin32PoolAllocationStats (DWORD Unknown0, DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
 
DWORD APIENTRY NtUserYieldTask (VOID)
 
HIMC APIENTRY NtUserCreateInputContext (PCLIENTIMC pClientImc)
 
DWORD APIENTRY NtUserGetRawInputBuffer (PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader)
 
DWORD APIENTRY NtUserGetRawInputData (HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader)
 
DWORD APIENTRY NtUserGetRawInputDeviceInfo (HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize)
 
DWORD APIENTRY NtUserGetRawInputDeviceList (PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize)
 
DWORD APIENTRY NtUserGetRegisteredRawInputDevices (PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize)
 
DWORD APIENTRY NtUserHardErrorControl (DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
 
BOOL NTAPI NtUserNotifyProcessCreate (HANDLE NewProcessId, HANDLE ParentThreadId, ULONG dwUnknown, ULONG CreateFlags)
 
NTSTATUS APIENTRY NtUserProcessConnect (IN HANDLE ProcessHandle, OUT PUSERCONNECT pUserConnect, IN ULONG Size)
 
NTSTATUS APIENTRY NtUserQueryInformationThread (IN HANDLE ThreadHandle, IN USERTHREADINFOCLASS ThreadInformationClass, OUT PVOID ThreadInformation, IN ULONG ThreadInformationLength)
 
DWORD APIENTRY NtUserQueryInputContext (HIMC hIMC, DWORD dwUnknown2)
 
BOOL APIENTRY NtUserRealInternalGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg, BOOL bGMSG)
 
BOOL APIENTRY NtUserRealWaitMessageEx (DWORD dwWakeMask, UINT uTimeout)
 
BOOL APIENTRY NtUserRegisterRawInputDevices (IN PCRAWINPUTDEVICE pRawInputDevices, IN UINT uiNumDevices, IN UINT cbSize)
 
DWORD APIENTRY NtUserResolveDesktopForWOW (DWORD Unknown0)
 
DWORD APIENTRY NtUserSetInformationProcess (DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4)
 
HDESK FASTCALL IntGetDesktopObjectHandle (PDESKTOP DesktopObject)
 
NTSTATUS APIENTRY NtUserSetInformationThread (IN HANDLE ThreadHandle, IN USERTHREADINFOCLASS ThreadInformationClass, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength)
 
DWORD APIENTRY NtUserSetThreadLayoutHandles (HKL hNewKL, HKL hOldKL)
 
BOOL APIENTRY NtUserSoundSentry (VOID)
 
DWORD APIENTRY NtUserTestForInteractiveUser (DWORD dwUnknown1)
 
DWORD APIENTRY NtUserRemoteConnect (DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
 
DWORD APIENTRY NtUserRemoteRedrawRectangle (DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4)
 
DWORD APIENTRY NtUserRemoteRedrawScreen (VOID)
 
DWORD APIENTRY NtUserRemoteStopScreenUpdates (VOID)
 
DWORD APIENTRY NtUserCtxDisplayIOCtl (DWORD dwUnknown1, DWORD dwUnknown2, DWORD dwUnknown3)
 
BOOL APIENTRY NtUserLockWindowUpdate (HWND hWnd)
 
DWORD APIENTRY NtUserQuerySendMessage (DWORD Unknown0)
 
BOOL APIENTRY NtUserAddClipboardFormatListener (HWND hwnd)
 
BOOL APIENTRY NtUserRemoveClipboardFormatListener (HWND hwnd)
 
BOOL APIENTRY NtUserGetUpdatedClipboardFormats (PUINT lpuiFormats, UINT cFormats, PUINT pcFormatsOut)
 
BOOL APIENTRY NtGdiMakeObjectXferable (_In_ HANDLE hHandle, _In_ DWORD dwProcessId)
 
DWORD APIENTRY NtDxEngGetRedirectionBitmap (DWORD Unknown0)
 

Macro Definition Documentation

◆ SERVER_TO_CLIENT

#define SERVER_TO_CLIENT (   ptr)    ((PVOID)((ULONG_PTR)ptr - pUserConnect->siClient.ulSharedDelta))

Function Documentation

◆ DBG_DEFAULT_CHANNEL()

DBG_DEFAULT_CHANNEL ( UserMisc  )

◆ IntGetDesktopObjectHandle()

HDESK FASTCALL IntGetDesktopObjectHandle ( PDESKTOP  DesktopObject)

Definition at line 1240 of file desktop.c.

1241 {
1242  NTSTATUS Status;
1243  HDESK hDesk;
1244 
1245  ASSERT(DesktopObject);
1246 
1248  DesktopObject,
1250  NULL,
1251  (PHANDLE)&hDesk))
1252  {
1253  Status = ObOpenObjectByPointer(DesktopObject,
1254  0,
1255  NULL,
1256  0,
1258  UserMode,
1259  (PHANDLE)&hDesk);
1260  if (!NT_SUCCESS(Status))
1261  {
1262  /* Unable to create a handle */
1263  ERR("Unable to create a desktop handle\n");
1264  return NULL;
1265  }
1266  }
1267  else
1268  {
1269  TRACE("Got handle: 0x%p\n", hDesk);
1270  }
1271 
1272  return hDesk;
1273 }
BOOLEAN NTAPI ObFindHandleForObject(IN PEPROCESS Process, IN PVOID Object, IN POBJECT_TYPE ObjectType, IN POBJECT_HANDLE_INFORMATION HandleInformation, OUT PHANDLE Handle)
Definition: obhandle.c:2852
LONG NTSTATUS
Definition: precomp.h:26
POBJECT_TYPE ExDesktopObjectType
Definition: win32k.c:22
NTSTATUS NTAPI ObOpenObjectByPointer(IN PVOID Object, IN ULONG HandleAttributes, IN PACCESS_STATE PassedAccessState, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PHANDLE Handle)
Definition: obhandle.c:2738
#define PsGetCurrentProcess
Definition: psfuncs.h:17
Status
Definition: gdiplustypes.h:24
#define TRACE(s)
Definition: solgame.cpp:4
#define ASSERT(a)
Definition: mode.c:44
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
#define ERR(fmt,...)
Definition: debug.h:110
#define NULL
Definition: types.h:112

Referenced by NtUserGetThreadDesktop(), and NtUserSetInformationThread().

◆ NtDxEngGetRedirectionBitmap()

DWORD APIENTRY NtDxEngGetRedirectionBitmap ( DWORD  Unknown0)

Definition at line 1019 of file ntstubs.c.

1021 {
1022  STUB;
1023  return 0;
1024 }
#define STUB
Definition: kernel32.h:27

◆ NtGdiMakeObjectXferable()

BOOL APIENTRY NtGdiMakeObjectXferable ( _In_ HANDLE  hHandle,
_In_ DWORD  dwProcessId 
)

Definition at line 1009 of file ntstubs.c.

1012 {
1013  STUB;
1014  return 0;
1015 }
#define STUB
Definition: kernel32.h:27

◆ NtUserAddClipboardFormatListener()

BOOL APIENTRY NtUserAddClipboardFormatListener ( HWND  hwnd)

Definition at line 980 of file ntstubs.c.

983 {
984  STUB;
985  return FALSE;
986 }
#define FALSE
Definition: types.h:117
#define STUB
Definition: kernel32.h:27

◆ NtUserAssociateInputContext()

DWORD APIENTRY NtUserAssociateInputContext ( HWND  hWnd,
HIMC  hIMC,
DWORD  dwFlags 
)

Definition at line 14 of file ntstubs.c.

15 {
16  STUB
17  return 0;
18 }
#define STUB
Definition: kernel32.h:27

Referenced by ImmAssociateContext(), and ImmAssociateContextEx().

◆ NtUserBitBltSysBmp()

BOOL APIENTRY NtUserBitBltSysBmp ( HDC  hdc,
INT  nXDest,
INT  nYDest,
INT  nWidth,
INT  nHeight,
INT  nXSrc,
INT  nYSrc,
DWORD  dwRop 
)

Definition at line 25 of file ntstubs.c.

34 {
35  BOOL Ret = FALSE;
37 
38  Ret = NtGdiBitBlt( hdc,
39  nXDest,
40  nYDest,
41  nWidth,
42  nHeight,
43  hSystemBM,
44  nXSrc,
45  nYSrc,
46  dwRop,
47  0,
48  0);
49 
50  UserLeave();
51  return Ret;
52 }
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
__kernel_entry W32KAPI BOOL APIENTRY NtGdiBitBlt(_In_ HDC hdcDst, _In_ INT x, _In_ INT y, _In_ INT cx, _In_ INT cy, _In_opt_ HDC hdcSrc, _In_ INT xSrc, _In_ INT ySrc, _In_ DWORD rop4, _In_ DWORD crBackColor, _In_ FLONG fl)
VOID FASTCALL UserEnterExclusive(VOID)
Definition: ntuser.c:245
HDC hSystemBM
Definition: stockobj.c:52
HDC hdc
Definition: main.c:9
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253

◆ NtUserBuildHimcList()

NTSTATUS APIENTRY NtUserBuildHimcList ( DWORD  dwThreadId,
DWORD  dwCount,
HIMC phList,
LPDWORD  pdwCount 
)

Definition at line 56 of file ntstubs.c.

57 {
58  STUB;
60 }
return STATUS_NOT_IMPLEMENTED
#define STUB
Definition: kernel32.h:27

Referenced by Imm32AllocAndBuildHimcList().

◆ NtUserCreateInputContext()

HIMC APIENTRY NtUserCreateInputContext ( PCLIENTIMC  pClientImc)

Definition at line 421 of file ntstubs.c.

422 {
423  STUB;
424  return NULL;
425 }
#define STUB
Definition: kernel32.h:27
#define NULL
Definition: types.h:112

Referenced by ImmCreateContext().

◆ NtUserCtxDisplayIOCtl()

DWORD APIENTRY NtUserCtxDisplayIOCtl ( DWORD  dwUnknown1,
DWORD  dwUnknown2,
DWORD  dwUnknown3 
)

Definition at line 953 of file ntstubs.c.

957 {
958  STUB;
959  return 0;
960 }
#define STUB
Definition: kernel32.h:27

◆ NtUserDbgWin32HeapFail()

DWORD APIENTRY NtUserDbgWin32HeapFail ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 282 of file ntstubs.c.

285 {
286  STUB
287 
288  return 0;
289 }
#define STUB
Definition: kernel32.h:27

◆ NtUserDbgWin32HeapStat()

DWORD APIENTRY NtUserDbgWin32HeapStat ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 293 of file ntstubs.c.

296 {
297  STUB
298 
299  return 0;
300 }
#define STUB
Definition: kernel32.h:27

◆ NtUserDragObject()

DWORD APIENTRY NtUserDragObject ( HWND  hwnd1,
HWND  hwnd2,
UINT  u1,
DWORD  dw1,
HCURSOR  hc1 
)

Definition at line 64 of file ntstubs.c.

71 {
72  STUB
73 
74  return 0;
75 }
#define STUB
Definition: kernel32.h:27

Referenced by DragObject().

◆ NtUserDrawAnimatedRects()

BOOL APIENTRY NtUserDrawAnimatedRects ( HWND  hwnd,
INT  idAni,
RECT lprcFrom,
RECT lprcTo 
)

Definition at line 79 of file ntstubs.c.

84 {
85  STUB
86 
87  return 0;
88 }
#define STUB
Definition: kernel32.h:27

Referenced by DrawAnimatedRects().

◆ NtUserEvent()

DWORD APIENTRY NtUserEvent ( DWORD  Unknown0)

Definition at line 92 of file ntstubs.c.

94 {
95  STUB
96 
97  return 0;
98 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetAltTabInfo()

BOOL APIENTRY NtUserGetAltTabInfo ( HWND  hwnd,
INT  iItem,
PALTTABINFO  pati,
LPWSTR  pszItemText,
UINT  cchItemText,
BOOL  Ansi 
)

Definition at line 102 of file ntstubs.c.

109 {
110  STUB
111 
112  return 0;
113 }
#define STUB
Definition: kernel32.h:27

Referenced by GetAltTabInfoA(), and GetAltTabInfoW().

◆ NtUserGetRawInputBuffer()

DWORD APIENTRY NtUserGetRawInputBuffer ( PRAWINPUT  pData,
PUINT  pcbSize,
UINT  cbSizeHeader 
)

Definition at line 429 of file ntstubs.c.

433 {
434  STUB;
435  return 0;
436 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetRawInputData()

DWORD APIENTRY NtUserGetRawInputData ( HRAWINPUT  hRawInput,
UINT  uiCommand,
LPVOID  pData,
PUINT  pcbSize,
UINT  cbSizeHeader 
)

Definition at line 440 of file ntstubs.c.

446 {
447  STUB;
448  return 0;
449 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetRawInputDeviceInfo()

DWORD APIENTRY NtUserGetRawInputDeviceInfo ( HANDLE  hDevice,
UINT  uiCommand,
LPVOID  pData,
PUINT  pcbSize 
)

Definition at line 453 of file ntstubs.c.

459 {
460  STUB;
461  return 0;
462 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetRawInputDeviceList()

DWORD APIENTRY NtUserGetRawInputDeviceList ( PRAWINPUTDEVICELIST  pRawInputDeviceList,
PUINT  puiNumDevices,
UINT  cbSize 
)

Definition at line 466 of file ntstubs.c.

470 {
471  STUB;
472  return 0;
473 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetRegisteredRawInputDevices()

DWORD APIENTRY NtUserGetRegisteredRawInputDevices ( PRAWINPUTDEVICE  pRawInputDevices,
PUINT  puiNumDevices,
UINT  cbSize 
)

Definition at line 477 of file ntstubs.c.

481 {
482  STUB;
483  return 0;
484 }
#define STUB
Definition: kernel32.h:27

◆ NtUserGetUpdatedClipboardFormats()

BOOL APIENTRY NtUserGetUpdatedClipboardFormats ( PUINT  lpuiFormats,
UINT  cFormats,
PUINT  pcFormatsOut 
)

Definition at line 996 of file ntstubs.c.

1001 {
1002  STUB;
1003  return FALSE;
1004 }
#define FALSE
Definition: types.h:117
#define STUB
Definition: kernel32.h:27

◆ NtUserHardErrorControl()

DWORD APIENTRY NtUserHardErrorControl ( DWORD  dwUnknown1,
DWORD  dwUnknown2,
DWORD  dwUnknown3 
)

Definition at line 488 of file ntstubs.c.

492 {
493  STUB;
494  return 0;
495 }
#define STUB
Definition: kernel32.h:27

◆ NtUserInitializeClientPfnArrays()

NTSTATUS APIENTRY NtUserInitializeClientPfnArrays ( PPFNCLIENT  pfnClientA,
PPFNCLIENT  pfnClientW,
PPFNCLIENTWORKER  pfnClientWorker,
HINSTANCE  hmodUser 
)

Definition at line 117 of file ntstubs.c.

122 {
124  TRACE("Enter NtUserInitializeClientPfnArrays User32 0x%p\n", hmodUser);
125 
126  if (ClientPfnInit) return Status;
127 
129 
130  _SEH2_TRY
131  {
132  ProbeForRead( pfnClientA, sizeof(PFNCLIENT), 1);
133  ProbeForRead( pfnClientW, sizeof(PFNCLIENT), 1);
138 
142 
143  hModClient = hmodUser;
145  }
147  {
149  }
150  _SEH2_END
151 
152  if (!NT_SUCCESS(Status))
153  {
154  ERR("Failed reading Client Pfns from user space.\n");
156  }
157 
158  UserLeave();
159  return Status;
160 }
#define TRUE
Definition: types.h:120
LONG NTSTATUS
Definition: precomp.h:26
PSERVERINFO gpsi
Definition: main.c:27
BOOL ClientPfnInit
Definition: ntuser.c:26
_SEH2_TRY
Definition: create.c:4226
PFNCLIENT apfnClientW
Definition: ntuser.h:1019
VOID FASTCALL UserEnterExclusive(VOID)
Definition: ntuser.c:245
Status
Definition: gdiplustypes.h:24
#define TRACE(s)
Definition: solgame.cpp:4
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
PFNCLIENT apfnClientA
Definition: ntuser.h:1018
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
WNDPROC aStoCidPfn[FNID_NUMSERVERPROC]
Definition: ntuser.h:1016
VOID FASTCALL SetLastNtError(NTSTATUS Status)
Definition: error.c:36
static PFNCLIENT pfnClientA
Definition: regcontrol.c:15
#define ERR(fmt,...)
Definition: debug.h:110
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253
_SEH2_END
Definition: create.c:4400
static PFNCLIENTWORKER pfnClientWorker
Definition: regcontrol.c:17
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
static PFNCLIENT pfnClientW
Definition: regcontrol.c:16
HINSTANCE hModClient
Definition: ntuser.c:25
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define STATUS_SUCCESS
Definition: shellext.h:65
PFNCLIENTWORKER apfnClientWorker
Definition: ntuser.h:1020
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165

Referenced by RegisterClientPFN().

◆ NtUserInitTask()

DWORD APIENTRY NtUserInitTask ( DWORD  Unknown0,
DWORD  Unknown1,
DWORD  Unknown2,
DWORD  Unknown3,
DWORD  Unknown4,
DWORD  Unknown5,
DWORD  Unknown6,
DWORD  Unknown7,
DWORD  Unknown8,
DWORD  Unknown9,
DWORD  Unknown10,
DWORD  Unknown11 
)

Definition at line 164 of file ntstubs.c.

177 {
178  STUB
179 
180  return 0;
181 }
#define STUB
Definition: kernel32.h:27

◆ NtUserLockWindowUpdate()

BOOL APIENTRY NtUserLockWindowUpdate ( HWND  hWnd)

Definition at line 966 of file ntstubs.c.

967 {
968  STUB;
969  return FALSE;
970 }
#define FALSE
Definition: types.h:117
#define STUB
Definition: kernel32.h:27

Referenced by LockWindowUpdate().

◆ NtUserMNDragLeave()

DWORD APIENTRY NtUserMNDragLeave ( VOID  )

Definition at line 185 of file ntstubs.c.

186 {
187  STUB
188 
189  return 0;
190 }
#define STUB
Definition: kernel32.h:27

◆ NtUserMNDragOver()

DWORD APIENTRY NtUserMNDragOver ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 194 of file ntstubs.c.

197 {
198  STUB
199 
200  return 0;
201 }
#define STUB
Definition: kernel32.h:27

◆ NtUserModifyUserStartupInfoFlags()

DWORD APIENTRY NtUserModifyUserStartupInfoFlags ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 205 of file ntstubs.c.

208 {
209  STUB
210 
211  return 0;
212 }
#define STUB
Definition: kernel32.h:27

◆ NtUserNotifyProcessCreate()

BOOL NTAPI NtUserNotifyProcessCreate ( HANDLE  NewProcessId,
HANDLE  ParentThreadId,
ULONG  dwUnknown,
ULONG  CreateFlags 
)

Definition at line 499 of file ntstubs.c.

504 {
505  // STUB;
506  TRACE("NtUserNotifyProcessCreate is UNIMPLEMENTED\n");
507  return FALSE;
508 }
#define FALSE
Definition: types.h:117
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by CSR_SERVER_DLL_INIT().

◆ NtUserProcessConnect()

NTSTATUS APIENTRY NtUserProcessConnect ( IN HANDLE  ProcessHandle,
OUT PUSERCONNECT  pUserConnect,
IN ULONG  Size 
)

Definition at line 512 of file ntstubs.c.

516 {
519  PPROCESSINFO W32Process;
520 
521  TRACE("NtUserProcessConnect\n");
522 
523  if (pUserConnect == NULL ||
524  Size != sizeof(*pUserConnect))
525  {
526  return STATUS_UNSUCCESSFUL;
527  }
528 
529  /* Get the process object the user handle was referencing */
532  *PsProcessType,
533  UserMode,
534  (PVOID*)&Process,
535  NULL);
536  if (!NT_SUCCESS(Status)) return Status;
537 
538  UserEnterShared();
539 
540  /* Get Win32 process information */
541  W32Process = PsGetProcessWin32Process(Process);
542 
543  _SEH2_TRY
544  {
545  UINT i;
546 
547  // FIXME: Check that pUserConnect->ulVersion == USER_VERSION;
548  // FIXME: Check the value of pUserConnect->dwDispatchCount.
549 
550  ProbeForWrite(pUserConnect, sizeof(*pUserConnect), sizeof(PVOID));
551 
552  // FIXME: Instead of assuming that the mapping of the heap desktop
553  // also holds there, we **MUST** create and map instead the shared
554  // section! Its client base must be stored in W32Process->pClientBase.
555  // What is currently done (ReactOS-specific only), is that within the
556  // IntUserHeapCommitRoutine()/MapGlobalUserHeap() routines we assume
557  // it's going to be also called early, so that we manually add a very
558  // first memory mapping that corresponds to the "global user heap",
559  // and that we use instead of a actual win32 "shared USER section"
560  // (see slide 29 of https://paper.bobylive.com/Meeting_Papers/BlackHat/USA-2011/BH_US_11_Mandt_win32k_Slides.pdf )
561 
562  pUserConnect->siClient.ulSharedDelta =
563  (ULONG_PTR)W32Process->HeapMappings.KernelMapping -
564  (ULONG_PTR)W32Process->HeapMappings.UserMapping;
565 
566 #define SERVER_TO_CLIENT(ptr) \
567  ((PVOID)((ULONG_PTR)ptr - pUserConnect->siClient.ulSharedDelta))
568 
569  ASSERT(gpsi);
571 
572  pUserConnect->siClient.psi = SERVER_TO_CLIENT(gpsi);
573  pUserConnect->siClient.aheList = SERVER_TO_CLIENT(gHandleTable);
574  pUserConnect->siClient.pDispInfo = NULL;
575 
576  // NOTE: kernel server should also have a SHAREDINFO gSharedInfo;
577  // FIXME: These USER window-proc data should be used somehow!
578 
579  pUserConnect->siClient.DefWindowMsgs.maxMsgs = 0;
580  pUserConnect->siClient.DefWindowMsgs.abMsgs = NULL;
581  pUserConnect->siClient.DefWindowSpecMsgs.maxMsgs = 0;
582  pUserConnect->siClient.DefWindowSpecMsgs.abMsgs = NULL;
583 
584  for (i = 0; i < ARRAYSIZE(pUserConnect->siClient.awmControl); ++i)
585  {
586  pUserConnect->siClient.awmControl[i].maxMsgs = 0;
587  pUserConnect->siClient.awmControl[i].abMsgs = NULL;
588  }
589 #undef SERVER_TO_CLIENT
590  }
592  {
594  }
595  _SEH2_END;
596 
597  if (!NT_SUCCESS(Status))
599 
600  UserLeave();
601 
602  /* Dereference the process object */
604 
605  return Status;
606 }
VOID FASTCALL UserEnterShared(VOID)
Definition: ntuser.c:239
PVOID NTAPI PsGetProcessWin32Process(PEPROCESS Process)
Definition: process.c:1193
LONG NTSTATUS
Definition: precomp.h:26
#define SERVER_TO_CLIENT(ptr)
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
PSERVERINFO gpsi
Definition: main.c:27
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:143
_SEH2_TRY
Definition: create.c:4226
uint32_t ULONG_PTR
Definition: typedefs.h:65
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)
Definition: obref.c:494
W32HEAP_USER_MAPPING HeapMappings
Definition: win32.h:288
Status
Definition: gdiplustypes.h:24
#define TRACE(s)
Definition: solgame.cpp:4
#define ASSERT(a)
Definition: mode.c:44
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define ObDereferenceObject
Definition: obfuncs.h:203
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
VOID FASTCALL SetLastNtError(NTSTATUS Status)
Definition: error.c:36
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253
_SEH2_END
Definition: create.c:4400
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 const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned int UINT
Definition: ndis.h:50
#define NULL
Definition: types.h:112
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
#define ULONG_PTR
Definition: config.h:101
#define PROCESS_VM_OPERATION
Definition: pstypes.h:160
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
PUSER_HANDLE_TABLE gHandleTable
Definition: object.c:13
POBJECT_TYPE PsProcessType
Definition: process.c:20

Referenced by ClientThreadSetupHelper(), Init(), START_TEST(), and UserClientConnect().

◆ NtUserQueryInformationThread()

NTSTATUS APIENTRY NtUserQueryInformationThread ( IN HANDLE  ThreadHandle,
IN USERTHREADINFOCLASS  ThreadInformationClass,
OUT PVOID  ThreadInformation,
IN ULONG  ThreadInformationLength 
)

Definition at line 610 of file ntstubs.c.

614 {
617 
618  /* Allow only CSRSS to perform this operation */
620  return STATUS_ACCESS_DENIED;
621 
623 
624  /* Get the Thread */
625  Status = ObReferenceObjectByHandle(ThreadHandle,
627  *PsThreadType,
628  UserMode,
629  (PVOID)&Thread,
630  NULL);
631  if (!NT_SUCCESS(Status)) goto Quit;
632 
633  switch (ThreadInformationClass)
634  {
635  default:
636  {
637  STUB;
639  break;
640  }
641  }
642 
644 
645 Quit:
646  UserLeave();
647  return Status;
648 }
PEPROCESS gpepCSRSS
Definition: csr.c:15
LONG NTSTATUS
Definition: precomp.h:26
return STATUS_NOT_IMPLEMENTED
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)
Definition: obref.c:494
_In_ THREADINFOCLASS ThreadInformationClass
Definition: psfuncs.h:832
#define PsGetCurrentProcess
Definition: psfuncs.h:17
VOID FASTCALL UserEnterExclusive(VOID)
Definition: ntuser.c:245
Status
Definition: gdiplustypes.h:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ObDereferenceObject
Definition: obfuncs.h:203
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2652
#define STATUS_ACCESS_DENIED
Definition: udferr_usr.h:145
POBJECT_TYPE PsThreadType
Definition: thread.c:20
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253
#define STUB
Definition: kernel32.h:27
#define NULL
Definition: types.h:112
#define THREAD_QUERY_INFORMATION
Definition: pstypes.h:149
#define STATUS_SUCCESS
Definition: shellext.h:65

◆ NtUserQueryInputContext()

DWORD APIENTRY NtUserQueryInputContext ( HIMC  hIMC,
DWORD  dwUnknown2 
)

Definition at line 652 of file ntstubs.c.

655 {
656  TRACE("NtUserQueryInputContext(%p, 0x%lX)\n", hIMC, dwUnknown2);
657  return 0;
658 }
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by Imm32CheckImcProcess(), Imm32GetImeMenuItemsAW(), Imm32IsCrossThreadAccess(), Imm32LockIMCEx(), Imm32NotifyAction(), and Imm32SetCompositionStringAW().

◆ NtUserQuerySendMessage()

DWORD APIENTRY NtUserQuerySendMessage ( DWORD  Unknown0)

Definition at line 973 of file ntstubs.c.

974 {
975  STUB;
976 
977  return 0;
978 }
#define STUB
Definition: kernel32.h:27

◆ NtUserQueryUserCounters()

DWORD APIENTRY NtUserQueryUserCounters ( DWORD  Unknown0,
DWORD  Unknown1,
DWORD  Unknown2,
DWORD  Unknown3,
DWORD  Unknown4 
)

Definition at line 216 of file ntstubs.c.

222 {
223  STUB
224 
225  return 0;
226 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRealInternalGetMessage()

BOOL APIENTRY NtUserRealInternalGetMessage ( LPMSG  lpMsg,
HWND  hWnd,
UINT  wMsgFilterMin,
UINT  wMsgFilterMax,
UINT  wRemoveMsg,
BOOL  bGMSG 
)

Definition at line 662 of file ntstubs.c.

669 {
670  STUB;
671  return 0;
672 }
#define STUB
Definition: kernel32.h:27

Referenced by ResetMessagePumpHook().

◆ NtUserRealWaitMessageEx()

BOOL APIENTRY NtUserRealWaitMessageEx ( DWORD  dwWakeMask,
UINT  uTimeout 
)

Definition at line 676 of file ntstubs.c.

679 {
680  STUB;
681  return 0;
682 }
#define STUB
Definition: kernel32.h:27

Referenced by ResetMessagePumpHook().

◆ NtUserRegisterRawInputDevices()

BOOL APIENTRY NtUserRegisterRawInputDevices ( IN PCRAWINPUTDEVICE  pRawInputDevices,
IN UINT  uiNumDevices,
IN UINT  cbSize 
)

Definition at line 686 of file ntstubs.c.

690 {
691  STUB;
692  return 0;
693 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRegisterTasklist()

DWORD APIENTRY NtUserRegisterTasklist ( DWORD  Unknown0)

Definition at line 230 of file ntstubs.c.

232 {
233  STUB
234 
235  return 0;
236 }
#define STUB
Definition: kernel32.h:27

Referenced by RegisterTasklist().

◆ NtUserRemoteConnect()

DWORD APIENTRY NtUserRemoteConnect ( DWORD  dwUnknown1,
DWORD  dwUnknown2,
DWORD  dwUnknown3 
)

Definition at line 914 of file ntstubs.c.

918 {
919  STUB;
920  return 0;
921 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRemoteRedrawRectangle()

DWORD APIENTRY NtUserRemoteRedrawRectangle ( DWORD  dwUnknown1,
DWORD  dwUnknown2,
DWORD  dwUnknown3,
DWORD  dwUnknown4 
)

Definition at line 925 of file ntstubs.c.

930 {
931  STUB;
932  return 0;
933 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRemoteRedrawScreen()

DWORD APIENTRY NtUserRemoteRedrawScreen ( VOID  )

Definition at line 937 of file ntstubs.c.

938 {
939  STUB;
940  return 0;
941 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRemoteStopScreenUpdates()

DWORD APIENTRY NtUserRemoteStopScreenUpdates ( VOID  )

Definition at line 945 of file ntstubs.c.

946 {
947  STUB;
948  return 0;
949 }
#define STUB
Definition: kernel32.h:27

◆ NtUserRemoveClipboardFormatListener()

BOOL APIENTRY NtUserRemoveClipboardFormatListener ( HWND  hwnd)

Definition at line 988 of file ntstubs.c.

991 {
992  STUB;
993  return FALSE;
994 }
#define FALSE
Definition: types.h:117
#define STUB
Definition: kernel32.h:27

◆ NtUserResolveDesktopForWOW()

DWORD APIENTRY NtUserResolveDesktopForWOW ( DWORD  Unknown0)

Definition at line 696 of file ntstubs.c.

697 {
698  STUB
699  return 0;
700 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetConsoleReserveKeys()

DWORD APIENTRY NtUserSetConsoleReserveKeys ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 240 of file ntstubs.c.

243 {
244  STUB
245 
246  return 0;
247 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetDbgTag()

DWORD APIENTRY NtUserSetDbgTag ( DWORD  Unknown0,
DWORD  Unknown1 
)

Definition at line 251 of file ntstubs.c.

254 {
255  STUB;
256 
257  return 0;
258 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetDbgTagCount()

DWORD APIENTRY NtUserSetDbgTagCount ( DWORD  Unknown0)

Definition at line 262 of file ntstubs.c.

264 {
265  STUB;
266 
267  return 0;
268 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetInformationProcess()

DWORD APIENTRY NtUserSetInformationProcess ( DWORD  dwUnknown1,
DWORD  dwUnknown2,
DWORD  dwUnknown3,
DWORD  dwUnknown4 
)

Definition at line 704 of file ntstubs.c.

709 {
710  STUB;
711  return 0;
712 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetInformationThread()

NTSTATUS APIENTRY NtUserSetInformationThread ( IN HANDLE  ThreadHandle,
IN USERTHREADINFOCLASS  ThreadInformationClass,
IN PVOID  ThreadInformation,
IN ULONG  ThreadInformationLength 
)

Definition at line 719 of file ntstubs.c.

723 {
726 
727  /* Allow only CSRSS to perform this operation */
729  return STATUS_ACCESS_DENIED;
730 
732 
733  /* Get the Thread */
734  Status = ObReferenceObjectByHandle(ThreadHandle,
736  *PsThreadType,
737  UserMode,
738  (PVOID)&Thread,
739  NULL);
740  if (!NT_SUCCESS(Status)) goto Quit;
741 
742  switch (ThreadInformationClass)
743  {
745  {
746  ULONG CapturedFlags = 0;
747 
748  TRACE("Shutdown initiated\n");
749 
750  if (ThreadInformationLength != sizeof(ULONG))
751  {
753  break;
754  }
755 
756  /* Capture the caller value */
758  _SEH2_TRY
759  {
760  ProbeForWrite(ThreadInformation, sizeof(CapturedFlags), sizeof(PVOID));
761  CapturedFlags = *(PULONG)ThreadInformation;
762  }
764  {
766  _SEH2_YIELD(break);
767  }
768  _SEH2_END;
769 
770  Status = UserInitiateShutdown(Thread, &CapturedFlags);
771 
772  /* Return the modified value to the caller */
773  _SEH2_TRY
774  {
775  *(PULONG)ThreadInformation = CapturedFlags;
776  }
778  {
780  }
781  _SEH2_END;
782 
783  break;
784  }
785 
787  {
788  NTSTATUS ShutdownStatus;
789 
790  TRACE("Shutdown ended\n");
791 
792  if (ThreadInformationLength != sizeof(ShutdownStatus))
793  {
795  break;
796  }
797 
798  /* Capture the caller value */
800  _SEH2_TRY
801  {
802  ProbeForRead(ThreadInformation, sizeof(ShutdownStatus), sizeof(PVOID));
803  ShutdownStatus = *(NTSTATUS*)ThreadInformation;
804  }
806  {
808  _SEH2_YIELD(break);
809  }
810  _SEH2_END;
811 
812  Status = UserEndShutdown(Thread, ShutdownStatus);
813  break;
814  }
815 
817  {
818  HANDLE CsrPortHandle;
819 
820 
821  TRACE("Set CSR API Port for Win32k\n");
822  if (ThreadInformationLength != sizeof(CsrPortHandle))
823  {
825  break;
826  }
827 
828  /* Capture the caller value */
830  _SEH2_TRY
831  {
832  ProbeForRead(ThreadInformation, sizeof(CsrPortHandle), sizeof(PVOID));
833  CsrPortHandle = *(PHANDLE)ThreadInformation;
834  }
836  {
838  _SEH2_YIELD(break);
839  }
840  _SEH2_END;
841 
842  Status = InitCsrApiPort(CsrPortHandle);
843  break;
844  }
845 
847  {
848  HDESK hdesk;
849 
850  if (Thread != PsGetCurrentThread())
851  {
853  break;
854  }
855 
857  IntSetThreadDesktop(hdesk, FALSE);
858 
859  break;
860  }
862  {
863  if (Thread != PsGetCurrentThread())
864  {
866  break;
867  }
868 
870  break;
871  }
872  default:
873  {
874  STUB;
876  break;
877  }
878  }
879 
881 
882 Quit:
883  UserLeave();
884  return Status;
885 }
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
#define PsGetCurrentThread()
Definition: env_spec_w32.h:81
PDESKTOP gpdeskInputDesktop
Definition: desktop.c:35
PEPROCESS gpepCSRSS
Definition: csr.c:15
#define THREAD_SET_INFORMATION
Definition: nt_native.h:1337
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS UserEndShutdown(IN PETHREAD Thread, IN NTSTATUS ShutdownStatus)
Definition: shutdown.c:290
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:143
NTSTATUS InitCsrApiPort(IN HANDLE CsrPortHandle)
Definition: csr.c:38
_SEH2_TRY
Definition: create.c:4226
return STATUS_NOT_IMPLEMENTED
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)
Definition: obref.c:494
HDESK FASTCALL IntGetDesktopObjectHandle(PDESKTOP DesktopObject)
Definition: desktop.c:1240
#define FALSE
Definition: types.h:117
_In_ THREADINFOCLASS ThreadInformationClass
Definition: psfuncs.h:832
#define PsGetCurrentProcess
Definition: psfuncs.h:17
VOID FASTCALL UserEnterExclusive(VOID)
Definition: ntuser.c:245
Status
Definition: gdiplustypes.h:24
#define TRACE(s)
Definition: solgame.cpp:4
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define ObDereferenceObject
Definition: obfuncs.h:203
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2652
#define STATUS_ACCESS_DENIED
Definition: udferr_usr.h:145
POBJECT_TYPE PsThreadType
Definition: thread.c:20
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253
_SEH2_END
Definition: create.c:4400
#define STUB
Definition: kernel32.h:27
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
Definition: psfuncs.h:835
BOOL IntSetThreadDesktop(IN HDESK hDesktop, IN BOOL FreeOnFailure)
Definition: desktop.c:3219
unsigned int * PULONG
Definition: retypes.h:1
#define NULL
Definition: types.h:112
NTSTATUS UserInitiateShutdown(IN PETHREAD Thread, IN OUT PULONG pFlags)
Definition: shutdown.c:166
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define STATUS_SUCCESS
Definition: shellext.h:65
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
#define _SEH2_YIELD(__stmt)
Definition: pseh2_64.h:168

Referenced by CSR_API(), EndNowThreadProc(), UserClientConnect(), UserExitReactOS(), and UserServerHardError().

◆ NtUserSetRipFlags()

DWORD APIENTRY NtUserSetRipFlags ( DWORD  Unknown0)

Definition at line 272 of file ntstubs.c.

274 {
275  STUB;
276 
277  return 0;
278 }
#define STUB
Definition: kernel32.h:27

◆ NtUserSetSysColors()

BOOL APIENTRY NtUserSetSysColors ( int  cElements,
IN CONST INT lpaElements,
IN CONST COLORREF lpaRgbValues,
FLONG  Flags 
)

Definition at line 304 of file ntstubs.c.

309 {
310  DWORD Ret = TRUE;
311 
312  if (cElements == 0)
313  return TRUE;
314 
315  /* We need this check to prevent overflow later */
316  if ((ULONG)cElements >= 0x40000000)
317  {
319  return FALSE;
320  }
321 
323 
324  _SEH2_TRY
325  {
326  ProbeForRead(lpaElements, cElements * sizeof(INT), 1);
327  ProbeForRead(lpaRgbValues, cElements * sizeof(COLORREF), 1);
328 
329  IntSetSysColors(cElements, lpaElements, lpaRgbValues);
330  }
332  {
334  Ret = FALSE;
335  }
336  _SEH2_END;
337 
338  if (Ret)
339  {
341 
343  }
344 
345  UserLeave();
346  return Ret;
347 }
#define WM_SYSCOLORCHANGE
Definition: winuser.h:1613
#define TRUE
Definition: types.h:120
BOOL FASTCALL UserSendNotifyMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:2037
int32_t INT
Definition: typedefs.h:58
_SEH2_TRY
Definition: create.c:4226
#define ERROR_NOACCESS
Definition: winerror.h:578
#define FALSE
Definition: types.h:117
VOID FASTCALL UserEnterExclusive(VOID)
Definition: ntuser.c:245
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
DWORD COLORREF
Definition: windef.h:300
unsigned long DWORD
Definition: ntddk_ex.h:95
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
VOID APIENTRY UserRedrawDesktop(VOID)
Definition: desktop.c:1566
VOID FASTCALL SetLastNtError(NTSTATUS Status)
Definition: error.c:36
VOID FASTCALL UserLeave(VOID)
Definition: ntuser.c:253
_SEH2_END
Definition: create.c:4400
VOID FASTCALL IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors)
Definition: stockobj.c:300
unsigned int ULONG
Definition: retypes.h:1
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
#define HWND_BROADCAST
Definition: winuser.h:1194
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
Definition: error.c:27

Referenced by SetSysColors().

◆ NtUserSetThreadLayoutHandles()

DWORD APIENTRY NtUserSetThreadLayoutHandles ( HKL  hNewKL,
HKL  hOldKL 
)

Definition at line 889 of file ntstubs.c.

890 {
891  STUB;
892  return 0;
893 }
#define STUB
Definition: kernel32.h:27

Referenced by ImmActivateLayout().

◆ NtUserSoundSentry()

BOOL APIENTRY NtUserSoundSentry ( VOID  )

Definition at line 897 of file ntstubs.c.

898 {
899  STUB;
900  return 0;
901 }
#define STUB
Definition: kernel32.h:27

◆ NtUserTestForInteractiveUser()

DWORD APIENTRY NtUserTestForInteractiveUser ( DWORD  dwUnknown1)

Definition at line 905 of file ntstubs.c.

907 {
908  STUB;
909  return 0;
910 }
#define STUB
Definition: kernel32.h:27

◆ NtUserUpdateInputContext()

DWORD APIENTRY NtUserUpdateInputContext ( HIMC  hIMC,
DWORD  Unknown1,
LPVOID  pClientImc 
)

Definition at line 351 of file ntstubs.c.

355 {
356  STUB
357 
358  return 0;
359 }
#define STUB
Definition: kernel32.h:27

Referenced by ImmLockClientImc().

◆ NtUserUpdateInstance()

DWORD APIENTRY NtUserUpdateInstance ( DWORD  Unknown0,
DWORD  Unknown1,
DWORD  Unknown2 
)

Definition at line 363 of file ntstubs.c.

367 {
368  STUB
369 
370  return 0;
371 }
#define STUB
Definition: kernel32.h:27

◆ NtUserUserHandleGrantAccess()

BOOL APIENTRY NtUserUserHandleGrantAccess ( IN HANDLE  hUserHandle,
IN HANDLE  hJob,
IN BOOL  bGrant 
)

Definition at line 375 of file ntstubs.c.

379 {
380  STUB
381 
382  return 0;
383 }
#define STUB
Definition: kernel32.h:27

◆ NtUserWaitForMsgAndEvent()

DWORD APIENTRY NtUserWaitForMsgAndEvent ( DWORD  Unknown0)

Definition at line 387 of file ntstubs.c.

389 {
390  STUB
391 
392  return 0;
393 }
#define STUB
Definition: kernel32.h:27

◆ NtUserWin32PoolAllocationStats()

DWORD APIENTRY NtUserWin32PoolAllocationStats ( DWORD  Unknown0,
DWORD  Unknown1,
DWORD  Unknown2,
DWORD  Unknown3,
DWORD  Unknown4,
DWORD  Unknown5 
)

Definition at line 397 of file ntstubs.c.

404 {
405  STUB
406 
407  return 0;
408 }
#define STUB
Definition: kernel32.h:27

◆ NtUserYieldTask()

DWORD APIENTRY NtUserYieldTask ( VOID  )

Definition at line 412 of file ntstubs.c.

413 {
414  STUB
415 
416  return 0;
417 }
#define STUB
Definition: kernel32.h:27