25#define REG2METRIC(reg) (reg > 0 ? reg : ((-(reg) * dpi + 720) / 1440))
26#define METRIC2REG(met) (-((((met) * 1440)- 0) / dpi))
28#define REQ_INTERACTIVE_WINSTA(err) \
30 if (GetW32ProcessInfo()->prpwinsta != InputWindowStation) \
32 if (GetW32ProcessInfo()->prpwinsta == NULL) \
34 ERR("NtUserSystemParametersInfo called without active window station, and it requires an interactive one\n"); \
38 ERR("NtUserSystemParametersInfo requires interactive window station (current is '%wZ')\n", \
39 &(OBJECT_HEADER_TO_NAME_INFO(OBJECT_TO_OBJECT_HEADER(GetW32ProcessInfo()->prpwinsta))->Name)); \
41 EngSetLastError(err); \
78#if (_WIN32_WINNT >= 0x0600)
79static const WCHAR* VAL_SCRLLCHARS =
L"WheelScrollChars";
85static const WCHAR*
KEY_MDALIGN =
L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows";
132 cbSize =
sizeof(awcBuffer);
133 if (!RegReadUserSetting(pwszKey, pwszValue,
REG_SZ, awcBuffer, cbSize))
137 return _wtoi(awcBuffer);
157 RtlZeroMemory(&szApplicationName,
sizeof(szApplicationName));
162 if (szApplicationName[0] == 0)
return 0;
180 TRACE(
"Loaded metric setting '%S', iValue=%d(reg:%d), ret=%d(reg:%d)\n",
197 *plfOut = *plfDefault;
235 TRACE(
"Enter SpiUpdatePerUserSystemParameters\n");
260 gspv.
ncm.cbSize =
sizeof(NONCLIENTMETRICSW);
270#if (WINVER >= 0x0600)
287 gspv.
im.cbSize =
sizeof(ICONMETRICSW);
306#if (_WIN32_WINNT >= 0x0600)
380 TRACE(
"Enter NtUserUpdatePerUserSystemParameters\n");
390 TRACE(
"Leave NtUserUpdatePerUserSystemParameters, returning %d\n", bResult);
403 RegWriteUserSetting(pwszKey,
414 RegWriteUserSetting(pwszKey,
427 _itow(iValue, awcBuffer, 10);
428 RegWriteUserSetting(pwszKey,
483 ERR(
"SpiMemCopy failed, pvDst=%p, pvSrc=%p, bProtect=%d\n", pvDst, pvSrc, bProtect);
534 SpiStoreSz(pwszKey, pwszValue, bValue ?
L"Yes" :
L"No");
613 WARN(
"Failed to read UserPreferencesMask setting\n");
618 dwRegMask = bValue ? (dwRegMask | dwMask) : (dwRegMask & ~dwMask);
648 ULONG ulTile, ulStyle;
699 ERR(
"RtlDosPathNameToNtPathName_U failed\n");
707 ERR(
"UserLoadImage failed\n");
730 TRACE(
"SpiSetWallpaper: ulTile=%lu, ulStyle=%lu\n", ulTile, ulStyle);
733 if (ulTile && !ulStyle)
737 else if (!ulTile && ulStyle)
743 else if (ulStyle == 6)
747 else if (ulStyle == 10)
763 if(hOldBitmap !=
NULL)
782 PWND pwndDesktop, pwndCurrent;
794 for (
i = 0; ahwnd[
i];
i++)
844 uiParam =
max(uiParam, 1);
854 ERR(
"SPI_LANGDRIVER is unimplemented\n");
883 ERR(
"SPI_SETDESKPATTERN is unimplemented\n");
897 uiParam =
max(uiParam, 32);
905 uiParam =
max(uiParam, 32);
951 case SPI_GETDRAGFULLWINDOWS:
954 case SPI_SETDRAGFULLWINDOWS:
957 case SPI_GETNONCLIENTMETRICS:
962 case SPI_SETNONCLIENTMETRICS:
964 LPNONCLIENTMETRICSW
metrics = (LPNONCLIENTMETRICSW)pvParam;
967 metrics->cbSize =
sizeof(NONCLIENTMETRICSW);
983#if (WINVER >= 0x0600)
999 case SPI_GETMINIMIZEDMETRICS:
1004 case SPI_SETMINIMIZEDMETRICS:
1030 case SPI_GETICONMETRICS:
1035 case SPI_SETICONMETRICS:
1037 LPICONMETRICSW
metrics = (LPICONMETRICSW)pvParam;
1040 metrics->cbSize =
sizeof(ICONMETRICSW);
1055 case SPI_GETWORKAREA:
1065 case SPI_SETWORKAREA:
1068 RECTL rcWorkArea, rcIntersect;
1101 case SPI_SETPENWINDOWS:
1102 ERR(
"SPI_SETPENWINDOWS is unimplemented\n");
1109 if (uiParam != 0 && uiParam !=
sizeof(
FILTERKEYS))
1122 if (uiParam != 0 && uiParam !=
sizeof(
FILTERKEYS))
1142 if (uiParam != 0 && uiParam !=
sizeof(
TOGGLEKEYS))
1155 if (uiParam != 0 && uiParam !=
sizeof(
TOGGLEKEYS))
1175 if (uiParam != 0 && uiParam !=
sizeof(
MOUSEKEYS))
1188 if (uiParam != 0 && uiParam !=
sizeof(
MOUSEKEYS))
1216 if (uiParam != 0 && uiParam !=
sizeof(
STICKYKEYS))
1229 if (uiParam != 0 && uiParam !=
sizeof(
STICKYKEYS))
1282 case SPI_GETSERIALKEYS:
1286 if (uiParam != 0 && uiParam !=
sizeof(
SERIALKEYS))
1295 case SPI_SETSERIALKEYS:
1299 if (uiParam != 0 && uiParam !=
sizeof(
SERIALKEYS))
1348 case SPI_GETHIGHCONTRAST:
1361 case SPI_SETHIGHCONTRAST:
1381 case SPI_GETKEYBOARDPREF:
1384 case SPI_SETKEYBOARDPREF:
1387 case SPI_GETSCREENREADER:
1390 case SPI_SETSCREENREADER:
1393 case SPI_GETANIMATION:
1396 case SPI_SETANIMATION:
1405 case SPI_GETFONTSMOOTHING:
1408 case SPI_SETFONTSMOOTHING:
1416 case SPI_SETDRAGWIDTH:
1419 case SPI_SETDRAGHEIGHT:
1422 case SPI_SETHANDHELD:
1425 case SPI_GETLOWPOWERTIMEOUT:
1428 case SPI_GETPOWEROFFTIMEOUT:
1431 case SPI_SETLOWPOWERTIMEOUT:
1434 case SPI_SETPOWEROFFTIMEOUT:
1437 case SPI_GETLOWPOWERACTIVE:
1440 case SPI_GETPOWEROFFACTIVE:
1443 case SPI_SETLOWPOWERACTIVE:
1446 case SPI_SETPOWEROFFACTIVE:
1449 case SPI_SETCURSORS:
1450 ERR(
"SPI_SETCURSORS is unimplemented\n");
1454 ERR(
"SPI_SETICONS is unimplemented\n");
1457 case SPI_GETDEFAULTINPUTLANG:
1463 case SPI_SETDEFAULTINPUTLANG:
1474 case SPI_SETLANGTOGGLE:
1479 case SPI_GETWINDOWSEXTENSION:
1480 ERR(
"SPI_GETWINDOWSEXTENSION is unimplemented\n");
1483 case SPI_GETMOUSETRAILS:
1486 case SPI_SETMOUSETRAILS:
1489 case SPI_GETSNAPTODEFBUTTON:
1492 case SPI_SETSNAPTODEFBUTTON:
1495 case SPI_GETMOUSEHOVERWIDTH:
1498 case SPI_SETMOUSEHOVERWIDTH:
1501 case SPI_GETMOUSEHOVERHEIGHT:
1504 case SPI_SETMOUSEHOVERHEIGHT:
1507 case SPI_GETMOUSEHOVERTIME:
1510 case SPI_SETMOUSEHOVERTIME:
1520 case SPI_GETWHEELSCROLLLINES:
1526 case SPI_GETMENUSHOWDELAY:
1529 case SPI_SETMENUSHOWDELAY:
1532#if (_WIN32_WINNT >= 0x0600)
1536 case SPI_SETWHEELSCROLLCHARS:
1539 case SPI_GETSHOWIMEUI:
1542 case SPI_SETSHOWIMEUI:
1545 case SPI_GETMOUSESPEED:
1548 case SPI_SETMOUSESPEED:
1557 case SPI_GETSCREENSAVERRUNNING:
1560 case SPI_SETSCREENSAVERRUNNING:
1564#if(WINVER >= 0x0600)
1565 case SPI_GETAUDIODESCRIPTION:
1566 return SpiGet(pvParam, &
gspv.audiodescription,
sizeof(AUDIODESCRIPTION),
fl);
1568 case SPI_SETAUDIODESCRIPTION:
1569 ERR(
"SPI_SETAUDIODESCRIPTION is unimplemented\n");
1572 case SPI_GETSCREENSAVESECURE:
1575 case SPI_SETSCREENSAVESECURE:
1579 case SPI_GETACTIVEWINDOWTRACKING:
1582 case SPI_SETACTIVEWINDOWTRACKING:
1585 case SPI_GETMENUANIMATION:
1588 case SPI_SETMENUANIMATION:
1591 case SPI_GETCOMBOBOXANIMATION:
1594 case SPI_SETCOMBOBOXANIMATION:
1597 case SPI_GETLISTBOXSMOOTHSCROLLING:
1600 case SPI_SETLISTBOXSMOOTHSCROLLING:
1603 case SPI_GETGRADIENTCAPTIONS:
1616 case SPI_SETGRADIENTCAPTIONS:
1619 case SPI_GETKEYBOARDCUES:
1622 case SPI_SETKEYBOARDCUES:
1625 case SPI_GETACTIVEWNDTRKZORDER:
1628 case SPI_SETACTIVEWNDTRKZORDER:
1631 case SPI_GETHOTTRACKING:
1634 case SPI_SETHOTTRACKING:
1637 case SPI_GETMENUFADE:
1640 case SPI_SETMENUFADE:
1643 case SPI_GETSELECTIONFADE:
1646 case SPI_SETSELECTIONFADE:
1649 case SPI_GETTOOLTIPANIMATION:
1652 case SPI_SETTOOLTIPANIMATION:
1655 case SPI_GETTOOLTIPFADE:
1658 case SPI_SETTOOLTIPFADE:
1661 case SPI_GETCURSORSHADOW:
1664 case SPI_SETCURSORSHADOW:
1668 case SPI_GETUIEFFECTS:
1671 case SPI_SETUIEFFECTS:
1674 case SPI_GETMOUSESONAR:
1677 case SPI_SETMOUSESONAR:
1680 case SPI_GETMOUSECLICKLOCK:
1683 case SPI_SETMOUSECLICKLOCK:
1687 case SPI_GETMOUSEVANISH:
1690 case SPI_SETMOUSEVANISH:
1693 case SPI_GETFLATMENU:
1696 case SPI_SETFLATMENU:
1699 case SPI_GETDROPSHADOW:
1702 case SPI_SETDROPSHADOW:
1705 case SPI_GETBLOCKSENDINPUTRESETS:
1708 case SPI_SETBLOCKSENDINPUTRESETS:
1711#if(_WIN32_WINNT >= 0x0600)
1712 case SPI_GETDISABLEOVERLAPPEDCONTENT:
1715 case SPI_SETDISABLEOVERLAPPEDCONTENT:
1718 case SPI_GETCLIENTAREAANIMATION:
1721 case SPI_SETCLIENTAREAANIMATION:
1724 case SPI_GETCLEARTYPE:
1727 case SPI_SETCLEARTYPE:
1730 case SPI_GETSPEECHRECOGNITION:
1733 case SPI_SETSPEECHRECOGNITION:
1737 case SPI_GETFOREGROUNDLOCKTIMEOUT:
1740 case SPI_SETFOREGROUNDLOCKTIMEOUT:
1743 case SPI_GETACTIVEWNDTRKTIMEOUT:
1746 case SPI_SETACTIVEWNDTRKTIMEOUT:
1749 case SPI_GETFOREGROUNDFLASHCOUNT:
1752 case SPI_SETFOREGROUNDFLASHCOUNT:
1755 case SPI_GETCARETWIDTH:
1758 case SPI_SETCARETWIDTH:
1761 case SPI_GETMOUSECLICKLOCKTIME:
1764 case SPI_SETMOUSECLICKLOCKTIME:
1767 case SPI_GETFONTSMOOTHINGTYPE:
1770 case SPI_SETFONTSMOOTHINGTYPE:
1773 case SPI_GETFONTSMOOTHINGCONTRAST:
1776 case SPI_SETFONTSMOOTHINGCONTRAST:
1779 case SPI_GETFOCUSBORDERWIDTH:
1782 case SPI_SETFOCUSBORDERWIDTH:
1785 case SPI_GETFOCUSBORDERHEIGHT:
1788 case SPI_SETFOCUSBORDERHEIGHT:
1791 case SPI_GETFONTSMOOTHINGORIENTATION:
1794 case SPI_SETFONTSMOOTHINGORIENTATION:
1797 case SPI_GETWINARRANGING:
1799 case SPI_SETWINARRANGING:
1802 case SPI_GETDOCKMOVING:
1804 case SPI_SETDOCKMOVING:
1832 ERR(
"Undocumented SPI value %x is unimplemented\n", uiAction);
1836 ERR(
"Invalid SPI value: %u\n", uiAction);
1862 case SPI_GETDRAGFULLWINDOWS:
1864 case SPI_GETKEYBOARDPREF:
1865 case SPI_GETSCREENREADER:
1866 case SPI_GETFONTSMOOTHING:
1867 case SPI_GETLOWPOWERTIMEOUT:
1868 case SPI_GETPOWEROFFTIMEOUT:
1869 case SPI_GETLOWPOWERACTIVE:
1870 case SPI_GETPOWEROFFACTIVE:
1871 case SPI_GETMOUSETRAILS:
1872 case SPI_GETSNAPTODEFBUTTON:
1873 case SPI_GETMOUSEHOVERWIDTH:
1874 case SPI_GETMOUSEHOVERHEIGHT:
1875 case SPI_GETMOUSEHOVERTIME:
1876 case SPI_GETWHEELSCROLLLINES:
1877 case SPI_GETMENUSHOWDELAY:
1878#if (_WIN32_WINNT >= 0x0600)
1881 case SPI_GETSHOWIMEUI:
1882 case SPI_GETMOUSESPEED:
1883 case SPI_GETSCREENSAVERRUNNING:
1884#if(WINVER >= 0x0600)
1885 case SPI_GETSCREENSAVESECURE:
1887 case SPI_GETACTIVEWINDOWTRACKING:
1888 case SPI_GETMENUANIMATION:
1889 case SPI_GETCOMBOBOXANIMATION:
1890 case SPI_GETLISTBOXSMOOTHSCROLLING:
1891 case SPI_GETGRADIENTCAPTIONS:
1892 case SPI_GETKEYBOARDCUES:
1893 case SPI_GETACTIVEWNDTRKZORDER:
1894 case SPI_GETHOTTRACKING:
1895 case SPI_GETMENUFADE:
1896 case SPI_GETSELECTIONFADE:
1897 case SPI_GETTOOLTIPANIMATION:
1898 case SPI_GETTOOLTIPFADE:
1899 case SPI_GETCURSORSHADOW:
1900 case SPI_GETUIEFFECTS:
1901 case SPI_GETMOUSESONAR:
1902 case SPI_GETMOUSECLICKLOCK:
1903 case SPI_GETMOUSEVANISH:
1904 case SPI_GETFLATMENU:
1905 case SPI_GETDROPSHADOW:
1906 case SPI_GETBLOCKSENDINPUTRESETS:
1907#if(_WIN32_WINNT >= 0x0600)
1908 case SPI_GETDISABLEOVERLAPPEDCONTENT:
1909 case SPI_GETCLIENTAREAANIMATION:
1910 case SPI_GETCLEARTYPE:
1911 case SPI_GETSPEECHRECOGNITION:
1913 case SPI_GETFOREGROUNDLOCKTIMEOUT:
1914 case SPI_GETACTIVEWNDTRKTIMEOUT:
1915 case SPI_GETFOREGROUNDFLASHCOUNT:
1916 case SPI_GETCARETWIDTH:
1917 case SPI_GETMOUSECLICKLOCKTIME:
1918 case SPI_GETFONTSMOOTHINGTYPE:
1919 case SPI_GETFONTSMOOTHINGCONTRAST:
1920 case SPI_GETFOCUSBORDERWIDTH:
1921 case SPI_GETFOCUSBORDERHEIGHT:
1922 case SPI_GETFONTSMOOTHINGORIENTATION:
1923 cbSize =
sizeof(
INT);
1928 if (pvParam) cbSize =
sizeof(
INT);
1932 cbSize = 3 *
sizeof(
INT);
1943 case SPI_GETNONCLIENTMETRICS:
1944 cbSize =
sizeof(NONCLIENTMETRICSW);
1947 case SPI_GETMINIMIZEDMETRICS:
1951 case SPI_GETICONMETRICS:
1952 cbSize =
sizeof(ICONMETRICSW);
1955 case SPI_GETWORKAREA:
1956 cbSize =
sizeof(
RECTL);
1979 case SPI_GETSERIALKEYS:
1987 case SPI_GETHIGHCONTRAST:
1991 case SPI_GETANIMATION:
1995 case SPI_GETDEFAULTINPUTLANG:
1996 cbSize =
sizeof(
HKL);
1999#if(WINVER >= 0x0600)
2000 case SPI_GETAUDIODESCRIPTION:
2001 cbSize =
sizeof(AUDIODESCRIPTION);
2006 cbSize = 3 *
sizeof(
INT);
2015 case SPI_SETNONCLIENTMETRICS:
2016 cbSize =
sizeof(NONCLIENTMETRICSW);
2020 case SPI_SETMINIMIZEDMETRICS:
2025 case SPI_SETICONMETRICS:
2026 cbSize =
sizeof(ICONMETRICSW);
2030 case SPI_SETWORKAREA:
2031 cbSize =
sizeof(
RECTL);
2060 case SPI_SETSERIALKEYS:
2070 case SPI_SETHIGHCONTRAST:
2075 case SPI_SETANIMATION:
2080 case SPI_SETDEFAULTINPUTLANG:
2081 cbSize =
sizeof(
HKL);
2085 case SPI_SETMOUSESPEED:
2086 cbSize =
sizeof(
INT);
2137 ERR(
"UserSystemParametersInfo called without active window station.\n");
2149 ulResult =
SpiGetSet(uiAction, uiParam, pvParam, fWinIni);
2187 TRACE(
"Enter NtUserSystemParametersInfo(%u)\n", uiAction);
2197 TRACE(
"Leave NtUserSystemParametersInfo, returning %d\n", bResult);
@ UPM_ACTIVEWINDOWTRACKING
@ UPM_LISTBOXSMOOTHSCROLLING
#define SPI_GETWHEELSCROLLCHARS
#define DBG_DEFAULT_CHANNEL(ch)
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
#define ERROR_ACCESS_DENIED
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
#define KeRosDumpStackFrames(Frames, Count)
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
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
_CRTIMP wchar_t *__cdecl _itow(_In_ int _Value, _Pre_notnull_ _Post_z_ wchar_t *_Dest, _In_ int _Radix)
_Check_return_ _CRTIMP int __cdecl _wtoi(_In_z_ const wchar_t *_Str)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define PUSIF_COMBOBOXANIMATION
#define PUSIF_KEYBOARDCUES
BOOL NTAPI NtUserRedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
#define PUSIF_LISTBOXSMOOTHSCROLLING
#define EXCEPTION_EXECUTE_HANDLER
#define RtlEqualMemory(dst, src, len)
#define ExFreePoolWithTag(_P, _T)
#define SPI_GETDESKWALLPAPER
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
__kernel_entry W32KAPI INT APIENTRY NtGdiGetDeviceCaps(_In_ HDC hdc, _In_ INT i)
#define GDI_OBJ_HMGR_POWNED
#define GDI_OBJ_HMGR_PUBLIC
PVOID NTAPI PsGetCurrentProcessWin32Process(VOID)
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Window, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags)
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
static __inline VOID UserDerefObjectCo(PVOID obj)
static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
struct _WINSTATION_OBJECT * prpwinsta
WALLPAPER_MODE WallpaperMode
TEXTMETRICW tmCaptionFont
UNICODE_STRING ustrWallpaper
DWORD dwForegroundLockTimeout
DWORD dwMouseClickLockTime
ANIMATIONINFO animationinfo
HIGHCONTRASTW highcontrast
WCHAR awcWallpaper[MAX_PATH+1]
ACCESSTIMEOUT accesstimeout
DWORD dwActiveTrackingTimeout
UINT uiFontSmoothingContrast
DWORD dwForegroundFlashCount
CURSORACCELERATION_INFO caiMouse
BOOL bBlockSendInputResets
UINT uiFontSmoothingOrientation
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
_In_z_ PCWSTR pwszValueName
PWND FASTCALL UserGetWindowObject(HWND hWnd)
HWND FASTCALL UserGetShellWindow(VOID)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
VOID FASTCALL SetLastNtError(_In_ NTSTATUS Status)
#define SURFACE_ShareUnlockSurface(pBMObj)
#define SURFACE_ShareLockSurface(hBMObj)
BOOL NTAPI GreSetObjectOwner(HGDIOBJ hobj, ULONG ulOwner)
BOOL NTAPI GreDeleteObject(HGDIOBJ hobj)
HBITMAP NTAPI UserLoadImage(PCWSTR)
BOOL NTAPI W32kDosPathNameToNtPathName(PCWSTR, PUNICODE_STRING)
BOOL FASTCALL RECTL_bIntersectRect(_Out_ RECTL *prclDst, _In_ const RECTL *prcl1, _In_ const RECTL *prcl2)
FORCEINLINE BOOL RECTL_bIsEmptyRect(_In_ const RECTL *prcl)
PWND FASTCALL UserGetDesktopWindow(VOID)
LRESULT FASTCALL co_IntSendMessageTimeout(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT uFlags, UINT uTimeout, ULONG_PTR *uResult)
BOOL NTAPI InitMetrics(VOID)
DWORD FASTCALL UserGetLanguageToggle(_In_ PCWSTR pszType, _In_ DWORD dwDefaultValue)
PMONITOR NTAPI UserMonitorFromRect(PRECTL pRect, DWORD dwFlags)
PMONITOR NTAPI UserGetPrimaryMonitor(VOID)
static INT SpiLoadInt(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
static const WCHAR * VAL_DBLCLKHEIGHT
static const WCHAR * KEY_MDALIGN
static const WCHAR * VAL_CLICKLOCKTIME
static const WCHAR * KEY_DESKTOP
static UINT_PTR SpiSet(PVOID pvData, PVOID pvParam, ULONG cbSize, FLONG fl)
static const WCHAR * KEY_MOUSE
static DWORD SpiLoadUserPrefMask(DWORD dValue)
static VOID SpiStoreFont(PCWSTR pwszValue, LOGFONTW *plogfont)
static UINT_PTR SpiSetYesNo(BOOL *pbData, BOOL bValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
static const WCHAR * VAL_MOUSETRAILS
static const WCHAR * VAL_FONTSMOOTHING
static const WCHAR * VAL_BEEP
static const WCHAR * VAL_SCRTO
BOOL g_bWindowSnapEnabled
static const WCHAR * VAL_FONTSMOOTHINGCONTRAST
static const WCHAR * VAL_SWAP
static VOID SpiFixupValues(VOID)
static const WCHAR * VAL_USERPREFMASK
static const WCHAR * KEY_SOUND
BOOL g_PaintDesktopVersion
static const WCHAR * VAL_HOVERWIDTH
static const WCHAR * KEY_SHOWSNDS
static const WCHAR * VAL_SNAP_ENABLED
static const WCHAR * VAL_MOUSE3
static UINT_PTR SpiGetInt(PVOID pvParam, PVOID piValue, FLONG fl)
#define REQ_INTERACTIVE_WINSTA(err)
static const WCHAR * VAL_HOVERTIME
static const WCHAR * VAL_HOVERHEIGHT
static VOID SpiUpdatePerUserSystemParameters(VOID)
static const WCHAR * VAL_DRAGHEIGHT
static INT SpiLoadMouse(PCWSTR pwszValue, INT iValue)
static const WCHAR * VAL_SNAP_DOCKMOVING
static const WCHAR * VAL_MOUSE2
static const WCHAR * VAL_FONTSMOOTHINGORIENTATION
static UINT_PTR SpiSetDWord(PVOID pvData, INT iValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
static UINT_PTR SpiGetUserPref(DWORD dwMask, PVOID pvParam, FLONG fl)
static const WCHAR * KEY_METRIC
static const WCHAR * VAL_DBLCLKWIDTH
static const WCHAR * VAL_MOUSEKEYS_TIMETOMAX
static INT SpiLoadDWord(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
static const WCHAR * VAL_PAINTDESKVER
static const WCHAR * VAL_ON
static const WCHAR * KEY_SCRREAD
static const WCHAR * VAL_MDALIGN
static VOID SpiStoreMetric(LPCWSTR pwszValue, INT iValue)
static const WCHAR * VAL_DRAG
static const WCHAR * KEY_MOUSEKEYS
static const WCHAR * VAL_KBDDELAY
static UINT_PTR SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
static UINT_PTR SpiSetBool(BOOL *pbData, INT iValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
static const WCHAR * VAL_SCRACT
static const WCHAR * VAL_SCRNSV
static INT SpiLoadMetric(PCWSTR pwszValue, INT iValue)
static const WCHAR * VAL_SNAPDEFBTN
static VOID SpiStoreDWord(PCWSTR pwszKey, PCWSTR pwszValue, DWORD Value)
static const WCHAR * VAL_ICONVSPC
BOOL APIENTRY NtUserUpdatePerUserSystemParameters(DWORD dwReserved, BOOL bEnable)
static DWORD SpiLoadTimeOut(VOID)
static VOID SpiStoreSzInt(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
static VOID SpiStoreSz(PCWSTR pwszKey, PCWSTR pwszValue, PCWSTR pwsz)
static BOOL SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
static const WCHAR * VAL_SENSITIVITY
static UINT_PTR SpiGetEx(PVOID pvParam, PVOID pvData, ULONG cbSize, FLONG fl)
static UINT_PTR SpiSetUserPref(DWORD dwMask, PVOID pvValue, FLONG fl)
static const WCHAR * VAL_DBLCLKTIME
static const WCHAR * VAL_SCRLLLINES
static UINT_PTR SpiGet(PVOID pvParam, PVOID pvData, ULONG cbSize, FLONG fl)
static const WCHAR * KEY_KBD
static const WCHAR * KEY_KDBPREF
static const WCHAR * VAL_KBDSPD
static const WCHAR * VAL_ICONSPC
static const WCHAR * VAL_DRAGWIDTH
static const WCHAR * VAL_FONTSMOOTHINGTYPE
static const WCHAR * VAL_GRID
static const WCHAR * VAL_MOUSE1
static BOOL SpiNotifyNCMetricsChanged(VOID)
static const WCHAR * VAL_MOUSEKEYS_MAX
static const WCHAR * VAL_ITWRAP
static const WCHAR * VAL_CARETRATE
static const WCHAR * VAL_CARETWIDTH
static UINT_PTR SpiSetWallpaper(PVOID pvParam, FLONG fl)
static const WCHAR * VAL_MOUSEKEYS_FLAGS
static VOID SpiLoadFont(PLOGFONTW plfOut, LPWSTR pwszValueName, PLOGFONTW plfDefault)
static UINT_PTR SpiMemCopy(PVOID pvDst, PVOID pvSrc, ULONG cbSize, BOOL bProtect)
static const WCHAR * VAL_BORDER
static UINT_PTR SpiSetMetric(PVOID pvData, INT iValue, PCWSTR pwszValue, FLONG fl)
BOOL FASTCALL UserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
BOOL APIENTRY NtUserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
static UINT_PTR SpiSetInt(PVOID pvData, INT iValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
HWND *FASTCALL IntWinListChildren(PWND Window)
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_ pdwDataLen BYTE * pbData
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
_In_ ULONG _In_opt_ PVOID pvData
#define ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
_In_ DWORD _In_ DWORD cbBufSize
#define SPI_SETSTICKYKEYS
#define SPI_GETFILTERKEYS
#define SPI_GETACCESSTIMEOUT
#define SPI_GETSHOWSOUNDS
struct tagHIGHCONTRASTW * LPHIGHCONTRASTW
#define SPI_SETMENUDROPALIGNMENT
#define SPI_SETDESKWALLPAPER
#define SPI_GETTOGGLEKEYS
#define SPI_SETFASTTASKSWITCH
#define SPI_ICONVERTICALSPACING
#define SPI_SETDOUBLECLKWIDTH
#define SPI_SETACCESSTIMEOUT
#define SPI_GETGRIDGRANULARITY
#define SPI_SETSCREENSAVEACTIVE
struct tagSTICKYKEYS STICKYKEYS
#define SPI_SETDOUBLECLKHEIGHT
struct tagMOUSEKEYS MOUSEKEYS
#define SPI_GETFASTTASKSWITCH
struct tagFILTERKEYS FILTERKEYS
#define SPI_GETICONTITLELOGFONT
struct tagFILTERKEYS * LPFILTERKEYS
#define SPI_SETFILTERKEYS
struct tagACCESSTIMEOUT * LPACCESSTIMEOUT
struct tagSOUNDSENTRYW SOUNDSENTRYW
#define SPI_SETDESKPATTERN
#define SPI_SETKEYBOARDSPEED
#define SPIF_UPDATEINIFILE
struct tagSTICKYKEYS * LPSTICKYKEYS
#define SPI_SETICONTITLELOGFONT
#define SPI_SETTOGGLEKEYS
struct tagMINIMIZEDMETRICS MINIMIZEDMETRICS
#define SPI_GETKEYBOARDSPEED
#define SPI_GETSTICKYKEYS
struct tagTOGGLEKEYS * LPTOGGLEKEYS
#define SPI_SETDOUBLECLICKTIME
struct tagHIGHCONTRASTW HIGHCONTRASTW
#define SPI_GETICONTITLEWRAP
#define SPI_SETMOUSEBUTTONSWAP
struct tagSOUNDSENTRYW * LPSOUNDSENTRYW
struct tagACCESSTIMEOUT ACCESSTIMEOUT
#define SPI_ICONHORIZONTALSPACING
struct tagMOUSEKEYS * LPMOUSEKEYS
struct tagMINIMIZEDMETRICS * LPMINIMIZEDMETRICS
#define SPI_GETKEYBOARDDELAY
#define SPI_SETICONTITLEWRAP
#define SPI_SETSOUNDSENTRY
#define SPI_SETKEYBOARDDELAY
#define SPI_GETSOUNDSENTRY
SERIALKEYSA * LPSERIALKEYS
#define SPI_SETSCREENSAVETIMEOUT
#define SPI_SETSHOWSOUNDS
#define SPI_SETGRIDGRANULARITY
#define SPI_GETSCREENSAVETIMEOUT
struct tagANIMATIONINFO ANIMATIONINFO
struct tagTOGGLEKEYS TOGGLEKEYS
#define SPI_GETSCREENSAVEACTIVE
#define SPI_GETMENUDROPALIGNMENT
_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 SPI_SETWHEELSCROLLLINES