24 #define REG2METRIC(reg) (reg > 0 ? reg : ((-(reg) * dpi + 720) / 1440)) 25 #define METRIC2REG(met) (-((((met) * 1440)- 0) / dpi)) 27 #define REQ_INTERACTIVE_WINSTA(err) \ 29 if (GetW32ProcessInfo()->prpwinsta != InputWindowStation) \ 31 if (GetW32ProcessInfo()->prpwinsta == NULL) \ 33 ERR("NtUserSystemParametersInfo called without active window station, and it requires an interactive one\n"); \ 37 ERR("NtUserSystemParametersInfo requires interactive window station (current is '%wZ')\n", \ 38 &(OBJECT_HEADER_TO_NAME_INFO(OBJECT_TO_OBJECT_HEADER(GetW32ProcessInfo()->prpwinsta))->Name)); \ 40 EngSetLastError(err); \ 76 #if (_WIN32_WINNT >= 0x0600) 77 static const WCHAR* VAL_SCRLLCHARS =
L"WheelScrollChars";
81 static const WCHAR*
KEY_MDALIGN =
L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows";
125 cbSize =
sizeof(awcBuffer);
126 if (!RegReadUserSetting(pwszKey, pwszValue,
REG_SZ, awcBuffer, cbSize))
130 return _wtoi(awcBuffer);
150 RtlZeroMemory(&szApplicationName,
sizeof(szApplicationName));
155 if (szApplicationName[0] == 0)
return 0;
173 TRACE(
"Loaded metric setting '%S', iValue=%d(reg:%d), ret=%d(reg:%d)\n",
190 *plfOut = *plfDefault;
228 TRACE(
"Enter SpiUpdatePerUserSystemParameters\n");
253 gspv.
ncm.cbSize =
sizeof(NONCLIENTMETRICSW);
263 #if (WINVER >= 0x0600) 280 gspv.
im.cbSize =
sizeof(ICONMETRICSW);
298 #if (_WIN32_WINNT >= 0x0600) 315 #if(WINVER >= 0x0600) 364 TRACE(
"Enter NtUserUpdatePerUserSystemParameters\n");
374 TRACE(
"Leave NtUserUpdatePerUserSystemParameters, returning %d\n", bResult);
387 RegWriteUserSetting(pwszKey,
398 RegWriteUserSetting(pwszKey,
411 _itow(iValue, awcBuffer, 10);
412 RegWriteUserSetting(pwszKey,
467 ERR(
"SpiMemCopy failed, pvDst=%p, pvSrc=%p, bProtect=%d\n", pvDst, pvSrc, bProtect);
518 SpiStoreSz(pwszKey, pwszValue, bValue ?
L"Yes" :
L"No");
597 WARN(
"Failed to read UserPreferencesMask setting\n");
602 dwRegMask = bValue ? (dwRegMask | dwMask) : (dwRegMask & ~dwMask);
632 ULONG ulTile, ulStyle;
683 ERR(
"RtlDosPathNameToNtPathName_U failed\n");
691 ERR(
"UserLoadImage failed\n");
714 TRACE(
"SpiSetWallpaper: ulTile=%lu, ulStyle=%lu\n", ulTile, ulStyle);
717 if (ulTile && !ulStyle)
721 else if (!ulTile && ulStyle)
727 else if (ulStyle == 6)
731 else if (ulStyle == 10)
747 if(hOldBitmap !=
NULL)
766 PWND pwndDesktop, pwndCurrent;
778 for (
i = 0; ahwnd[
i];
i++)
828 uiParam =
max(uiParam, 1);
838 ERR(
"SPI_LANGDRIVER is unimplemented\n");
867 ERR(
"SPI_SETDESKPATTERN is unimplemented\n");
881 uiParam =
max(uiParam, 32);
889 uiParam =
max(uiParam, 32);
935 case SPI_GETDRAGFULLWINDOWS:
938 case SPI_SETDRAGFULLWINDOWS:
941 case SPI_GETNONCLIENTMETRICS:
946 case SPI_SETNONCLIENTMETRICS:
948 LPNONCLIENTMETRICSW
metrics = (LPNONCLIENTMETRICSW)pvParam;
951 metrics->cbSize =
sizeof(NONCLIENTMETRICSW);
967 #if (WINVER >= 0x0600) 983 case SPI_GETMINIMIZEDMETRICS:
988 case SPI_SETMINIMIZEDMETRICS:
1014 case SPI_GETICONMETRICS:
1019 case SPI_SETICONMETRICS:
1021 LPICONMETRICSW
metrics = (LPICONMETRICSW)pvParam;
1024 metrics->cbSize =
sizeof(ICONMETRICSW);
1039 case SPI_GETWORKAREA:
1049 case SPI_SETWORKAREA:
1052 RECTL rcWorkArea, rcIntersect;
1085 case SPI_SETPENWINDOWS:
1086 ERR(
"SPI_SETPENWINDOWS is unimplemented\n");
1093 if (uiParam != 0 && uiParam !=
sizeof(
FILTERKEYS))
1106 if (uiParam != 0 && uiParam !=
sizeof(
FILTERKEYS))
1126 if (uiParam != 0 && uiParam !=
sizeof(
TOGGLEKEYS))
1139 if (uiParam != 0 && uiParam !=
sizeof(
TOGGLEKEYS))
1159 if (uiParam != 0 && uiParam !=
sizeof(
MOUSEKEYS))
1172 if (uiParam != 0 && uiParam !=
sizeof(
MOUSEKEYS))
1198 if (uiParam != 0 && uiParam !=
sizeof(
STICKYKEYS))
1211 if (uiParam != 0 && uiParam !=
sizeof(
STICKYKEYS))
1264 case SPI_GETSERIALKEYS:
1268 if (uiParam != 0 && uiParam !=
sizeof(
SERIALKEYS))
1277 case SPI_SETSERIALKEYS:
1281 if (uiParam != 0 && uiParam !=
sizeof(
SERIALKEYS))
1330 case SPI_GETHIGHCONTRAST:
1343 case SPI_SETHIGHCONTRAST:
1363 case SPI_GETKEYBOARDPREF:
1366 case SPI_SETKEYBOARDPREF:
1369 case SPI_GETSCREENREADER:
1372 case SPI_SETSCREENREADER:
1375 case SPI_GETANIMATION:
1378 case SPI_SETANIMATION:
1387 case SPI_GETFONTSMOOTHING:
1390 case SPI_SETFONTSMOOTHING:
1398 case SPI_SETDRAGWIDTH:
1401 case SPI_SETDRAGHEIGHT:
1404 case SPI_SETHANDHELD:
1407 case SPI_GETLOWPOWERTIMEOUT:
1410 case SPI_GETPOWEROFFTIMEOUT:
1413 case SPI_SETLOWPOWERTIMEOUT:
1416 case SPI_SETPOWEROFFTIMEOUT:
1419 case SPI_GETLOWPOWERACTIVE:
1422 case SPI_GETPOWEROFFACTIVE:
1425 case SPI_SETLOWPOWERACTIVE:
1428 case SPI_SETPOWEROFFACTIVE:
1431 case SPI_SETCURSORS:
1432 ERR(
"SPI_SETCURSORS is unimplemented\n");
1436 ERR(
"SPI_SETICONS is unimplemented\n");
1439 case SPI_GETDEFAULTINPUTLANG:
1445 case SPI_SETDEFAULTINPUTLANG:
1456 case SPI_SETLANGTOGGLE:
1461 case SPI_GETWINDOWSEXTENSION:
1462 ERR(
"SPI_GETWINDOWSEXTENSION is unimplemented\n");
1465 case SPI_GETMOUSETRAILS:
1468 case SPI_SETMOUSETRAILS:
1471 case SPI_GETSNAPTODEFBUTTON:
1474 case SPI_SETSNAPTODEFBUTTON:
1477 case SPI_GETMOUSEHOVERWIDTH:
1480 case SPI_SETMOUSEHOVERWIDTH:
1483 case SPI_GETMOUSEHOVERHEIGHT:
1486 case SPI_SETMOUSEHOVERHEIGHT:
1489 case SPI_GETMOUSEHOVERTIME:
1492 case SPI_SETMOUSEHOVERTIME:
1502 case SPI_GETWHEELSCROLLLINES:
1508 case SPI_GETMENUSHOWDELAY:
1511 case SPI_SETMENUSHOWDELAY:
1514 #if (_WIN32_WINNT >= 0x0600) 1515 case SPI_GETWHEELSCROLLCHARS:
1518 case SPI_SETWHEELSCROLLCHARS:
1521 case SPI_GETSHOWIMEUI:
1524 case SPI_SETSHOWIMEUI:
1527 case SPI_GETMOUSESPEED:
1530 case SPI_SETMOUSESPEED:
1539 case SPI_GETSCREENSAVERRUNNING:
1542 case SPI_SETSCREENSAVERRUNNING:
1546 #if(WINVER >= 0x0600) 1547 case SPI_GETAUDIODESCRIPTION:
1548 return SpiGet(pvParam, &
gspv.audiodescription,
sizeof(AUDIODESCRIPTION),
fl);
1550 case SPI_SETAUDIODESCRIPTION:
1551 ERR(
"SPI_SETAUDIODESCRIPTION is unimplemented\n");
1554 case SPI_GETSCREENSAVESECURE:
1557 case SPI_SETSCREENSAVESECURE:
1561 case SPI_GETACTIVEWINDOWTRACKING:
1564 case SPI_SETACTIVEWINDOWTRACKING:
1567 case SPI_GETMENUANIMATION:
1570 case SPI_SETMENUANIMATION:
1573 case SPI_GETCOMBOBOXANIMATION:
1576 case SPI_SETCOMBOBOXANIMATION:
1579 case SPI_GETLISTBOXSMOOTHSCROLLING:
1582 case SPI_SETLISTBOXSMOOTHSCROLLING:
1585 case SPI_GETGRADIENTCAPTIONS:
1598 case SPI_SETGRADIENTCAPTIONS:
1601 case SPI_GETKEYBOARDCUES:
1604 case SPI_SETKEYBOARDCUES:
1607 case SPI_GETACTIVEWNDTRKZORDER:
1610 case SPI_SETACTIVEWNDTRKZORDER:
1613 case SPI_GETHOTTRACKING:
1616 case SPI_SETHOTTRACKING:
1619 case SPI_GETMENUFADE:
1622 case SPI_SETMENUFADE:
1625 case SPI_GETSELECTIONFADE:
1628 case SPI_SETSELECTIONFADE:
1631 case SPI_GETTOOLTIPANIMATION:
1634 case SPI_SETTOOLTIPANIMATION:
1637 case SPI_GETTOOLTIPFADE:
1640 case SPI_SETTOOLTIPFADE:
1643 case SPI_GETCURSORSHADOW:
1646 case SPI_SETCURSORSHADOW:
1650 case SPI_GETUIEFFECTS:
1653 case SPI_SETUIEFFECTS:
1656 case SPI_GETMOUSESONAR:
1659 case SPI_SETMOUSESONAR:
1662 case SPI_GETMOUSECLICKLOCK:
1665 case SPI_SETMOUSECLICKLOCK:
1669 case SPI_GETMOUSEVANISH:
1672 case SPI_SETMOUSEVANISH:
1675 case SPI_GETFLATMENU:
1678 case SPI_SETFLATMENU:
1681 case SPI_GETDROPSHADOW:
1684 case SPI_SETDROPSHADOW:
1687 case SPI_GETBLOCKSENDINPUTRESETS:
1690 case SPI_SETBLOCKSENDINPUTRESETS:
1693 #if(_WIN32_WINNT >= 0x0600) 1694 case SPI_GETDISABLEOVERLAPPEDCONTENT:
1697 case SPI_SETDISABLEOVERLAPPEDCONTENT:
1700 case SPI_GETCLIENTAREAANIMATION:
1703 case SPI_SETCLIENTAREAANIMATION:
1706 case SPI_GETCLEARTYPE:
1709 case SPI_SETCLEARTYPE:
1712 case SPI_GETSPEECHRECOGNITION:
1715 case SPI_SETSPEECHRECOGNITION:
1719 case SPI_GETFOREGROUNDLOCKTIMEOUT:
1722 case SPI_SETFOREGROUNDLOCKTIMEOUT:
1725 case SPI_GETACTIVEWNDTRKTIMEOUT:
1728 case SPI_SETACTIVEWNDTRKTIMEOUT:
1731 case SPI_GETFOREGROUNDFLASHCOUNT:
1734 case SPI_SETFOREGROUNDFLASHCOUNT:
1737 case SPI_GETCARETWIDTH:
1740 case SPI_SETCARETWIDTH:
1743 case SPI_GETMOUSECLICKLOCKTIME:
1746 case SPI_SETMOUSECLICKLOCKTIME:
1749 case SPI_GETFONTSMOOTHINGTYPE:
1752 case SPI_SETFONTSMOOTHINGTYPE:
1755 case SPI_GETFONTSMOOTHINGCONTRAST:
1758 case SPI_SETFONTSMOOTHINGCONTRAST:
1761 case SPI_GETFOCUSBORDERWIDTH:
1764 case SPI_SETFOCUSBORDERWIDTH:
1767 case SPI_GETFOCUSBORDERHEIGHT:
1770 case SPI_SETFOCUSBORDERHEIGHT:
1773 case SPI_GETFONTSMOOTHINGORIENTATION:
1776 case SPI_SETFONTSMOOTHINGORIENTATION:
1804 ERR(
"Undocumented SPI value %x is unimplemented\n", uiAction);
1808 ERR(
"Invalid SPI value: %u\n", uiAction);
1834 case SPI_GETDRAGFULLWINDOWS:
1836 case SPI_GETKEYBOARDPREF:
1837 case SPI_GETSCREENREADER:
1838 case SPI_GETFONTSMOOTHING:
1839 case SPI_GETLOWPOWERTIMEOUT:
1840 case SPI_GETPOWEROFFTIMEOUT:
1841 case SPI_GETLOWPOWERACTIVE:
1842 case SPI_GETPOWEROFFACTIVE:
1843 case SPI_GETMOUSETRAILS:
1844 case SPI_GETSNAPTODEFBUTTON:
1845 case SPI_GETMOUSEHOVERWIDTH:
1846 case SPI_GETMOUSEHOVERHEIGHT:
1847 case SPI_GETMOUSEHOVERTIME:
1848 case SPI_GETWHEELSCROLLLINES:
1849 case SPI_GETMENUSHOWDELAY:
1850 #if (_WIN32_WINNT >= 0x0600) 1851 case SPI_GETWHEELSCROLLCHARS:
1853 case SPI_GETSHOWIMEUI:
1854 case SPI_GETMOUSESPEED:
1855 case SPI_GETSCREENSAVERRUNNING:
1856 #if(WINVER >= 0x0600) 1857 case SPI_GETSCREENSAVESECURE:
1859 case SPI_GETACTIVEWINDOWTRACKING:
1860 case SPI_GETMENUANIMATION:
1861 case SPI_GETCOMBOBOXANIMATION:
1862 case SPI_GETLISTBOXSMOOTHSCROLLING:
1863 case SPI_GETGRADIENTCAPTIONS:
1864 case SPI_GETKEYBOARDCUES:
1865 case SPI_GETACTIVEWNDTRKZORDER:
1866 case SPI_GETHOTTRACKING:
1867 case SPI_GETMENUFADE:
1868 case SPI_GETSELECTIONFADE:
1869 case SPI_GETTOOLTIPANIMATION:
1870 case SPI_GETTOOLTIPFADE:
1871 case SPI_GETCURSORSHADOW:
1872 case SPI_GETUIEFFECTS:
1873 case SPI_GETMOUSESONAR:
1874 case SPI_GETMOUSECLICKLOCK:
1875 case SPI_GETMOUSEVANISH:
1876 case SPI_GETFLATMENU:
1877 case SPI_GETDROPSHADOW:
1878 case SPI_GETBLOCKSENDINPUTRESETS:
1879 #if(_WIN32_WINNT >= 0x0600) 1880 case SPI_GETDISABLEOVERLAPPEDCONTENT:
1881 case SPI_GETCLIENTAREAANIMATION:
1882 case SPI_GETCLEARTYPE:
1883 case SPI_GETSPEECHRECOGNITION:
1885 case SPI_GETFOREGROUNDLOCKTIMEOUT:
1886 case SPI_GETACTIVEWNDTRKTIMEOUT:
1887 case SPI_GETFOREGROUNDFLASHCOUNT:
1888 case SPI_GETCARETWIDTH:
1889 case SPI_GETMOUSECLICKLOCKTIME:
1890 case SPI_GETFONTSMOOTHINGTYPE:
1891 case SPI_GETFONTSMOOTHINGCONTRAST:
1892 case SPI_GETFOCUSBORDERWIDTH:
1893 case SPI_GETFOCUSBORDERHEIGHT:
1894 case SPI_GETFONTSMOOTHINGORIENTATION:
1895 cbSize =
sizeof(
INT);
1900 if (pvParam) cbSize =
sizeof(
INT);
1904 cbSize = 3 *
sizeof(
INT);
1915 case SPI_GETNONCLIENTMETRICS:
1916 cbSize =
sizeof(NONCLIENTMETRICSW);
1919 case SPI_GETMINIMIZEDMETRICS:
1923 case SPI_GETICONMETRICS:
1924 cbSize =
sizeof(ICONMETRICSW);
1927 case SPI_GETWORKAREA:
1928 cbSize =
sizeof(
RECTL);
1951 case SPI_GETSERIALKEYS:
1959 case SPI_GETHIGHCONTRAST:
1963 case SPI_GETANIMATION:
1967 case SPI_GETDEFAULTINPUTLANG:
1968 cbSize =
sizeof(
HKL);
1971 #if(WINVER >= 0x0600) 1972 case SPI_GETAUDIODESCRIPTION:
1973 cbSize =
sizeof(AUDIODESCRIPTION);
1978 cbSize = 3 *
sizeof(
INT);
1987 case SPI_SETNONCLIENTMETRICS:
1988 cbSize =
sizeof(NONCLIENTMETRICSW);
1992 case SPI_SETMINIMIZEDMETRICS:
1997 case SPI_SETICONMETRICS:
1998 cbSize =
sizeof(ICONMETRICSW);
2002 case SPI_SETWORKAREA:
2003 cbSize =
sizeof(
RECTL);
2032 case SPI_SETSERIALKEYS:
2042 case SPI_SETHIGHCONTRAST:
2047 case SPI_SETANIMATION:
2052 case SPI_SETDEFAULTINPUTLANG:
2053 cbSize =
sizeof(
HKL);
2057 case SPI_SETMOUSESPEED:
2058 cbSize =
sizeof(
INT);
2109 ERR(
"UserSystemParametersInfo called without active window station.\n");
2121 ulResult =
SpiGetSet(uiAction, uiParam, pvParam, fWinIni);
2159 TRACE(
"Enter NtUserSystemParametersInfo(%u)\n", uiAction);
2169 TRACE(
"Leave NtUserSystemParametersInfo, returning %d\n", bResult);
static UINT_PTR SpiSetWallpaper(PVOID pvParam, FLONG fl)
static const WCHAR * VAL_HOVERTIME
#define ERROR_INVALID_PARAMETER
#define SPI_SETMENUDROPALIGNMENT
#define SPI_GETSTICKYKEYS
#define KeRosDumpStackFrames(Frames, Count)
BOOL NTAPI GreSetObjectOwner(HGDIOBJ hobj, ULONG ulOwner)
BOOL NTAPI GreDeleteObject(HGDIOBJ hobj)
static const WCHAR * KEY_DESKTOP
struct tagMINIMIZEDMETRICS MINIMIZEDMETRICS
static INT(WINAPI *pGetSystemMetricsForDpi)(INT
#define SPI_SETMOUSEBUTTONSWAP
#define SPI_GETKEYBOARDSPEED
static const WCHAR * VAL_FONTSMOOTHING
static UINT_PTR SpiSetBool(BOOL *pbData, INT iValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
#define SURFACE_ShareUnlockSurface(pBMObj)
static const WCHAR * VAL_ICONVSPC
static UINT_PTR SpiGetEx(PVOID pvParam, PVOID pvData, ULONG cbSize, FLONG fl)
#define SPI_SETTOGGLEKEYS
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
WCHAR awcWallpaper[MAX_PATH+1]
#define SPI_ICONHORIZONTALSPACING
static const WCHAR * VAL_BEEP
static const WCHAR * VAL_CLICKLOCKTIME
#define SPI_SETDESKWALLPAPER
DBG_DEFAULT_CHANNEL(UserSysparams)
static VOID SpiStoreFont(PCWSTR pwszValue, LOGFONTW *plogfont)
_Check_return_ _CRTIMP int __cdecl _wtoi(_In_z_ const wchar_t *_Str)
struct tagMOUSEKEYS * LPMOUSEKEYS
DWORD dwForegroundFlashCount
static const WCHAR * VAL_MOUSETRAILS
#define SPI_SETWHEELSCROLLLINES
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Window, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags)
#define SPI_SETACCESSTIMEOUT
BOOL NTAPI W32kDosPathNameToNtPathName(PCWSTR, PUNICODE_STRING)
static const WCHAR * VAL_KBDSPD
#define SPI_GETSCREENSAVETIMEOUT
static const WCHAR * KEY_MDALIGN
ANIMATIONINFO animationinfo
struct tagTOGGLEKEYS * LPTOGGLEKEYS
static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
#define SPI_SETDOUBLECLKWIDTH
DWORD dwMouseClickLockTime
ACCESSTIMEOUT accesstimeout
DWORD dwForegroundLockTimeout
#define SPI_SETFILTERKEYS
#define SPI_SETDESKPATTERN
static const WCHAR * VAL_PAINTDESKVER
_CRTIMP wchar_t *__cdecl _itow(_In_ int _Value, _Pre_notnull_ _Post_z_ wchar_t *_Dest, _In_ int _Radix)
static const WCHAR * VAL_ITWRAP
#define SURFACE_ShareLockSurface(hBMObj)
#define ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
BOOL APIENTRY NtUserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
struct _WINSTATION_OBJECT * prpwinsta
UINT uiFontSmoothingContrast
static const WCHAR * VAL_KBDDELAY
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
static const WCHAR * KEY_KBD
static const WCHAR * VAL_SENSITIVITY
static const WCHAR * VAL_MOUSE3
PMONITOR NTAPI UserMonitorFromRect(PRECTL pRect, DWORD dwFlags)
static const WCHAR * VAL_DBLCLKTIME
static INT SpiLoadDWord(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
static DWORD SpiLoadTimeOut(VOID)
#define SPI_SETFASTTASKSWITCH
struct tagSOUNDSENTRYW * LPSOUNDSENTRYW
static const WCHAR * VAL_DRAG
struct tagHIGHCONTRASTW HIGHCONTRASTW
static const WCHAR * VAL_MOUSE1
#define SPI_SETKEYBOARDDELAY
static UINT_PTR SpiSet(PVOID pvData, PVOID pvParam, ULONG cbSize, FLONG fl)
#define SPI_GETSOUNDSENTRY
static const WCHAR * VAL_FONTSMOOTHINGORIENTATION
static UINT_PTR SpiSetMetric(PVOID pvData, INT iValue, PCWSTR pwszValue, FLONG fl)
struct tagANIMATIONINFO ANIMATIONINFO
#define ERROR_ACCESS_DENIED
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static __inline VOID UserDerefObjectCo(PVOID obj)
static const WCHAR * VAL_FONTSMOOTHINGCONTRAST
HWND FASTCALL UserGetShellWindow(VOID)
struct tagSTICKYKEYS * LPSTICKYKEYS
static UINT_PTR SpiGetInt(PVOID pvParam, PVOID piValue, FLONG fl)
#define EXCEPTION_EXECUTE_HANDLER
static const WCHAR * VAL_MDALIGN
_In_ ULONG _In_opt_ PVOID pvData
#define SPI_GETSHOWSOUNDS
_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
struct tagSTICKYKEYS STICKYKEYS
#define SPI_GETACCESSTIMEOUT
static VOID SpiLoadFont(PLOGFONTW plfOut, LPWSTR pwszValueName, PLOGFONTW plfDefault)
PWND FASTCALL UserGetWindowObject(HWND hWnd)
static const WCHAR * VAL_FONTSMOOTHINGTYPE
TEXTMETRICW tmCaptionFont
#define SPI_GETGRIDGRANULARITY
static const WCHAR * VAL_SCRACT
struct tagHIGHCONTRASTW * LPHIGHCONTRASTW
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
static const WCHAR * VAL_SCRNSV
VOID FASTCALL UserEnterExclusive(VOID)
BOOL bBlockSendInputResets
struct tagMOUSEKEYS MOUSEKEYS
#define SPI_GETKEYBOARDDELAY
#define _SEH2_YIELD(STMT_)
NTSYSAPI ULONG NTAPI RtlEqualMemory(CONST VOID *Source1, CONST VOID *Source2, ULONG Length)
static const WCHAR * VAL_SCRTO
static const WCHAR * VAL_SCRLLLINES
#define SPI_SETKEYBOARDSPEED
static const WCHAR * VAL_DRAGHEIGHT
#define NT_SUCCESS(StatCode)
struct tagLOGFONTW LOGFONTW
static UINT_PTR SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
static VOID SpiUpdatePerUserSystemParameters(VOID)
_In_z_ PCWSTR pwszValueName
UINT uiFontSmoothingOrientation
#define SPI_GETICONTITLEWRAP
#define SPI_ICONVERTICALSPACING
BOOL NTAPI InitMetrics(VOID)
LRESULT FASTCALL co_IntSendMessageTimeout(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT uFlags, UINT uTimeout, ULONG_PTR *uResult)
BOOL FASTCALL RECTL_bIntersectRect(_Out_ RECTL *prclDst, _In_ const RECTL *prcl1, _In_ const RECTL *prcl2)
DWORD dwActiveTrackingTimeout
static const WCHAR * VAL_ON
_In_ DWORD _In_ DWORD cbBufSize
static const WCHAR * KEY_SCRREAD
unsigned __int3264 UINT_PTR
#define SPI_SETSOUNDSENTRY
static const WCHAR * VAL_ICONSPC
static const WCHAR * VAL_DBLCLKHEIGHT
static DWORD SpiLoadUserPrefMask(DWORD dValue)
static VOID SpiStoreDWord(PCWSTR pwszKey, PCWSTR pwszValue, DWORD Value)
#define SPI_SETSCREENSAVEACTIVE
PWND FASTCALL UserGetDesktopWindow(VOID)
struct tagACCESSTIMEOUT * LPACCESSTIMEOUT
HBITMAP NTAPI UserLoadImage(PCWSTR)
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
static BOOL SpiNotifyNCMetricsChanged(VOID)
#define SPI_GETFILTERKEYS
UNICODE_STRING ustrWallpaper
#define PUSIF_COMBOBOXANIMATION
static UINT_PTR SpiSetInt(PVOID pvData, INT iValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
static const WCHAR * KEY_MOUSE
HWND *FASTCALL IntWinListChildren(PWND Window)
#define GDI_OBJ_HMGR_POWNED
#define PUSIF_LISTBOXSMOOTHSCROLLING
static const WCHAR * VAL_DRAGWIDTH
VOID FASTCALL SetLastNtError(NTSTATUS Status)
#define SPI_SETDOUBLECLICKTIME
static BOOL SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
static const WCHAR * VAL_SNAPDEFBTN
#define SPI_SETICONTITLELOGFONT
static UINT_PTR SpiSetYesNo(BOOL *pbData, BOOL bValue, PCWSTR pwszKey, PCWSTR pwszValue, FLONG fl)
VOID FASTCALL UserLeave(VOID)
static const WCHAR * VAL_USERPREFMASK
#define SPIF_UPDATEINIFILE
static const WCHAR * VAL_MOUSE2
static UINT_PTR SpiSetUserPref(DWORD dwMask, PVOID pvValue, FLONG fl)
#define SPI_GETFASTTASKSWITCH
BOOL NTAPI NtUserRedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
static const WCHAR * VAL_HOVERHEIGHT
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
static const WCHAR * KEY_METRIC
static const WCHAR * VAL_DBLCLKWIDTH
static const WCHAR * VAL_GRID
#define SPI_GETTOGGLEKEYS
static UINT_PTR SpiMemCopy(PVOID pvDst, PVOID pvSrc, ULONG cbSize, BOOL bProtect)
#define GDI_OBJ_HMGR_PUBLIC
#define SPI_GETMENUDROPALIGNMENT
PVOID NTAPI PsGetCurrentProcessWin32Process(VOID)
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 INT SpiLoadMetric(PCWSTR pwszValue, INT iValue)
#define SPI_SETSTICKYKEYS
static INT SpiLoadMouse(PCWSTR pwszValue, INT iValue)
#define SPI_GETICONTITLELOGFONT
static VOID SpiStoreSzInt(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
#define PUSIF_KEYBOARDCUES
HIGHCONTRASTW highcontrast
static VOID SpiStoreSz(PCWSTR pwszKey, PCWSTR pwszValue, PCWSTR pwsz)
#define SPI_GETSCREENSAVEACTIVE
PMONITOR NTAPI UserGetPrimaryMonitor(VOID)
#define REQ_INTERACTIVE_WINSTA(err)
#define SPI_GETDESKWALLPAPER
#define SPI_SETICONTITLEWRAP
FORCEINLINE BOOL RECTL_bIsEmptyRect(_In_ const RECTL *prcl)
#define RtlZeroMemory(Destination, Length)
static UINT_PTR SpiGet(PVOID pvParam, PVOID pvData, ULONG cbSize, FLONG fl)
static INT SpiLoadInt(PCWSTR pwszKey, PCWSTR pwszValue, INT iValue)
struct tagFILTERKEYS * LPFILTERKEYS
struct tagTOGGLEKEYS TOGGLEKEYS
#define SPI_SETDOUBLECLKHEIGHT
#define RtlCopyMemory(Destination, Source, Length)
static const WCHAR * KEY_SHOWSNDS
BOOL FASTCALL UserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
#define _SEH2_EXCEPT(...)
#define ExFreePoolWithTag(_P, _T)
__kernel_entry W32KAPI INT APIENTRY NtGdiGetDeviceCaps(_In_ HDC hdc, _In_ INT i)
#define _SEH2_GetExceptionCode()
#define SPI_SETGRIDGRANULARITY
BOOL APIENTRY NtUserUpdatePerUserSystemParameters(DWORD dwReserved, BOOL bEnable)
static VOID SpiStoreMetric(LPCWSTR pwszValue, INT iValue)
DWORD FASTCALL UserGetLanguageToggle(VOID)
static VOID SpiFixupValues(VOID)
#define SPI_SETSHOWSOUNDS
struct tagACCESSTIMEOUT ACCESSTIMEOUT
static const WCHAR * VAL_BORDER
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
struct tagSOUNDSENTRYW SOUNDSENTRYW
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
#define SPI_SETSCREENSAVETIMEOUT
SERIALKEYSA * LPSERIALKEYS
struct tagFILTERKEYS FILTERKEYS
static const WCHAR * KEY_KDBPREF
WALLPAPER_MODE WallpaperMode
static const WCHAR * VAL_SWAP
static const WCHAR * KEY_SOUND
static const WCHAR * VAL_CARETRATE
BOOL g_PaintDesktopVersion
struct tagMINIMIZEDMETRICS * LPMINIMIZEDMETRICS
static const WCHAR * VAL_HOVERWIDTH
CURSORACCELERATION_INFO caiMouse
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_ pdwDataLen BYTE * pbData