ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
December 2014
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
17 participants
387 discussions
Start a n
N
ew thread
[pschweitzer] 65826: [WHOAMI] Add French translation It's totally broken though because the util directly writes Unicode to console. That should be fixed (see CORE-8965).
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Thu Dec 25 22:01:29 2014 New Revision: 65826 URL:
http://svn.reactos.org/svn/reactos?rev=65826&view=rev
Log: [WHOAMI] Add French translation It's totally broken though because the util directly writes Unicode to console. That should be fixed (see CORE-8965). Added: trunk/reactos/base/applications/cmdutils/whoami/lang/fr-FR.rc (with props) Modified: trunk/reactos/base/applications/cmdutils/whoami/whoami.rc Added: trunk/reactos/base/applications/cmdutils/whoami/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/whoami/lang/fr-FR.rc (added) +++ trunk/reactos/base/applications/cmdutils/whoami/lang/fr-FR.rc [iso-8859-1] Thu Dec 25 22:01:29 2014 @@ -0,0 +1,56 @@ +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_USER_HEADER "INFORMATIONS UTILISATEUR" + IDS_GROU_HEADER "INFORMATIONS GROUPE" + IDS_PRIV_HEADER "INFORMATIONS PRIVILEGES" + IDS_COL_USER_NAME "Nom d'utilisateur" + IDS_COL_GROUP_NAME "Nom du groupe" + IDS_COL_TYPE "Type" + IDS_COL_SID "SID" + IDS_COL_ATTRIB "Attributs" + IDS_COL_PRIV_NAME "Nom du privilège" + IDS_COL_DESCRIPTION "Description" + IDS_COL_STATE "Statut" + IDS_TP_WELL_KNOWN_GROUP "Groupe connu" + IDS_TP_ALIAS "Alias" + IDS_TP_LABEL "Label" + + /* [!] important note from the programmer: the program tries to remove + the last ', ' after concatenating, so keep than in mind when translating. + + you can test your translation of these attributes by using 'whoami /groups' */ + + IDS_ATTR_GROUP_MANDATORY "Groupe obligatoire, " + IDS_ATTR_GROUP_ENABLED_BY_DEFAULT "Activé par défaut, " + IDS_ATTR_GROUP_ENABLED "Groupe activé, " + IDS_ATTR_GROUP_OWNER "Propriétaire du groupe, " + IDS_UNKNOWN_DESCRIPTION "???" + IDS_STATE_ENABLED "Activé" + IDS_STATE_DISABLED "Désactivé" + IDS_ERROR_UPN "Erreur : impossible de récupérer le nom d'utilisateur principal (UPN) étant donné que l'utilisateur actuel\nn'est pas un utilisateur du domaine.\n" + IDS_ERROR_FQDN "Errur : impossible de récupérer Fully Qualified Distinguished Name (FQDN) as the current\nlogged-on user is not a domain user.\n" + IDS_ERROR_VALUEXPECTED "Erreur : syntaxe incorrecte. Une valeur est attendue pour '/fo'.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_ERROR_VALUENOTALLOWED "Erreur : syntaxe incorrecte. La valeur '%s' n'est pas autorisée pour l'option '/fo'.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_ERROR_1TIMES "Erreur : syntaxe incorrecte. L'option '%s' n'est pas autorisée plus de '1' fois.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_ERROR_INVALIDSYNTAX "Erreur : syntaxe incorrecte.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_ERROR_INVALIDARG "Erreur : Argument/option non valide - '%s'.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_ERROR_NH_LIST "Erreur : l'argument /NH ne peut pas être utilisé avec le format LIST.\nTapez ""WHOAMI /?"" pour l'aide.\n" + IDS_HELP "DESCRIPTION:\n\ + Affiche les informations sur l'utilisateur, les groupes et les privilèges pour l'utilisateur actuellement connecté.\n\ + Si aucun argument n'est fourni, affiche le domaine et le nom d'utilisateur en cours d'usage.\n\ +\n\ + Les formats de sortie disponibles pour l'option '/fo' sont 'csv', 'list' et 'table'.\n\ + Utilisez '/nh' pour cacher les entêtes. Par défaut, les données sont affichées dans un tableau.\n\ +\n\ +SYNTAX:\n\ + whoami [/upn | /fqdn | /logonid] \n\ + whoami {[/user] [/groups] [/priv]} [/fo <Format>] [/nh] \n\ + whoami /all [/fo <Format>] [/nh] \n\ +\n\ +EXAMPLES: \n\ + whoami /groups /priv /nh /fo csv \n\ + whoami /logonid \n\ + whoami \n" +END Propchange: trunk/reactos/base/applications/cmdutils/whoami/lang/fr-FR.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/base/applications/cmdutils/whoami/whoami.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/whoami/whoami.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/whoami/whoami.rc [iso-8859-1] Thu Dec 25 22:01:29 2014 @@ -22,6 +22,9 @@ #ifdef LANGUAGE_ES_ES #include "lang/es-ES.rc" #endif +#ifdef LANGUAGE_FR_FR + #include "lang/fr-FR.rc" +#endif #ifdef LANGUAGE_RU_RU #include "lang/ru-RU.rc" #endif
10 years
1
0
0
0
[hbelusca] 65825: [USER32] - CreateSystemThreads' parameter is unused, and the parameter of ONEPARAM_ROUTINE_CREATESYSTEMTHREADS win32k system call is set to TRUE when creating system threads in "r...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Thu Dec 25 15:50:07 2014 New Revision: 65825 URL:
http://svn.reactos.org/svn/reactos?rev=65825&view=rev
Log: [USER32] - CreateSystemThreads' parameter is unused, and the parameter of ONEPARAM_ROUTINE_CREATESYSTEMTHREADS win32k system call is set to TRUE when creating system threads in "remote processes", i.e. not CSRSS. - Few code formatting fixes. CORE-8949 Modified: trunk/reactos/win32ss/user/ntuser/simplecall.c trunk/reactos/win32ss/user/user32/include/ntwrapper.h trunk/reactos/win32ss/user/user32/misc/stubs.c Modified: trunk/reactos/win32ss/user/ntuser/simplecall.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/simple…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/simplecall.c [iso-8859-1] Thu Dec 25 15:50:07 2014 @@ -346,8 +346,8 @@ case ONEPARAM_ROUTINE_REPLYMESSAGE: RETURN (co_MsqReplyMessage((LRESULT) Param)); case ONEPARAM_ROUTINE_MESSAGEBEEP: + /* TODO: Implement sound sentry */ RETURN ( UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_MESSAGE_BEEP, Param) ); - /* TODO: Implement sound sentry */ case ONEPARAM_ROUTINE_CREATESYSTEMTHREADS: RETURN(CreateSystemThreads(Param)); case ONEPARAM_ROUTINE_LOCKFOREGNDWINDOW: Modified: trunk/reactos/win32ss/user/user32/include/ntwrapper.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/includ…
============================================================================== --- trunk/reactos/win32ss/user/user32/include/ntwrapper.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/user32/include/ntwrapper.h [iso-8859-1] Thu Dec 25 15:50:07 2014 @@ -503,7 +503,7 @@ EXTINLINE HWND WINAPI SetCapture(HWND hWnd) { - return(NtUserSetCapture(hWnd)); + return NtUserSetCapture(hWnd); } EXTINLINE BOOL WINAPI @@ -541,17 +541,17 @@ return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_DESTROY_CARET); } -EXTINLINE VOID NtUserxMsqClearWakeMask() +EXTINLINE VOID NtUserxMsqClearWakeMask(VOID) { NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK); } -EXTINLINE HMENU NtUserxCreateMenu() +EXTINLINE HMENU NtUserxCreateMenu(VOID) { return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU); } -EXTINLINE HMENU NtUserxCreatePopupMenu() +EXTINLINE HMENU NtUserxCreatePopupMenu(VOID) { return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP); } @@ -566,12 +566,12 @@ return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE); } -EXTINLINE BOOL NtUserxInitMessagePump() -{ - return NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP); -} - -EXTINLINE BOOL NtUserxUnInitMessagePump() +EXTINLINE BOOL NtUserxInitMessagePump(VOID) +{ + return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP); +} + +EXTINLINE BOOL NtUserxUnInitMessagePump(VOID) { return NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP); } @@ -641,9 +641,9 @@ return (UINT)NtUserCallOneParam((DWORD_PTR)hDC, ONEPARAM_ROUTINE_REALIZEPALETTE); } -EXTINLINE VOID NtUserxCreateSystemThreads(DWORD param) -{ - NtUserCallOneParam(param, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS); +EXTINLINE VOID NtUserxCreateSystemThreads(BOOL bRemoteProcess) +{ + NtUserCallOneParam(bRemoteProcess, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS); } EXTINLINE HDWP NtUserxBeginDeferWindowPos(INT nNumWindows) Modified: trunk/reactos/win32ss/user/user32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/misc/s…
============================================================================== --- trunk/reactos/win32ss/user/user32/misc/stubs.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/user32/misc/stubs.c [iso-8859-1] Thu Dec 25 15:50:07 2014 @@ -512,9 +512,10 @@ VOID WINAPI -CreateSystemThreads(DWORD dwUnknown) -{ - NtUserxCreateSystemThreads(dwUnknown); +CreateSystemThreads(DWORD Unused) +{ + /* Thread call for remote processes (non-CSRSS) only */ + NtUserxCreateSystemThreads(TRUE); ExitThread(0); }
10 years
1
0
0
0
[hbelusca] 65824: [WIN32K]: Change the enum id name for something meaningful (here: PROC == process and not procedure).
by hbelusca@svn.reactos.org
Author: hbelusca Date: Thu Dec 25 15:27:31 2014 New Revision: 65824 URL:
http://svn.reactos.org/svn/reactos?rev=65824&view=rev
Log: [WIN32K]: Change the enum id name for something meaningful (here: PROC == process and not procedure). Modified: trunk/reactos/win32ss/include/ntuser.h Modified: trunk/reactos/win32ss/include/ntuser.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/include/ntuser.h?r…
============================================================================== --- trunk/reactos/win32ss/include/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/include/ntuser.h [iso-8859-1] Thu Dec 25 15:27:31 2014 @@ -1364,7 +1364,7 @@ #if (WIN32K_VERSION >= NTDDI_VISTA) NOPARAM_ROUTINE_HANDLESYSTHRDCREATFAIL, #else - NOPARAM_ROUTINE_GETREMOTEPROCID, + NOPARAM_ROUTINE_GETREMOTEPROCESSID, #endif NOPARAM_ROUTINE_HIDECURSORNOCAPTURE, NOPARAM_ROUTINE_LOADCURSANDICOS,
10 years
1
0
0
0
[hbelusca] 65823: [USER32]: Fix whitespace. Everybody knows that our user32/win32k modules are the best examples of good programming, indentation rules and so on...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Thu Dec 25 15:03:48 2014 New Revision: 65823 URL:
http://svn.reactos.org/svn/reactos?rev=65823&view=rev
Log: [USER32]: Fix whitespace. Everybody knows that our user32/win32k modules are the best examples of good programming, indentation rules and so on... Modified: trunk/reactos/win32ss/user/user32/include/ntwrapper.h Modified: trunk/reactos/win32ss/user/user32/include/ntwrapper.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/includ…
============================================================================== --- trunk/reactos/win32ss/user/user32/include/ntwrapper.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/user32/include/ntwrapper.h [iso-8859-1] Thu Dec 25 15:03:48 2014 @@ -1,7 +1,7 @@ #pragma once #if defined(__GNUC__) -#define EXTINLINE extern inline __attribute__((always_inline)) +#define EXTINLINE extern inline __attribute__((always_inline)) #elif defined(_MSC_VER) #define EXTINLINE extern __forceinline #else @@ -55,7 +55,7 @@ EXTINLINE BOOL WINAPI SetShellWindowEx(HWND hwndShell, HWND hwndShellListView) { - return NtUserSetShellWindowEx(hwndShell, hwndShellListView); + return NtUserSetShellWindowEx(hwndShell, hwndShellListView); } EXTINLINE DWORD WINAPI @@ -127,7 +127,7 @@ EXTINLINE BOOL WINAPI SetProcessWindowStation(HWINSTA hWinSta) { - return NtUserSetProcessWindowStation(hWinSta); + return NtUserSetProcessWindowStation(hWinSta); } EXTINLINE BOOL WINAPI @@ -142,7 +142,7 @@ return NtUserUnlockWindowStation(hWinSta); } -EXTINLINE int WINAPI +EXTINLINE int WINAPI CopyAcceleratorTableW(HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries) { return NtUserCopyAcceleratorTable(hAccelSrc, lpAccelDst, cAccelEntries); @@ -317,7 +317,7 @@ EXTINLINE BOOL WINAPI GetKeyboardState(PBYTE lpKeyState) { - return NtUserGetKeyboardState((LPBYTE) lpKeyState); + return NtUserGetKeyboardState((LPBYTE)lpKeyState); } EXTINLINE BOOL WINAPI @@ -512,19 +512,19 @@ return NtUserInvalidateRect(hWnd, lpRect, bErase); } -EXTINLINE BOOL WINAPI ValidateRect( HWND hWnd, CONST RECT *lpRect) -{ - return NtUserValidateRect(hWnd, lpRect); -} - -EXTINLINE BOOL WINAPI ShowCaret( HWND hWnd ) -{ - return NtUserShowCaret(hWnd); -} - -EXTINLINE BOOL WINAPI HideCaret( HWND hWnd ) -{ - return NtUserHideCaret(hWnd); +EXTINLINE BOOL WINAPI ValidateRect(HWND hWnd, CONST RECT *lpRect) +{ + return NtUserValidateRect(hWnd, lpRect); +} + +EXTINLINE BOOL WINAPI ShowCaret(HWND hWnd) +{ + return NtUserShowCaret(hWnd); +} + +EXTINLINE BOOL WINAPI HideCaret(HWND hWnd) +{ + return NtUserHideCaret(hWnd); } @@ -558,12 +558,12 @@ EXTINLINE DWORD NtUserxGetMessagePos(VOID) { - return (DWORD)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS); + return (DWORD)NtUserCallNoParam(NOPARAM_ROUTINE_GETMSESSAGEPOS); } EXTINLINE BOOL NtUserxReleaseCapture(VOID) { - return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE); + return (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_RELEASECAPTURE); } EXTINLINE BOOL NtUserxInitMessagePump() @@ -613,7 +613,7 @@ EXTINLINE HICON NtUserxCreateEmptyCurObject(DWORD_PTR Param) { - return (HICON)NtUserCallOneParam(Param, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT); + return (HICON)NtUserCallOneParam(Param, ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT); } EXTINLINE BOOL NtUserxMessageBeep(UINT uType) @@ -623,22 +623,22 @@ EXTINLINE HKL NtUserxGetKeyboardLayout(DWORD idThread) { - return (HKL)NtUserCallOneParam((DWORD_PTR) idThread, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT); + return (HKL)NtUserCallOneParam((DWORD_PTR)idThread, ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT); } EXTINLINE INT NtUserxGetKeyboardType(INT nTypeFlag) { - return (INT)NtUserCallOneParam((DWORD_PTR) nTypeFlag, ONEPARAM_ROUTINE_GETKEYBOARDTYPE); + return (INT)NtUserCallOneParam((DWORD_PTR)nTypeFlag, ONEPARAM_ROUTINE_GETKEYBOARDTYPE); } EXTINLINE INT NtUserxReleaseDC(HDC hDC) { - return (INT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_RELEASEDC); -} - -EXTINLINE UINT NtUserxRealizePalette ( HDC hDC ) -{ - return (UINT)NtUserCallOneParam((DWORD_PTR) hDC, ONEPARAM_ROUTINE_REALIZEPALETTE); + return (INT)NtUserCallOneParam((DWORD_PTR)hDC, ONEPARAM_ROUTINE_RELEASEDC); +} + +EXTINLINE UINT NtUserxRealizePalette(HDC hDC) +{ + return (UINT)NtUserCallOneParam((DWORD_PTR)hDC, ONEPARAM_ROUTINE_REALIZEPALETTE); } EXTINLINE VOID NtUserxCreateSystemThreads(DWORD param) @@ -653,7 +653,7 @@ EXTINLINE BOOL NtUserxReplyMessage(LRESULT lResult) { - return NtUserCallOneParam(lResult, ONEPARAM_ROUTINE_REPLYMESSAGE); + return NtUserCallOneParam(lResult, ONEPARAM_ROUTINE_REPLYMESSAGE); } EXTINLINE VOID NtUserxPostQuitMessage(int nExitCode) @@ -663,7 +663,7 @@ EXTINLINE DWORD NtUserxGetQueueStatus(UINT flags) { - return (DWORD)NtUserCallOneParam(flags, ONEPARAM_ROUTINE_GETQUEUESTATUS); + return (DWORD)NtUserCallOneParam(flags, ONEPARAM_ROUTINE_GETQUEUESTATUS); } EXTINLINE BOOL NtUserxValidateRgn(HWND hWnd, HRGN hRgn) @@ -678,7 +678,7 @@ EXTINLINE BOOL NtUserxEnableWindow(HWND hWnd, BOOL bEnable) { - return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)bEnable, TWOPARAM_ROUTINE_ENABLEWINDOW); + return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, (DWORD_PTR)bEnable, TWOPARAM_ROUTINE_ENABLEWINDOW); } EXTINLINE BOOL NtUserxUpdateUiState(HWND hWnd, DWORD Param) @@ -691,16 +691,16 @@ return (BOOL)NtUserCallTwoParam((DWORD_PTR)hWnd, fShow, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS); } -EXTINLINE BOOL NtUserxUnhookWindowsHook ( int nCode, HOOKPROC pfnFilterProc ) -{ - return (BOOL)NtUserCallTwoParam(nCode, (DWORD_PTR)pfnFilterProc, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK); +EXTINLINE BOOL NtUserxUnhookWindowsHook(int nCode, HOOKPROC pfnFilterProc) +{ + return (BOOL)NtUserCallTwoParam(nCode, (DWORD_PTR)pfnFilterProc, TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK); } EXTINLINE BOOL NtUserxSetWindowContextHelpId(HWND hWnd, DWORD_PTR dwContextHelpId) { return (BOOL)NtUserCallHwndParam(hWnd, dwContextHelpId, HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID); } - + EXTINLINE BOOL NtUserxKillSystemTimer(HWND hWnd, UINT_PTR IDEvent) { return (BOOL)NtUserCallHwndParam(hWnd, IDEvent, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER); @@ -708,7 +708,7 @@ EXTINLINE VOID NtUserxSetDialogPointer(HWND hWnd, PVOID dlgInfo) { - NtUserCallHwndParam( hWnd, (DWORD_PTR)dlgInfo, HWNDPARAM_ROUTINE_SETDIALOGPOINTER ); + NtUserCallHwndParam(hWnd, (DWORD_PTR)dlgInfo, HWNDPARAM_ROUTINE_SETDIALOGPOINTER); } EXTINLINE VOID NtUserxNotifyWinEvent(HWND hWnd, PVOID ne) @@ -723,29 +723,29 @@ EXTINLINE BOOL NtUserxDeregisterShellHookWindow(HWND hWnd) { - return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW); + return NtUserCallHwnd(hWnd, HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW); } EXTINLINE BOOL NtUserxRegisterShellHookWindow(HWND hWnd) { - return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW); + return NtUserCallHwnd(hWnd, HWND_ROUTINE_REGISTERSHELLHOOKWINDOW); } EXTINLINE BOOL NtUserxSetMessageBox(HWND hWnd) { - return NtUserCallHwnd(hWnd, HWND_ROUTINE_SETMSGBOX); + return NtUserCallHwnd(hWnd, HWND_ROUTINE_SETMSGBOX); } EXTINLINE VOID NtUserxClearWindowState(PWND pWnd, UINT Flag) { - if (!TestState(pWnd, Flag)) return; - NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE); + if (!TestState(pWnd, Flag)) return; + NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_CLEARWINDOWSTATE); } EXTINLINE VOID NtUserxSetWindowState(PWND pWnd, UINT Flag) { - if (TestState(pWnd, Flag)) return; - NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_SETWINDOWSTATE); + if (TestState(pWnd, Flag)) return; + NtUserCallHwndParam(UserHMGetHandle(pWnd), (DWORD_PTR)Flag, HWNDPARAM_ROUTINE_SETWINDOWSTATE); } EXTINLINE HWND NtUserxSetTaskmanWindow(HWND hWnd) @@ -760,7 +760,7 @@ EXTINLINE UINT NtUserxArrangeIconicWindows(HWND hWnd) { - return (UINT)NtUserCallHwndLock( hWnd, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS); + return (UINT)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS); } EXTINLINE BOOL NtUserxUpdateWindow(HWND hWnd) @@ -784,11 +784,11 @@ } -/* Reactos specific definitions */ +/* ReactOS-specific definitions */ EXTINLINE LPARAM NtUserxGetMessageExtraInfo(VOID) { - return (LPARAM)NtUserGetThreadState(THREADSTATE_GETMESSAGEEXTRAINFO); + return (LPARAM)NtUserGetThreadState(THREADSTATE_GETMESSAGEEXTRAINFO); } EXTINLINE BOOL NtUserxSwitchCaretShowing(THRDCARETINFO* CaretInfo)
10 years
1
0
0
0
[dquintana] 65822: [RSHELL] * Add a copy of CBandSite to rshell, so we can debug it in windows with our explorer.
by dquintana@svn.reactos.org
Author: dquintana Date: Wed Dec 24 17:00:53 2014 New Revision: 65822 URL:
http://svn.reactos.org/svn/reactos?rev=65822&view=rev
Log: [RSHELL] * Add a copy of CBandSite to rshell, so we can debug it in windows with our explorer. Added: trunk/reactos/base/shell/rshell/CBandSite.cpp - copied, changed from r65814, trunk/reactos/dll/win32/browseui/bandsite.cpp trunk/reactos/base/shell/rshell/CBandSite.h - copied, changed from r65814, trunk/reactos/dll/win32/browseui/bandsite.h Modified: trunk/reactos/base/shell/rshell/CMakeLists.txt trunk/reactos/base/shell/rshell/misc.cpp trunk/reactos/base/shell/rshell/precomp.h Copied: trunk/reactos/base/shell/rshell/CBandSite.cpp (from r65814, trunk/reactos/dll/win32/browseui/bandsite.cpp) URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/rshell/CBandSit…
============================================================================== --- trunk/reactos/dll/win32/browseui/bandsite.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/rshell/CBandSite.cpp [iso-8859-1] Wed Dec 24 17:00:53 2014 @@ -20,12 +20,23 @@ */ #include "precomp.h" +#include <shobjidl.h> + +#include "CBandSite.h" + +WINE_DEFAULT_DEBUG_CHANNEL(CBandSite); #ifndef ASSERT #define ASSERT(cond) \ if (!(cond)) \ ERR ("ASSERTION %s AT %s:%d FAILED!\n", #cond, __FILE__, __LINE__) #endif + +extern "C" +HRESULT WINAPI CBandSite_Constructor(REFIID riid, LPVOID *ppv) +{ + return ShellObjectCreator<CBandSite>(riid, ppv); +} CBandSiteBase::CBandSiteBase() { Copied: trunk/reactos/base/shell/rshell/CBandSite.h (from r65814, trunk/reactos/dll/win32/browseui/bandsite.h) URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/rshell/CBandSit…
============================================================================== --- trunk/reactos/dll/win32/browseui/bandsite.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/rshell/CBandSite.h [iso-8859-1] Wed Dec 24 17:00:53 2014 @@ -142,8 +142,6 @@ public CBandSiteBase { public: - - DECLARE_REGISTRY_RESOURCEID(IDR_BANDSITE) DECLARE_AGGREGATABLE(CBandSite) DECLARE_PROTECT_FINAL_CONSTRUCT() Modified: trunk/reactos/base/shell/rshell/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/rshell/CMakeLis…
============================================================================== --- trunk/reactos/base/shell/rshell/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/base/shell/rshell/CMakeLists.txt [iso-8859-1] Wed Dec 24 17:00:53 2014 @@ -7,6 +7,7 @@ spec2def(rshell.dll rshell.spec ADD_IMPORTLIB) list(APPEND SOURCE + CBandSite.cpp CDesktopBrowser.cpp CMenuBand.cpp CMenuDeskBar.cpp Modified: trunk/reactos/base/shell/rshell/misc.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/rshell/misc.cpp…
============================================================================== --- trunk/reactos/base/shell/rshell/misc.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/rshell/misc.cpp [iso-8859-1] Wed Dec 24 17:00:53 2014 @@ -149,6 +149,7 @@ RegisterComponent(CLSID_MenuBand, L"Shell Menu Band"); RegisterComponent(CLSID_MenuBandSite, L"Shell Menu Band Site"); RegisterComponent(CLSID_MergedFolder, L"Merged Shell Folder"); + RegisterComponent(CLSID_RebarBandSite, L"Shell Rebar Band Site"); return S_OK; } @@ -160,6 +161,7 @@ UnregisterComponent(CLSID_MenuBand); UnregisterComponent(CLSID_MenuBandSite); UnregisterComponent(CLSID_MergedFolder); + UnregisterComponent(CLSID_RebarBandSite); return S_OK; } @@ -200,6 +202,9 @@ if (IsEqualCLSID(m_Clsid, CLSID_MergedFolder)) return CMergedFolder_Constructor(riid, ppvObject); + if (IsEqualCLSID(m_Clsid, CLSID_RebarBandSite)) + return CBandSite_Constructor(riid, ppvObject); + return E_NOINTERFACE; } Modified: trunk/reactos/base/shell/rshell/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/rshell/precomp.…
============================================================================== --- trunk/reactos/base/shell/rshell/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/rshell/precomp.h [iso-8859-1] Wed Dec 24 17:00:53 2014 @@ -74,8 +74,5 @@ extern "C" HRESULT WINAPI CMenuDeskBar_Constructor(REFIID riid, LPVOID *ppv); extern "C" HRESULT WINAPI CMenuSite_Constructor(REFIID riid, LPVOID *ppv); extern "C" HRESULT WINAPI CMenuBand_Constructor(REFIID riid, LPVOID *ppv); -extern "C" HRESULT WINAPI CMenuDeskBar_Wrapper(IDeskBar * db, REFIID riid, LPVOID *ppv); -extern "C" HRESULT WINAPI CMenuSite_Wrapper(IBandSite * bs, REFIID riid, LPVOID *ppv); -extern "C" HRESULT WINAPI CMenuBand_Wrapper(IShellMenu * sm, REFIID riid, LPVOID *ppv); +extern "C" HRESULT WINAPI CBandSite_Constructor(REFIID riid, LPVOID *ppv); extern "C" HRESULT WINAPI CMergedFolder_Constructor(REFIID riid, LPVOID *ppv); -extern "C" HRESULT WINAPI CStartMenuSite_Wrapper(ITrayPriv * trayPriv, REFIID riid, LPVOID *ppv);
10 years
1
0
0
0
[dquintana] 65821: [BROWSEUI] * Do not make browseui an NT6 dll just because it has a missing include and it needs a few previously undocumented constants. We can just define them in an undoc header.
by dquintana@svn.reactos.org
Author: dquintana Date: Wed Dec 24 16:14:10 2014 New Revision: 65821 URL:
http://svn.reactos.org/svn/reactos?rev=65821&view=rev
Log: [BROWSEUI] * Do not make browseui an NT6 dll just because it has a missing include and it needs a few previously undocumented constants. We can just define them in an undoc header. Modified: trunk/reactos/dll/win32/browseui/CMakeLists.txt trunk/reactos/dll/win32/browseui/precomp.h trunk/reactos/include/reactos/undocshell.h Modified: trunk/reactos/dll/win32/browseui/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/CMakeLi…
============================================================================== --- trunk/reactos/dll/win32/browseui/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/CMakeLists.txt [iso-8859-1] Wed Dec 24 16:14:10 2014 @@ -1,9 +1,6 @@ PROJECT(SHELL) set_cpp(WITH_RUNTIME) - -remove_definitions(-D_WIN32_WINNT=0x502) -add_definitions(-D_WIN32_WINNT=0x600) include_directories(${REACTOS_SOURCE_DIR}/lib/atl) spec2def(browseui.dll browseui.spec ADD_IMPORTLIB) Modified: trunk/reactos/dll/win32/browseui/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/precomp…
============================================================================== --- trunk/reactos/dll/win32/browseui/precomp.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/precomp.h [iso-8859-1] Wed Dec 24 16:14:10 2014 @@ -10,6 +10,7 @@ #include <windef.h> #include <winbase.h> #include <wincon.h> +#include <wingdi.h> #include <shlobj.h> #include <tlogstg.h> #include <shlobj_undoc.h> Modified: trunk/reactos/include/reactos/undocshell.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/undocshell…
============================================================================== --- trunk/reactos/include/reactos/undocshell.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/undocshell.h [iso-8859-1] Wed Dec 24 16:14:10 2014 @@ -22,6 +22,13 @@ #ifdef __cplusplus extern "C" { #endif /* defined(__cplusplus) */ + + +#if (NTDDI_VERSION < NTDDI_LONGHORN) +#define DBIMF_NOGRIPPER 0x0800 +#define DBIMF_ALWAYSGRIPPER 0x1000 +#define DBIMF_NOMARGINS 0x2000 +#endif // NTDDI_LONGHORN /**************************************************************************** * Taskbar WM_COMMAND identifiers
10 years
1
0
0
0
[hbelusca] 65820: [WIN32K] Fix NtUserProcessConnect to use the process handle we give to it, instead of the "current process"... This should fix the user32 CSR connection that I was failing to fix ...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Wed Dec 24 15:48:37 2014 New Revision: 65820 URL:
http://svn.reactos.org/svn/reactos?rev=65820&view=rev
Log: [WIN32K] Fix NtUserProcessConnect to use the process handle we give to it, instead of the "current process"... This should fix the user32 CSR connection that I was failing to fix in previous revisions... CORE-8949 Modified: trunk/reactos/win32ss/include/ntuser.h trunk/reactos/win32ss/user/ntuser/ntstubs.c Modified: trunk/reactos/win32ss/include/ntuser.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/include/ntuser.h?r…
============================================================================== --- trunk/reactos/win32ss/include/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/include/ntuser.h [iso-8859-1] Wed Dec 24 15:48:37 2014 @@ -2607,9 +2607,9 @@ NTSTATUS NTAPI NtUserProcessConnect( - IN HANDLE Process, + IN HANDLE ProcessHandle, OUT PUSERCONNECT pUserConnect, - IN DWORD dwSize); // sizeof(USERCONNECT) + IN ULONG Size); // sizeof(USERCONNECT) NTSTATUS NTAPI Modified: trunk/reactos/win32ss/user/ntuser/ntstubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/ntstub…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] Wed Dec 24 15:48:37 2014 @@ -720,11 +720,12 @@ NTSTATUS APIENTRY NtUserProcessConnect( - HANDLE Process, - PUSERCONNECT pUserConnect, - DWORD Size) -{ - NTSTATUS Status = STATUS_SUCCESS; + IN HANDLE ProcessHandle, + OUT PUSERCONNECT pUserConnect, + IN ULONG Size) +{ + NTSTATUS Status; + PEPROCESS Process = NULL; PPROCESSINFO W32Process; TRACE("NtUserProcessConnect\n"); @@ -735,9 +736,20 @@ return STATUS_UNSUCCESSFUL; } + /* Get the process object the user handle was referencing */ + Status = ObReferenceObjectByHandle(ProcessHandle, + PROCESS_VM_OPERATION, + *PsProcessType, + UserMode, + (PVOID*)&Process, + NULL); + if (!NT_SUCCESS(Status)) return Status; + UserEnterShared(); - W32Process = PsGetCurrentProcessWin32Process(); + /* Get Win32 process information */ + W32Process = PsGetProcessWin32Process(Process); + _SEH2_TRY { // FIXME: Check that pUserConnect->ulVersion == USER_VERSION; @@ -755,11 +767,13 @@ _SEH2_END; if (!NT_SUCCESS(Status)) - { SetLastNtError(Status); - } UserLeave(); + + /* Dereference the process object */ + ObDereferenceObject(Process); + return Status; }
10 years
1
0
0
0
[hbelusca] 65819: [NETSHELL] Fix flags usage for LoadImage / CopyImage, that made network tray applet icons uglily being downscaled from 32px versions instead of their 16px counterparts.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Wed Dec 24 15:25:42 2014 New Revision: 65819 URL:
http://svn.reactos.org/svn/reactos?rev=65819&view=rev
Log: [NETSHELL] Fix flags usage for LoadImage / CopyImage, that made network tray applet icons uglily being downscaled from 32px versions instead of their 16px counterparts. Modified: trunk/reactos/dll/shellext/netshell/lanstatusui.cpp Modified: trunk/reactos/dll/shellext/netshell/lanstatusui.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/shellext/netshell/lans…
============================================================================== --- trunk/reactos/dll/shellext/netshell/lanstatusui.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/shellext/netshell/lanstatusui.cpp [iso-8859-1] Wed Dec 24 15:25:42 2014 @@ -185,22 +185,22 @@ { if (pContext->dwInOctets == IfEntry.dwInOctets && pContext->dwOutOctets == IfEntry.dwOutOctets && pContext->Status != 0) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_IDLE), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_IDLE), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 0; } else if (pContext->dwInOctets != IfEntry.dwInOctets && pContext->dwOutOctets != IfEntry.dwOutOctets && pContext->Status != 1) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_TRANSREC), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_TRANSREC), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 1; } else if (pContext->dwInOctets != IfEntry.dwInOctets && pContext->Status != 2) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_REC), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_REC), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 2; } else if (pContext->dwOutOctets != IfEntry.dwOutOctets && pContext->Status != 3) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_TRANS), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_TRANS), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 3; } } @@ -208,7 +208,7 @@ { if (pContext->Status != 4) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_OFF), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_OFF), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 4; } } @@ -216,7 +216,7 @@ { if (pContext->Status != 5) { - hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_OFF), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + hIcon = (HICON)LoadImage(netshell_hInstance, MAKEINTRESOURCE(IDI_NET_OFF), IMAGE_ICON, 32, 32, LR_SHARED); pContext->Status = 5; } } @@ -239,7 +239,7 @@ if (pProperties->dwCharacter & NCCF_SHOW_ICON) { if (hwndDlg) - nid.hIcon = (HICON)CopyImage(hIcon, IMAGE_ICON, 16, 16, 0); + nid.hIcon = (HICON)CopyImage(hIcon, IMAGE_ICON, 16, 16, LR_COPYFROMRESOURCE); else nid.hIcon = hIcon;
10 years
1
0
0
0
[jimtabor] 65818: - Fix, always something, thank you Thomas.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed Dec 24 00:18:03 2014 New Revision: 65818 URL:
http://svn.reactos.org/svn/reactos?rev=65818&view=rev
Log: - Fix, always something, thank you Thomas. Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/msgque…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] Wed Dec 24 00:18:03 2014 @@ -732,7 +732,7 @@ return NULL; } - RtlZeroMemory(Message, sizeof(Message)); + RtlZeroMemory(Message, sizeof(*Message)); RtlMoveMemory(&Message->Msg, Msg, sizeof(MSG)); return Message;
10 years
1
0
0
0
[hbelusca] 65817: [WIN32K] Reintroduce CSR support for kernel mode, based on code from Ge that was wiped out in revision 58770, and by ntdll CSR code. Is needed for kernel to user-mode CSR callback...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Tue Dec 23 21:17:24 2014 New Revision: 65817 URL:
http://svn.reactos.org/svn/reactos?rev=65817&view=rev
Log: [WIN32K] Reintroduce CSR support for kernel mode, based on code from Ge that was wiped out in revision 58770, and by ntdll CSR code. Is needed for kernel to user-mode CSR callbacks. For readers, I remind you the big callback picture in the Win32 subsystem: - In Windows NT 3.1 and 3.51, USER and GDI was modeled against client/server model (USER32.DLL and WINSRV.DLL, and GDI32.DLL and GDISRV.DLL), all running in user mode (using the CSR API). - Starting Windows NT 4.0 (and up), some USER and GDI parts were moved into kernel mode (in the WIN32K.SYS driver) to speedup communication. We get: * GDI32.DLL as the client, doing win32k system calls (kernel-mode system calls to win32k), * and USER32.DLL, WINSRV.DLL and WIN32K.SYS working in tandem, USER32.DLL being the client and {WINSRV.DLL, WIN32K.SYS} being the server. USER32.DLL can do win32k system calls or CSR calls to WINSRV.DLL (client to server calls). For server-to-server calls, we have WINSRV.DLL doing win32k system calls, or WIN32K.SYS doing CSR calls back to WINSRV.DLL . Also, there is the possibility for WIN32K.SYS to make user-mode callbacks to USER32.DLL. Modified: trunk/reactos/win32ss/CMakeLists.txt trunk/reactos/win32ss/user/ntuser/csr.c trunk/reactos/win32ss/user/ntuser/csr.h trunk/reactos/win32ss/user/ntuser/main.c trunk/reactos/win32ss/user/ntuser/ntstubs.c trunk/reactos/win32ss/user/ntuser/ntuser.c trunk/reactos/win32ss/user/ntuser/ntuser.h trunk/reactos/win32ss/win32kp.h Modified: trunk/reactos/win32ss/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/CMakeLists.txt?rev…
============================================================================== --- trunk/reactos/win32ss/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/win32ss/CMakeLists.txt [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -105,6 +105,7 @@ user/ntuser/caret.c user/ntuser/class.c user/ntuser/clipboard.c + user/ntuser/csr.c user/ntuser/defwnd.c user/ntuser/desktop.c user/ntuser/display.c Modified: trunk/reactos/win32ss/user/ntuser/csr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/csr.c?…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/csr.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/csr.c [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -1,91 +1,201 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS Win32k subsystem - * PURPOSE: Interface to CSRSS / USERSRV + * PURPOSE: Interface between Win32k and USERSRV * FILE: subsystems/win32/win32k/ntuser/csr.c - * PROGRAMER: Ge van Geldorp (ge(a)gse.nl) + * PROGRAMER: Hermes Belusca-Maito (hermes.belusca(a)sfr.fr), based on + * the original code by Ge van Geldorp (ge(a)gse.nl) and by + * the CSR code in NTDLL. */ #include <win32k.h> -static HANDLE WindowsApiPort = NULL; -// See gpepCSRSS in ntuser/ntuser.c and its initialization into NtUserInitialize() -PEPROCESS CsrProcess = NULL; - -NTSTATUS FASTCALL -CsrInit(void) +DBG_DEFAULT_CHANNEL(UserCsr); + +PEPROCESS gpepCSRSS = NULL; +PVOID CsrApiPort = NULL; + +VOID +InitCsrProcess(VOID /*IN PEPROCESS CsrProcess*/) +{ + /* Save the EPROCESS of CSRSS */ + gpepCSRSS = PsGetCurrentProcess(); + // gpepCSRSS = CsrProcess; + ObReferenceObject(gpepCSRSS); +} + +VOID +ResetCsrProcess(VOID) +{ + if (gpepCSRSS) + ObDereferenceObject(gpepCSRSS); + + gpepCSRSS = NULL; +} + +NTSTATUS +InitCsrApiPort(IN HANDLE CsrPortHandle) { NTSTATUS Status; - UNICODE_STRING PortName; - ULONG ConnectInfoLength; - SECURITY_QUALITY_OF_SERVICE Qos; - - RtlInitUnicodeString(&PortName, L"\\Windows\\ApiPort"); - ConnectInfoLength = 0; - Qos.Length = sizeof(Qos); - Qos.ImpersonationLevel = SecurityDelegation; - Qos.ContextTrackingMode = SECURITY_STATIC_TRACKING; - Qos.EffectiveOnly = FALSE; - - Status = ZwConnectPort(&WindowsApiPort, - &PortName, - &Qos, - NULL, - NULL, - NULL, - NULL, - &ConnectInfoLength); + + Status = ObReferenceObjectByHandle(CsrPortHandle, + 0, + /* * */LpcPortObjectType, // or NULL, + UserMode, + &CsrApiPort, + NULL); if (!NT_SUCCESS(Status)) { - return Status; - } - - CsrProcess = PsGetCurrentProcess(); - - return STATUS_SUCCESS; -} - -NTSTATUS FASTCALL -co_CsrNotify(PCSR_API_MESSAGE Request) -{ - NTSTATUS Status; - PEPROCESS OldProcess; - - if (NULL == CsrProcess) - { - return STATUS_INVALID_PORT_HANDLE; - } - - Request->Header.u2.ZeroInit = 0; - Request->Header.u1.s1.DataLength = sizeof(CSR_API_MESSAGE) - sizeof(PORT_MESSAGE); - Request->Header.u1.s1.TotalLength = sizeof(CSR_API_MESSAGE); - - /* Switch to the process in which the WindowsApiPort handle is valid */ - OldProcess = PsGetCurrentProcess(); - if (CsrProcess != OldProcess) - { - KeAttachProcess(&CsrProcess->Pcb); - } - - UserLeaveCo(); - - Status = ZwRequestWaitReplyPort(WindowsApiPort, - &Request->Header, - &Request->Header); - - UserEnterCo(); - - if (CsrProcess != OldProcess) - { - KeDetachProcess(); - } - - if (NT_SUCCESS(Status)) - { - Status = Request->Status; - } - - return Status; + CsrApiPort = NULL; + ERR("Failed to set CSR API Port.\n"); + } + + return Status; +} + +VOID +ResetCsrApiPort(VOID) +{ + if (CsrApiPort) + ObDereferenceObject(CsrApiPort); + + CsrApiPort = NULL; +} + +/* + * Function copied from ntdll/csr/connect.c::CsrClientCallServer + * and adapted for kernel-mode. + * + * NOTE: This is really a co_* function! + */ +NTSTATUS +NTAPI +CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage, + IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL, + IN CSR_API_NUMBER ApiNumber, + IN ULONG DataLength) +{ + NTSTATUS Status; +#if 0 + ULONG PointerCount; + PULONG_PTR OffsetPointer; +#endif + + /* Do we have a connection to CSR yet? */ + if (!CsrApiPort) + return STATUS_INVALID_PORT_HANDLE; + + /* Fill out the Port Message Header */ + ApiMessage->Header.u2.ZeroInit = 0; + ApiMessage->Header.u1.s1.TotalLength = DataLength + + sizeof(CSR_API_MESSAGE) - sizeof(ApiMessage->Data); // FIELD_OFFSET(CSR_API_MESSAGE, Data) + DataLength; + ApiMessage->Header.u1.s1.DataLength = DataLength + + FIELD_OFFSET(CSR_API_MESSAGE, Data) - sizeof(ApiMessage->Header); // ApiMessage->Header.u1.s1.TotalLength - sizeof(PORT_MESSAGE); + + /* Fill out the CSR Header */ + ApiMessage->ApiNumber = ApiNumber; + ApiMessage->CsrCaptureData = NULL; + + TRACE("API: %lx, u1.s1.DataLength: %x, u1.s1.TotalLength: %x\n", + ApiNumber, + ApiMessage->Header.u1.s1.DataLength, + ApiMessage->Header.u1.s1.TotalLength); + +#if 0 + /* Check if we got a Capture Buffer */ + if (CaptureBuffer) + { + /* + * We have to convert from our local (client) view + * to the remote (server) view. + */ + ApiMessage->CsrCaptureData = (PCSR_CAPTURE_BUFFER) + ((ULONG_PTR)CaptureBuffer + CsrPortMemoryDelta); + + /* Lock the buffer. */ + CaptureBuffer->BufferEnd = NULL; + + /* + * Each client pointer inside the CSR message is converted into + * a server pointer, and each pointer to these message pointers + * is converted into an offset. + */ + PointerCount = CaptureBuffer->PointerCount; + OffsetPointer = CaptureBuffer->PointerOffsetsArray; + while (PointerCount--) + { + if (*OffsetPointer != 0) + { + *(PULONG_PTR)*OffsetPointer += CsrPortMemoryDelta; + *OffsetPointer -= (ULONG_PTR)ApiMessage; + } + ++OffsetPointer; + } + } +#endif + + UserLeaveCo(); + + /* Send the LPC Message */ + + // The wait logic below is subject to change in the future. One can + // imagine adding an external parameter to CsrClientCallServer, or write + // two versions of CsrClientCallServer, synchronous and asynchronous. + if (PsGetCurrentProcess() == gpepCSRSS) + { + Status = LpcRequestPort(CsrApiPort, + &ApiMessage->Header); + } + else + { + Status = LpcRequestWaitReplyPort(CsrApiPort, + &ApiMessage->Header, + &ApiMessage->Header); + } + + UserEnterCo(); + +#if 0 + /* Check if we got a Capture Buffer */ + if (CaptureBuffer) + { + /* + * We have to convert back from the remote (server) view + * to our local (client) view. + */ + ApiMessage->CsrCaptureData = (PCSR_CAPTURE_BUFFER) + ((ULONG_PTR)ApiMessage->CsrCaptureData - CsrPortMemoryDelta); + + /* + * Convert back the offsets into pointers to CSR message + * pointers, and convert back these message server pointers + * into client pointers. + */ + PointerCount = CaptureBuffer->PointerCount; + OffsetPointer = CaptureBuffer->PointerOffsetsArray; + while (PointerCount--) + { + if (*OffsetPointer != 0) + { + *OffsetPointer += (ULONG_PTR)ApiMessage; + *(PULONG_PTR)*OffsetPointer -= CsrPortMemoryDelta; + } + ++OffsetPointer; + } + } +#endif + + /* Check for success */ + if (!NT_SUCCESS(Status)) + { + /* We failed. Overwrite the return value with the failure. */ + ERR("LPC Failed: %lx\n", Status); + ApiMessage->Status = Status; + } + + /* Return the CSR Result */ + TRACE("Got back: 0x%lx\n", ApiMessage->Status); + return ApiMessage->Status; } /* EOF */ Modified: trunk/reactos/win32ss/user/ntuser/csr.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/csr.h?…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/csr.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/csr.h [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -1,16 +1,35 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS Win32k subsystem - * PURPOSE: Interface to CSRSS / USERSRV + * PURPOSE: Interface between Win32k and USERSRV * FILE: subsystems/win32/win32k/ntuser/csr.h - * PROGRAMER: Ge van Geldorp (ge(a)gse.nl) + * PROGRAMER: Hermes Belusca-Maito (hermes.belusca(a)sfr.fr), based on + * the original code by Ge van Geldorp (ge(a)gse.nl) and by + * the CSR code in NTDLL. */ #pragma once -extern PEPROCESS CsrProcess; +/* NDK Headers */ +#include <ndk/lpcfuncs.h> -NTSTATUS FASTCALL CsrInit(void); -NTSTATUS FASTCALL co_CsrNotify(PCSR_API_MESSAGE Request); +/* CSRSS Header */ +#include <csr/csr.h> +#include <win/winmsg.h> + +extern PEPROCESS gpepCSRSS; +extern PVOID CsrApiPort; + +VOID InitCsrProcess(VOID /*IN PEPROCESS CsrProcess*/); +VOID ResetCsrProcess(VOID); +NTSTATUS InitCsrApiPort(IN HANDLE CsrPortHandle); +VOID ResetCsrApiPort(VOID); + +NTSTATUS +NTAPI +CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage, + IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL, + IN CSR_API_NUMBER ApiNumber, + IN ULONG DataLength); /* EOF */ Modified: trunk/reactos/win32ss/user/ntuser/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/main.c…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/main.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/main.c [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -724,18 +724,30 @@ return Status; } + +VOID NTAPI +DriverUnload(IN PDRIVER_OBJECT DriverObject) +{ + // TODO: Do more cleanup! + + ResetCsrApiPort(); + ResetCsrProcess(); +} + #ifdef _M_IX86 C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE); #endif // Return on failure #define NT_ROF(x) \ +{ \ Status = (x); \ if (!NT_SUCCESS(Status)) \ { \ DPRINT1("Failed '%s' (0x%lx)\n", #x, Status); \ return Status; \ - } + } \ +} /* * This definition doesn't work @@ -744,8 +756,8 @@ NTSTATUS APIENTRY DriverEntry( - IN PDRIVER_OBJECT DriverObject, - IN PUNICODE_STRING RegistryPath) + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPath) { NTSTATUS Status; BOOLEAN Result; @@ -768,7 +780,9 @@ } hModuleWin = MmPageEntireDriver(DriverEntry); - DPRINT("Win32k hInstance 0x%p!\n",hModuleWin); + DPRINT("Win32k hInstance 0x%p!\n", hModuleWin); + + DriverObject->DriverUnload = DriverUnload; /* Register Object Manager Callbacks */ CalloutData.ProcessCallout = Win32kProcessCallback; Modified: trunk/reactos/win32ss/user/ntuser/ntstubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/ntstub…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/ntstubs.c [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -939,9 +939,13 @@ case UserThreadCsrApiPort: { ERR("Set CSR API Port for Win32k\n"); - STUB; - // Return success to make usersrv happy. - Status = STATUS_SUCCESS; + + if (ThreadInformationLength != sizeof(HANDLE)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + break; + } + Status = InitCsrApiPort(*(PHANDLE)ThreadInformation); break; } Modified: trunk/reactos/win32ss/user/ntuser/ntuser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/ntuser…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/ntuser.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/ntuser.c [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -19,7 +19,6 @@ ATOM AtomFlashWndState; // Window Flash State atom. HINSTANCE hModClient = NULL; BOOL ClientPfnInit = FALSE; -PEPROCESS gpepCSRSS = NULL; ATOM gaGuiConsoleWndClass; /* PRIVATE FUNCTIONS *********************************************************/ @@ -175,7 +174,7 @@ UserEnterExclusive(); /* Save the EPROCESS of CSRSS */ - gpepCSRSS = PsGetCurrentProcess(); + InitCsrProcess(/*PsGetCurrentProcess()*/); // Initialize Power Request List (use hPowerRequestEvent). // Initialize Media Change (use hMediaRequestEvent). Modified: trunk/reactos/win32ss/user/ntuser/ntuser.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/ntuser…
============================================================================== --- trunk/reactos/win32ss/user/ntuser/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/ntuser.h [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -14,7 +14,6 @@ extern PPROCESSINFO gppiList; extern PPROCESSINFO ppiScrnSaver; extern PPROCESSINFO gppiInputProvider; -extern PEPROCESS gpepCSRSS; extern ATOM gaGuiConsoleWndClass; INIT_FUNCTION NTSTATUS NTAPI InitUserImpl(VOID); Modified: trunk/reactos/win32ss/win32kp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/win32kp.h?rev=6581…
============================================================================== --- trunk/reactos/win32ss/win32kp.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/win32kp.h [iso-8859-1] Tue Dec 23 21:17:24 2014 @@ -26,7 +26,10 @@ #define DBG_ENABLE_EVENT_LOGGING 0 #define DBG_ENABLE_SERVICE_HOOKS 0 -/* Misc headers */ +/* CSRSS Interface */ +#include "user/ntuser/csr.h" + +/* Misc headers */ #include "user/ntuser/win32kdebug.h" #include "user/ntuser/mmcopy.h" #include "user/ntuser/tags.h"
10 years
1
0
0
0
← Newer
1
...
8
9
10
11
12
13
14
...
39
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Results per page:
10
25
50
100
200