+ switch (uiAction)
+ {
+ case SPI_GETWORKAREA:
+ {
+ return SystemParametersInfoW(uiAction, uiParam, pvParam, fWinIni);
+ }
+ case SPI_GETNONCLIENTMETRICS:
+ {
+ LPNONCLIENTMETRICSA nclma = (LPNONCLIENTMETRICSA)pvParam;
+ NONCLIENTMETRICSW nclmw;
+ nclmw.cbSize = sizeof(NONCLIENTMETRICSW);
+
+ if (!SystemParametersInfoW(uiAction, sizeof(NONCLIENTMETRICSW),
+ &nclmw, fWinIni))
+ return FALSE;
+
+ nclma->iBorderWidth = nclmw.iBorderWidth;
+ nclma->iScrollWidth = nclmw.iScrollWidth;
+ nclma->iScrollHeight = nclmw.iScrollHeight;
+ nclma->iCaptionWidth = nclmw.iCaptionWidth;
+ nclma->iCaptionHeight = nclmw.iCaptionHeight;
+ nclma->iSmCaptionWidth = nclmw.iSmCaptionWidth;
+ nclma->iSmCaptionHeight = nclmw.iSmCaptionHeight;
+ nclma->iMenuWidth = nclmw.iMenuWidth;
+ nclma->iMenuHeight = nclmw.iMenuHeight;
+ RosRtlLogFontW2A(&(nclma->lfCaptionFont), &(nclmw.lfCaptionFont));
+ RosRtlLogFontW2A(&(nclma->lfSmCaptionFont), &(nclmw.lfSmCaptionFont));
+ RosRtlLogFontW2A(&(nclma->lfMenuFont), &(nclmw.lfMenuFont));
+ RosRtlLogFontW2A(&(nclma->lfStatusFont), &(nclmw.lfStatusFont));
+ RosRtlLogFontW2A(&(nclma->lfMessageFont), &(nclmw.lfMessageFont));
+ return TRUE;
+ }
+ case SPI_GETICONTITLELOGFONT:
+ {
+ LOGFONTW lfw;
+ if (!SystemParametersInfoW(uiAction, 0, &lfw, fWinIni))
+ return FALSE;
+ RosRtlLogFontW2A(pvParam, &lfw);
+ return TRUE;
+ }
+ }
+
+ return FALSE;